oggdemux: Only track time for initialized streams
authorEdward Hervey <bilboed@bilboed.com>
Wed, 1 Nov 2017 17:26:20 +0000 (18:26 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 1 Nov 2017 17:39:26 +0000 (18:39 +0100)
in push-mode we only can track time (or most operations on streams
for that matter) if the underlying GstOggMap was properly initialized.

ext/ogg/gstoggdemux.c

index be44cf5..5685456 100644 (file)
@@ -1652,7 +1652,7 @@ gst_ogg_pad_handle_push_mode_state (GstOggPad * pad, ogg_page * page)
   ogg_int64_t granpos = ogg_page_granulepos (page);
 
   GST_PUSH_LOCK (ogg);
-  if (granpos >= 0) {
+  if (granpos >= 0 && pad->have_type) {
     if (ogg->push_start_time == GST_CLOCK_TIME_NONE) {
       ogg->push_start_time =
           gst_ogg_stream_get_start_time_for_granulepos (&pad->map, granpos);