oggdemux: survive skeleton finding length behind our backs in push mode
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Tue, 18 Oct 2011 16:58:49 +0000 (17:58 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 7 Nov 2011 12:20:16 +0000 (12:20 +0000)
In push mode, we determine duration by doing a seek to the end of the
stream. However, a skeleton stream with an index will cause the duration
to be known already, and we end up never setting the push_time_duration
variable which we use to know duration has been determined.

https://bugzilla.gnome.org/show_bug.cgi?id=662049

ext/ogg/gstoggdemux.c

index f739df0..998efb9 100644 (file)
@@ -1294,6 +1294,7 @@ gst_ogg_pad_handle_push_mode_state (GstOggPad * pad, ogg_page * page)
         GstFlowReturn res;
 
         /* tell the pipeline we've just found out the duration */
+        ogg->push_time_length = ogg->total_time;
         GST_INFO_OBJECT (ogg, "New duration found: %" GST_TIME_FORMAT,
             GST_TIME_ARGS (ogg->total_time));
         message =