diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2005-09-21 17:50:29 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2005-09-21 17:50:29 +0000 |
commit | a297069e16a54bc5dc63ec903ec919b7f16bd632 (patch) | |
tree | 968aa948bf68a58f1a024b768baaeca1a8664989 /gst/rtp/gstrtpmp4vpay.c | |
parent | 9dd3929730bc3e2656eabfd8a8edfc7a61bb0176 (diff) |
gst/rtp/gstrtpamrdec.c: Handle multiple AMr packets per payload. Handle CRC and parse ILL/ILP.
Original commit message from CVS:
* gst/rtp/gstrtpamrdec.c: (gst_rtpamrdec_sink_setcaps),
(gst_rtpamrdec_chain):
Handle multiple AMr packets per payload. Handle CRC and
parse ILL/ILP.
* gst/rtp/gstrtpamrenc.c: (gst_rtpamrenc_setcaps):
Make caps params strings for easy SDP mapping.
* gst/rtp/gstrtpdec.c: (gst_rtpdec_init), (gst_rtpdec_getcaps):
Handle capsnego better.
* gst/rtp/gstrtpmp4vdec.c: (gst_rtpmp4vdec_setcaps):
* gst/rtp/gstrtpmp4venc.c: (gst_rtpmp4venc_new_caps):
Generate and parse config string in the caps.
Diffstat (limited to 'gst/rtp/gstrtpmp4vpay.c')
-rw-r--r-- | gst/rtp/gstrtpmp4vpay.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/gst/rtp/gstrtpmp4vpay.c b/gst/rtp/gstrtpmp4vpay.c index d9de14c0..5a5de12a 100644 --- a/gst/rtp/gstrtpmp4vpay.c +++ b/gst/rtp/gstrtpmp4vpay.c @@ -45,11 +45,11 @@ GST_STATIC_PAD_TEMPLATE ("src", GST_STATIC_CAPS ("application/x-rtp, " "media = (string) \"video\", " "payload = (int) [ 96, 255 ], " - "clock-rate = (int) [1, MAX ], " - "encoding-name = (string) \"MP4V-ES\", " "profile-level-id=[1,MAX]" - /* All optional parameters + "clock-rate = (int) [1, MAX ], " "encoding-name = (string) \"MP4V-ES\"" + /* two string params * - * "config=" + "profile-level-id = (string) [1,MAX]" + "config = (string) [1,MAX]" */ ) ); @@ -148,9 +148,22 @@ gst_rtpmp4venc_finalize (GObject * object) static void gst_rtpmp4venc_new_caps (GstRtpMP4VEnc * rtpmp4venc) { + gchar *profile, *config; + GValue v = { 0 }; + + profile = g_strdup_printf ("%d", rtpmp4venc->profile); + g_value_init (&v, GST_TYPE_BUFFER); + gst_value_set_buffer (&v, rtpmp4venc->config); + config = gst_value_serialize (&v); + gst_basertppayload_set_outcaps (GST_BASE_RTP_PAYLOAD (rtpmp4venc), - "profile-level-id", G_TYPE_INT, rtpmp4venc->profile, - "config", GST_TYPE_BUFFER, rtpmp4venc->config, NULL); + "profile-level-id", G_TYPE_STRING, profile, + "config", G_TYPE_STRING, config, NULL); + + g_value_unset (&v); + + g_free (profile); + g_free (config); } static gboolean |