From c19bcb6c60b4cd6d4f48b2a5ac522ac31d2c0da2 Mon Sep 17 00:00:00 2001 From: Sebastian Dröge Date: Thu, 11 Sep 2014 12:52:11 +0300 Subject: souphttpsrc: If the server reports "Accept-Ranges: none" don't try range requests --- ext/soup/gstsouphttpsrc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ext/soup/gstsouphttpsrc.c b/ext/soup/gstsouphttpsrc.c index 35fa2de05..ad8722336 100644 --- a/ext/soup/gstsouphttpsrc.c +++ b/ext/soup/gstsouphttpsrc.c @@ -1034,6 +1034,7 @@ gst_soup_http_src_got_headers_cb (SoupMessage * msg, GstSoupHTTPSrc * src) GHashTable *params = NULL; GstEvent *http_headers_event; GstStructure *http_headers, *headers; + const gchar *accept_ranges; GST_INFO_OBJECT (src, "got headers"); @@ -1098,6 +1099,16 @@ gst_soup_http_src_got_headers_cb (SoupMessage * msg, GstSoupHTTPSrc * src) } } + /* If the server reports Accept-Ranges: none we don't have to try + * doing range requests at all + */ + if ((accept_ranges = + soup_message_headers_get_one (msg->response_headers, + "Accept-Ranges"))) { + if (g_ascii_strcasecmp (accept_ranges, "none") == 0) + src->seekable = FALSE; + } + /* Icecast stuff */ tag_list = gst_tag_list_new_empty (); -- cgit v1.2.3