gst/rtp/gstrtpamrdepay.c: Patch from Sebastien Cote, fixes #319884

Original commit message from CVS:
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_chain):
Patch from Sebastien Cote, fixes #319884
This commit is contained in:
Wim Taymans 2006-02-17 15:37:38 +00:00
parent 732b9fe817
commit b0d0113b8e
2 changed files with 8 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2006-02-17 Wim Taymans <wim@fluendo.com>
* gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_chain):
Patch from Sebastien Cote, fixes #319884
2006-02-17 Tim-Philipp Müller <tim at centricular dot net>
* ext/cdio/gstcdio.c: (plugin_init):

View file

@ -366,13 +366,6 @@ gst_rtp_amr_depay_chain (GstPad * pad, GstBuffer * buf)
break;
}
/* this is impossible */
if (num_packets == payload_len) {
GST_ELEMENT_WARNING (rtpamrdepay, STREAM, DECODE,
(NULL), ("AMR RTP num_packets == payload_len"));
goto bad_packet;
}
if (rtpamrdepay->crc) {
/* data len + CRC len + header bytes should be smaller than payload_len */
if (num_packets + num_nonempty_packets + amr_len > payload_len) {
@ -407,10 +400,11 @@ gst_rtp_amr_depay_chain (GstPad * pad, GstBuffer * buf)
for (i = 0; i < num_packets; i++) {
gint fr_size;
/* copy FT, clear F bit */
*p++ = payload[i] & 0x7f;
fr_size = frame_size[(payload[i] & 0x78) >> 3];
if (fr_size > 0) {
/* copy FT, clear F bit */
*p++ = payload[i] & 0x7f;
/* copy data packet, FIXME, calc CRC here. */
memcpy (p, dp, fr_size);