diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2007-03-29 14:40:35 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2007-03-29 14:40:35 +0000 |
commit | a87260cb3bcf022486875648b72a0ef37d2b0a7f (patch) | |
tree | 27b2bfbb3571e06c2bb92052d8c8f2616086253b /gst/rtp/gstrtpmp4gdepay.c | |
parent | da3e23d3758e7c5b38b27c4894f1f0845e5231e9 (diff) |
gst/rtp/: Flush adapter on disconts.
Original commit message from CVS:
* gst/rtp/gstasteriskh263.h:
* gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_process),
(gst_rtp_h263p_depay_change_state):
* gst/rtp/gstrtph263pdepay.h:
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process),
(gst_rtp_h264_depay_change_state):
* gst/rtp/gstrtph264depay.h:
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_class_init),
(gst_rtp_mp4a_depay_setcaps), (gst_rtp_mp4a_depay_process):
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process):
Flush adapter on disconts.
Diffstat (limited to 'gst/rtp/gstrtpmp4gdepay.c')
-rw-r--r-- | gst/rtp/gstrtpmp4gdepay.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rtp/gstrtpmp4gdepay.c b/gst/rtp/gstrtpmp4gdepay.c index 3483a6d6..403412b5 100644 --- a/gst/rtp/gstrtpmp4gdepay.c +++ b/gst/rtp/gstrtpmp4gdepay.c @@ -275,6 +275,11 @@ gst_rtp_mp4g_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf) if (!gst_rtp_buffer_validate (buf)) goto bad_packet; + /* flush remaining data on discont */ + if (GST_BUFFER_IS_DISCONT (buf)) { + gst_adapter_clear (rtpmp4gdepay->adapter); + } + { gint payload_len, payload_header; guint8 *payload; |