mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
souphttpsrc: Only assume seekability if the server provides Content-Length
Previously seekability way always assumed until the first seek actually failed. Now we assume that all servers are not seekable unless they provide a Content-Length header. If a seek fails after that we continue to assume no seekability. Fixes bug #585576.
This commit is contained in:
parent
07c454d61e
commit
226a125056
1 changed files with 2 additions and 1 deletions
|
@ -318,7 +318,7 @@ gst_soup_http_src_reset (GstSoupHTTPSrc * src)
|
||||||
src->interrupted = FALSE;
|
src->interrupted = FALSE;
|
||||||
src->retry = FALSE;
|
src->retry = FALSE;
|
||||||
src->have_size = FALSE;
|
src->have_size = FALSE;
|
||||||
src->seekable = TRUE;
|
src->seekable = FALSE;
|
||||||
src->read_position = 0;
|
src->read_position = 0;
|
||||||
src->request_position = 0;
|
src->request_position = 0;
|
||||||
|
|
||||||
|
@ -751,6 +751,7 @@ gst_soup_http_src_got_headers_cb (SoupMessage * msg, GstSoupHTTPSrc * src)
|
||||||
if (!src->have_size || (src->content_size != newsize)) {
|
if (!src->have_size || (src->content_size != newsize)) {
|
||||||
src->content_size = newsize;
|
src->content_size = newsize;
|
||||||
src->have_size = TRUE;
|
src->have_size = TRUE;
|
||||||
|
src->seekable = TRUE;
|
||||||
GST_DEBUG_OBJECT (src, "size = %" G_GUINT64_FORMAT, src->content_size);
|
GST_DEBUG_OBJECT (src, "size = %" G_GUINT64_FORMAT, src->content_size);
|
||||||
|
|
||||||
basesrc = GST_BASE_SRC_CAST (src);
|
basesrc = GST_BASE_SRC_CAST (src);
|
||||||
|
|
Loading…
Reference in a new issue