summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-07-10 17:58:22 +0200
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2012-07-11 20:30:44 +0200
commitb20de7abaa503876d08e395454d8ee96b3f145b8 (patch)
treef92b27b7ecd0453ce02e3549b1e9838b8fd385ae
parent6cb5b239545f0c9ac2403badc74fe5ccd362024b (diff)
dvbsuboverlay: ensure minimum page time out of 1 second
... 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
-rw-r--r--gst/dvbsuboverlay/gstdvbsuboverlay.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gst/dvbsuboverlay/gstdvbsuboverlay.c b/gst/dvbsuboverlay/gstdvbsuboverlay.c
index bfacb14f0..3a8d47de1 100644
--- a/gst/dvbsuboverlay/gstdvbsuboverlay.c
+++ b/gst/dvbsuboverlay/gstdvbsuboverlay.c
@@ -761,6 +761,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;