From dde38254055f220c228386eb3bf6f5e67b1d6313 Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Mon, 14 Jun 2010 11:46:32 +0200 Subject: [PATCH] rtph264depay: also consider AU and SEI NALUs as DELTA_UNIT Fixes #620154. --- gst/rtp/gstrtph264depay.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gst/rtp/gstrtph264depay.c b/gst/rtp/gstrtph264depay.c index a50141bed4..8bc93fa1b3 100644 --- a/gst/rtp/gstrtph264depay.c +++ b/gst/rtp/gstrtph264depay.c @@ -412,8 +412,10 @@ gst_rtp_h264_depay_mark_delta (GstRtpH264Depay * rtph264depay, GstBuffer * nal) nal_unit_type = (GST_BUFFER_DATA (nal))[4] & 0x1f; GST_DEBUG_OBJECT (rtph264depay, "type %d", nal_unit_type); - /* non-IDR VCL layer NAL considered DELTA */ - if (nal_unit_type >= 1 && nal_unit_type <= 4) { + /* non-IDR VCL layer NAL considered DELTA, also AU and SEI; + * so downstream waiting for keyframe can pick up at SPS/PPS/IDR */ + if ((nal_unit_type >= 1 && nal_unit_type <= 4) || + (nal_unit_type == 6) || (nal_unit_type == 9)) { GST_BUFFER_FLAG_SET (nal, GST_BUFFER_FLAG_DELTA_UNIT); res = TRUE; } else {