From: Wim Taymans Date: Sun, 31 Mar 2013 16:54:46 +0000 (+0200) Subject: oggdemux: mark keyframes X-Git-Tag: 1.19.3~511^2~5482 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=564f720c40428e755d0d089b3bb9503d7af93e69;p=platform%2Fupstream%2Fgstreamer.git oggdemux: mark keyframes Use the mapper to set the delta-unit flag. --- diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 162cfc5..7c0bf6e 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -538,9 +538,11 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet, } offset = 0; trim = 0; + delta_unit = !gst_ogg_stream_packet_is_key_frame (&pad->map, packet); } else { offset = 0; trim = 0; + delta_unit = !gst_ogg_stream_packet_is_key_frame (&pad->map, packet); } /* get timing info for the packet */ @@ -576,7 +578,7 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet, pad->current_granule); } else if (ogg->segment.rate > 0.0 && pad->current_granule != -1) { pad->current_granule += duration; - if (gst_ogg_stream_packet_is_key_frame (&pad->map, packet)) { + if (!delta_unit) { pad->keyframe_granule = pad->current_granule; } GST_DEBUG_OBJECT (ogg, "interpolating granule %" G_GUINT64_FORMAT,