mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
gst/rtp/gstrtpilbcpay.c: Set the encoding-name in the rtp caps to all uppercase, as required by the caps spec.
Original commit message from CVS: Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com> * gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_setcaps): Set the encoding-name in the rtp caps to all uppercase, as required by the caps spec. Some small cleanups in the error paths. Fixes #453037.
This commit is contained in:
parent
6f765c5f1d
commit
f925b3151e
2 changed files with 39 additions and 16 deletions
|
@ -1,3 +1,12 @@
|
|||
2007-07-03 Wim Taymans,,, <set EMAIL_ADDRESS environment variable>
|
||||
|
||||
Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
|
||||
|
||||
* gst/rtp/gstrtpilbcpay.c: (gst_rtpilbcpay_setcaps):
|
||||
Set the encoding-name in the rtp caps to all uppercase, as required by
|
||||
the caps spec.
|
||||
Some small cleanups in the error paths. Fixes #453037.
|
||||
|
||||
2007-06-28 Sebastian Dröge <slomo@circular-chaos.org>
|
||||
|
||||
* ext/wavpack/gstwavpackparse.c:
|
||||
|
|
|
@ -125,32 +125,46 @@ gst_rtpilbcpay_setcaps (GstBaseRTPPayload * basertppayload, GstCaps * caps)
|
|||
structure = gst_caps_get_structure (caps, 0);
|
||||
|
||||
gst_structure_get_int (structure, "mode", &mode);
|
||||
if (mode != 20 && mode != 30) {
|
||||
return FALSE;
|
||||
}
|
||||
if (mode != 20 && mode != 30)
|
||||
goto wrong_mode;
|
||||
|
||||
payload_name = gst_structure_get_name (structure);
|
||||
if (g_strcasecmp ("audio/x-iLBC", payload_name) == 0) {
|
||||
gst_basertppayload_set_options (basertppayload, "audio", TRUE, "iLBC",
|
||||
8000);
|
||||
/* set options for this frame based audio codec */
|
||||
gst_base_rtp_audio_payload_set_frame_options (basertpaudiopayload,
|
||||
mode, mode == 30 ? 50 : 38);
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
if (g_strcasecmp ("audio/x-iLBC", payload_name))
|
||||
goto wrong_caps;
|
||||
|
||||
gst_basertppayload_set_options (basertppayload, "audio", TRUE, "ILBC", 8000);
|
||||
/* set options for this frame based audio codec */
|
||||
gst_base_rtp_audio_payload_set_frame_options (basertpaudiopayload,
|
||||
mode, mode == 30 ? 50 : 38);
|
||||
|
||||
ret =
|
||||
gst_basertppayload_set_outcaps (basertppayload, "mode", G_TYPE_INT, mode,
|
||||
NULL);
|
||||
if (mode != rtpilbcpay->mode && rtpilbcpay->mode != -1) {
|
||||
if (mode != rtpilbcpay->mode && rtpilbcpay->mode != -1)
|
||||
goto mode_changed;
|
||||
|
||||
rtpilbcpay->mode = mode;
|
||||
|
||||
return ret;
|
||||
|
||||
/* ERRORS */
|
||||
wrong_mode:
|
||||
{
|
||||
GST_ERROR_OBJECT (rtpilbcpay, "mode must be 20 or 30, received %d", mode);
|
||||
return FALSE;
|
||||
}
|
||||
wrong_caps:
|
||||
{
|
||||
GST_ERROR_OBJECT (rtpilbcpay, "expected audio/x-iLBC, received %s",
|
||||
payload_name);
|
||||
return FALSE;
|
||||
}
|
||||
mode_changed:
|
||||
{
|
||||
GST_ERROR_OBJECT (rtpilbcpay, "Mode has changed from %d to %d! "
|
||||
"Mode cannot change while streaming", rtpilbcpay->mode, mode);
|
||||
return FALSE;
|
||||
}
|
||||
rtpilbcpay->mode = mode;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
gboolean
|
||||
|
|
Loading…
Reference in a new issue