From e523bd2a33ae78bda8fee4b3f2ca3b78a80c5054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 14 Oct 2015 10:34:58 +0300 Subject: [PATCH] adaptivedemux: HTTP ranges are inclusive, GStreamer segment.stop is exclusive Translate the values accordingly. https://bugzilla.gnome.org/show_bug.cgi?id=748316 --- gst-libs/gst/adaptivedemux/gstadaptivedemux.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c index f3aabd3139..1643ef20ca 100644 --- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c +++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c @@ -1927,6 +1927,10 @@ gst_adaptive_demux_stream_download_uri (GstAdaptiveDemux * demux, if (gst_element_set_state (stream->src, GST_STATE_READY) != GST_STATE_CHANGE_FAILURE) { if (start != 0 || end != -1) { + /* HTTP ranges are inclusive, GStreamer segments are exclusive for the + * stop position */ + if (end != -1) + end += 1; if (!gst_element_send_event (stream->src, gst_event_new_seek (1.0, GST_FORMAT_BYTES, (GstSeekFlags) GST_SEEK_FLAG_FLUSH, GST_SEEK_TYPE_SET, start, GST_SEEK_TYPE_SET, end))) {