gst/rtp/gstrtph263depay.c: Read the I flag for Mode A h263 rtp stream and set the

Original commit message from CVS:
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_process):
Read the I flag for Mode A h263 rtp stream and set the
GST_BUFFER_FLAG_DELTA_UNIT accordingly.
Fixes #499383
This commit is contained in:
Edward Hervey 2007-11-26 12:01:11 +00:00
parent 48a4bc909a
commit 9f75afd5fd
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2007-11-26 Edward Hervey <bilboed@bilboed.com>
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_process):
Read the I flag for Mode A h263 rtp stream and set the
GST_BUFFER_FLAG_DELTA_UNIT accordingly.
Fixes #499383
2007-11-26 Stefan Kost <ensonic@users.sf.net> 2007-11-26 Stefan Kost <ensonic@users.sf.net>
* gst/level/gstlevel.c: * gst/level/gstlevel.c:

View file

@ -188,6 +188,7 @@ gst_rtp_h263_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
guint header_len; guint header_len;
gboolean F, P, M; gboolean F, P, M;
gboolean I = FALSE;
payload_len = gst_rtp_buffer_get_payload_len (buf); payload_len = gst_rtp_buffer_get_payload_len (buf);
payload = gst_rtp_buffer_get_payload (buf); payload = gst_rtp_buffer_get_payload (buf);
@ -209,6 +210,7 @@ gst_rtp_h263_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
* |F|P|SBIT |EBIT | SRC |I|U|S|A|R |DBQ| TRB | TR | * |F|P|SBIT |EBIT | SRC |I|U|S|A|R |DBQ| TRB | TR |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
*/ */
I = (payload[1] & 0x10) == 0x10;
} else if (P == 0) { } else if (P == 0) {
/* F == 1 and P == 0 /* F == 1 and P == 0
* mode B */ * mode B */
@ -268,6 +270,9 @@ gst_rtp_h263_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf)
} }
memcpy (GST_BUFFER_DATA (outbuf) + avail, payload, payload_len); memcpy (GST_BUFFER_DATA (outbuf) + avail, payload, payload_len);
if (I)
GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT);
return outbuf; return outbuf;
} else { } else {