From 123953d42943dc2a5e91a9014ff7ad41690ab804 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 21 Jul 2014 14:42:47 +0200 Subject: [PATCH] hlsdemux: No need to have a I-Frame list to do trick modes It just works cleanly without any index and there is no real reason for that limitation. Also, there are very few stream with that feature. https://bugzilla.gnome.org/show_bug.cgi?id=734445 --- ext/hls/gsthlsdemux.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c index 2f35d26ca6..8345f58d05 100644 --- a/ext/hls/gsthlsdemux.c +++ b/ext/hls/gsthlsdemux.c @@ -430,14 +430,6 @@ gst_hls_demux_src_event (GstPad * pad, GstObject * parent, GstEvent * event) return FALSE; } - if ((rate > 1.0 || rate < -1.0) && (!demux->client->main - || !demux->client->main->iframe_lists)) { - GST_ERROR_OBJECT (demux, - "Trick modes only allowed for streams with I-frame lists"); - gst_event_unref (event); - return FALSE; - } - GST_DEBUG_OBJECT (demux, "seek event, rate: %f start: %" GST_TIME_FORMAT " stop: %" GST_TIME_FORMAT, rate, GST_TIME_ARGS (start), GST_TIME_ARGS (stop)); @@ -466,7 +458,8 @@ gst_hls_demux_src_event (GstPad * pad, GstObject * parent, GstEvent * event) } /* Use I-frame variants for trick modes */ - if ((rate > 1.0 || rate < -1.0) && demux->segment.rate >= -1.0 + if (demux->client->main->iframe_lists && + rate < -1.0 && demux->segment.rate >= -1.0 && demux->segment.rate <= 1.0) { GError *err = NULL;