From 9f75afd5fde595319679d116edbc4fea6a215d0b Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 26 Nov 2007 12:01:11 +0000 Subject: 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 --- ChangeLog | 7 +++++++ gst/rtp/gstrtph263depay.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 14d8925a..52f15362 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2007-11-26 Edward Hervey + + * 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 * gst/level/gstlevel.c: diff --git a/gst/rtp/gstrtph263depay.c b/gst/rtp/gstrtph263depay.c index 58ee0e20..4e320a13 100644 --- a/gst/rtp/gstrtph263depay.c +++ b/gst/rtp/gstrtph263depay.c @@ -188,6 +188,7 @@ gst_rtp_h263_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf) guint header_len; gboolean F, P, M; + gboolean I = FALSE; payload_len = gst_rtp_buffer_get_payload_len (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 | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ */ + I = (payload[1] & 0x10) == 0x10; } else if (P == 0) { /* F == 1 and P == 0 * mode B */ @@ -268,6 +270,9 @@ gst_rtp_h263_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf) } memcpy (GST_BUFFER_DATA (outbuf) + avail, payload, payload_len); + if (I) + GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_DELTA_UNIT); + return outbuf; } else { -- cgit