From bb7773b40a7b7bf496d489e0d6bb662626228b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 9 Jun 2010 16:38:34 +0200 Subject: [PATCH] oggdemux: Update the total time from the Skeleton 4 indexes Fixes bug #620939, see bug #607945. --- ext/ogg/gstoggdemux.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ext/ogg/gstoggdemux.c b/ext/ogg/gstoggdemux.c index 90a6958109..2d77a9cd40 100644 --- a/ext/ogg/gstoggdemux.c +++ b/ext/ogg/gstoggdemux.c @@ -768,6 +768,13 @@ gst_ogg_pad_submit_packet (GstOggPad * pad, ogg_packet * packet) case GST_OGG_SKELETON_INDEX: gst_ogg_map_add_index (&skel_pad->map, &pad->map, packet->packet, packet->bytes); + + /* use total time to update the total ogg time */ + if (ogg->total_time == -1) { + ogg->total_time = skel_pad->map.total_time; + } else if (skel_pad->map.total_time > 0) { + ogg->total_time = MAX (ogg->total_time, skel_pad->map.total_time); + } break; default: break;