dvbsuboverlay: ensure minimum page time out of 1 second
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Tue, 10 Jul 2012 15:58:22 +0000 (17:58 +0200)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 11 Jul 2012 18:43:43 +0000 (20:43 +0200)
... to compensate for some bogus subtitle with a 0 timeout, which would
result in only being shown for a very unreadable amount of time.

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

gst/dvbsuboverlay/gstdvbsuboverlay.c

index dd595c7..6ea7fa6 100644 (file)
@@ -764,6 +764,13 @@ new_dvb_subtitles_cb (DvbSub * dvb_sub, DVBSubtitles * subs, gpointer user_data)
       subs->page_time_out, subs->num_rects, subs->pts,
       GST_TIME_ARGS (subs->pts));
 
+  /* spec says page_time_out is not to be taken very accurately anyway,
+   * and 0 does not make useful sense anyway */
+  if (!subs->page_time_out) {
+    GST_WARNING_OBJECT (overlay, "overriding page_time_out 0");
+    subs->page_time_out = 1;
+  }
+
   /* clip and convert to running time */
   start = subs->pts;
   stop = subs->pts + subs->page_time_out;