if (gst_structure_get_int (structure, "channels", &channels)) {
gst_caps_set_simple (caps, "channels", G_TYPE_INT, channels, NULL);
} else if (gst_structure_get_int (structure, "payload", &pt)) {
- if (pt == 10)
+ if (pt == GST_RTP_PAYLOAD_L16_STEREO)
gst_caps_set_simple (caps, "channels", G_TYPE_INT, 2, NULL);
- else if (pt == 11)
+ else if (pt == GST_RTP_PAYLOAD_L16_MONO)
gst_caps_set_simple (caps, "channels", G_TYPE_INT, 1, NULL);
}
if (gst_structure_get_int (structure, "clock-rate", &rate)) {
gst_caps_set_simple (caps, "rate", G_TYPE_INT, rate, NULL);
} else if (gst_structure_get_int (structure, "payload", &pt)) {
- if (pt == 10 || pt == 11)
+ if (pt == GST_RTP_PAYLOAD_L16_STEREO || pt == GST_RTP_PAYLOAD_L16_MONO)
gst_caps_set_simple (caps, "rate", G_TYPE_INT, 44100, NULL);
}
);
static GstStaticPadTemplate gst_rtp_g722_pay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
+ GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp, "
"media = (string) \"audio\", "
"encoding-name = (string) \"G722\", "
"payload = (int) " GST_RTP_PAYLOAD_G722_STRING ", "
+ "clock-rate = (int) 8000; "
+ "application/x-rtp, "
+ "media = (string) \"audio\", "
+ "encoding-name = (string) \"G722\", "
+ "payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ", "
"clock-rate = (int) 8000")
);
rtpbaseaudiopayload = GST_RTP_BASE_AUDIO_PAYLOAD (rtpg722pay);
+ GST_RTP_BASE_PAYLOAD (rtpg722pay)->pt = GST_RTP_PAYLOAD_G722;
+
/* tell rtpbaseaudiopayload that this is a sample based codec */
gst_rtp_base_audio_payload_set_sample_based (rtpbaseaudiopayload);
}
* RFC 3551 although the sampling rate is 16000 Hz */
clock_rate = 8000;
- gst_rtp_base_payload_set_options (basepayload, "audio", TRUE, "G722",
- clock_rate);
+ gst_rtp_base_payload_set_options (basepayload, "audio",
+ basepayload->pt != GST_RTP_PAYLOAD_G722, "G722", clock_rate);
params = g_strdup_printf ("%d", channels);
#if 0
#include "gstrtpg723pay.h"
-#define GST_RTP_PAYLOAD_G723 4
-#define GST_RTP_PAYLOAD_G723_STRING "4"
-
#define G723_FRAME_DURATION (30 * GST_MSECOND)
static gboolean gst_rtp_g723_pay_set_caps (GstRTPBasePayload * payload,
pay->adapter = gst_adapter_new ();
payload->pt = GST_RTP_PAYLOAD_G723;
- gst_rtp_base_payload_set_options (payload, "audio", FALSE, "G723", 8000);
}
static void
gst_rtp_g723_pay_set_caps (GstRTPBasePayload * payload, GstCaps * caps)
{
gboolean res;
- GstStructure *structure;
- gint pt;
-
- structure = gst_caps_get_structure (caps, 0);
- if (!gst_structure_get_int (structure, "payload", &pt))
- pt = GST_RTP_PAYLOAD_G723;
-
- payload->pt = pt;
- payload->dynamic = pt != GST_RTP_PAYLOAD_G723;
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_G723, "G723", 8000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
GstRTPBasePayload *payload = GST_RTP_BASE_PAYLOAD (pay);
payload->pt = GST_RTP_PAYLOAD_G729;
- gst_rtp_base_payload_set_options (payload, "audio", FALSE, "G729", 8000);
pay->adapter = gst_adapter_new ();
}
gst_rtp_g729_pay_set_caps (GstRTPBasePayload * payload, GstCaps * caps)
{
gboolean res;
- GstStructure *structure;
- gint pt;
- structure = gst_caps_get_structure (caps, 0);
- if (!gst_structure_get_int (structure, "payload", &pt))
- pt = GST_RTP_PAYLOAD_G729;
-
- payload->pt = pt;
- payload->dynamic = pt != GST_RTP_PAYLOAD_G729;
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_G729, "G729", 8000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
if (strcmp ("audio/x-gsm", stname))
goto invalid_type;
- gst_rtp_base_payload_set_options (payload, "audio", FALSE, "GSM", 8000);
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_GSM, "GSM", 8000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
{
gboolean res;
- gst_rtp_base_payload_set_options (payload, "video", TRUE, "H261", 90000);
+ gst_rtp_base_payload_set_options (payload, "video",
+ payload->pt != GST_RTP_PAYLOAD_H261, "H261", 90000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
static void
gst_rtp_h263_pay_init (GstRtpH263Pay * rtph263pay)
{
+ GST_RTP_BASE_PAYLOAD_PT (rtph263pay) = GST_RTP_PAYLOAD_H263;
rtph263pay->prop_payload_mode = DEFAULT_MODE_A;
}
framesize = g_strdup_printf ("%d-%d", width, height);
}
- payload->pt = GST_RTP_PAYLOAD_H263;
- gst_rtp_base_payload_set_options (payload, "video", TRUE, "H263", 90000);
+ gst_rtp_base_payload_set_options (payload, "video",
+ payload->pt != GST_RTP_PAYLOAD_H263, "H263", 90000);
if (framesize != NULL) {
res = gst_rtp_base_payload_set_outcaps (payload,
);
static GstStaticPadTemplate gst_rtp_jpeg_pay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
+ GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp, "
" media = (string) \"video\", "
- " payload = (int) 26 , "
+ " payload = (int) " GST_RTP_PAYLOAD_JPEG_STRING ", "
+ " clock-rate = (int) 90000, "
+ " encoding-name = (string) \"JPEG\", "
+ " width = (int) [ 1, 65536 ], " " height = (int) [ 1, 65536 ]; "
+ " application/x-rtp, "
+ " media = (string) \"video\", "
+ " payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ", "
" clock-rate = (int) 90000, "
" encoding-name = (string) \"JPEG\", "
" width = (int) [ 1, 65536 ], " " height = (int) [ 1, 65536 ]")
pay->type = DEFAULT_JPEG_TYPE;
pay->width = -1;
pay->height = -1;
+
+ GST_RTP_BASE_PAYLOAD_PT (pay) = GST_RTP_PAYLOAD_JPEG;
}
static gboolean
pay->width = GST_ROUND_UP_8 (width) / 8;
}
- gst_rtp_base_payload_set_options (basepayload, "video", TRUE, "JPEG", 90000);
+ gst_rtp_base_payload_set_options (basepayload, "video",
+ basepayload->pt != GST_RTP_PAYLOAD_JPEG, "JPEG", 90000);
if (num > 0) {
gdouble framerate;
{
gboolean res;
- gst_rtp_base_payload_set_options (payload, "video", TRUE, "MP2T", 90000);
+ gst_rtp_base_payload_set_options (payload, "video",
+ payload->pt != GST_RTP_PAYLOAD_MP2T, "MP2T", 90000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
gst_rtp_mpa_pay_init (GstRtpMPAPay * rtpmpapay)
{
rtpmpapay->adapter = gst_adapter_new ();
+
+ GST_RTP_BASE_PAYLOAD (rtpmpapay)->pt = GST_RTP_PAYLOAD_MPA;
}
static void
{
gboolean res;
- gst_rtp_base_payload_set_options (payload, "audio", TRUE, "MPA", 90000);
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_MPA, "MPA", 90000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
);
static GstStaticPadTemplate gst_rtp_mpv_pay_src_template =
-GST_STATIC_PAD_TEMPLATE ("src",
+ GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
GST_STATIC_CAPS ("application/x-rtp, "
"media = (string) \"video\", "
"payload = (int) " GST_RTP_PAYLOAD_MPV_STRING ", "
+ "clock-rate = (int) 90000, " "encoding-name = (string) \"MPV\"; "
+ "application/x-rtp, "
+ "media = (string) \"video\", "
+ "payload = (int) " GST_RTP_PAYLOAD_DYNAMIC_STRING ", "
"clock-rate = (int) 90000, " "encoding-name = (string) \"MPV\"")
);
static gboolean
gst_rtp_mpv_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps)
{
- gst_rtp_base_payload_set_options (payload, "video", FALSE, "MPV", 90000);
+ gst_rtp_base_payload_set_options (payload, "video",
+ payload->pt != GST_RTP_PAYLOAD_MPV, "MPV", 90000);
return gst_rtp_base_payload_set_outcaps (payload, NULL);
}
rtpbaseaudiopayload = GST_RTP_BASE_AUDIO_PAYLOAD (rtppcmapay);
+ GST_RTP_BASE_PAYLOAD (rtppcmapay)->pt = GST_RTP_PAYLOAD_PCMA;
GST_RTP_BASE_PAYLOAD (rtppcmapay)->clock_rate = 8000;
/* tell rtpbaseaudiopayload that this is a sample based codec */
{
gboolean res;
- payload->pt = GST_RTP_PAYLOAD_PCMA;
-
- gst_rtp_base_payload_set_options (payload, "audio", FALSE, "PCMA", 8000);
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_PCMA, "PCMA", 8000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;
rtpbaseaudiopayload = GST_RTP_BASE_AUDIO_PAYLOAD (rtppcmupay);
+ GST_RTP_BASE_PAYLOAD (rtppcmupay)->pt = GST_RTP_PAYLOAD_PCMU;
GST_RTP_BASE_PAYLOAD (rtppcmupay)->clock_rate = 8000;
/* tell rtpbaseaudiopayload that this is a sample based codec */
{
gboolean res;
- payload->pt = GST_RTP_PAYLOAD_PCMU;
-
- gst_rtp_base_payload_set_options (payload, "audio", FALSE, "PCMU", 8000);
+ gst_rtp_base_payload_set_options (payload, "audio",
+ payload->pt != GST_RTP_PAYLOAD_PCMU, "PCMU", 8000);
res = gst_rtp_base_payload_set_outcaps (payload, NULL);
return res;