souphttpsrc: add seekable flag if it is seekable 50/116950/1 accepted/tizen/common/20170303.090809 accepted/tizen/ivi/20170303.070000 accepted/tizen/mobile/20170303.065812 accepted/tizen/tv/20170303.065913 accepted/tizen/unified/20170309.035810 accepted/tizen/wearable/20170303.065941 submit/tizen/20170303.015115 submit/tizen_unified/20170308.100413
authorEunhae Choi <eunhae1.choi@samsung.com>
Thu, 2 Mar 2017 06:12:36 +0000 (15:12 +0900)
committerEunhae Choi <eunhae1.choi@samsung.com>
Thu, 2 Mar 2017 06:12:58 +0000 (15:12 +0900)
Change-Id: If66d168ac7fcc5847eaa2473d3731ac66ec05d66

ext/soup/gstsouphttpsrc.c
packaging/gst-plugins-good.spec

index adea645..3adf9b9 100644 (file)
@@ -1347,6 +1347,14 @@ gst_soup_http_src_got_headers_cb (SoupMessage * msg, GstSoupHTTPSrc * src)
     if (g_ascii_strcasecmp (accept_ranges, "none") == 0)
       src->seekable = FALSE;
   }
+#ifdef TIZEN_FEATURE_SOUP_MODIFICATION
+  /* The Range request header is always included.
+   * @ref gst_soup_http_src_add_range_header() */
+  else if (msg->status_code == SOUP_STATUS_OK) {
+    GST_DEBUG_OBJECT (src, "there is no accept range header");
+    src->seekable = FALSE;
+  }
+#endif
 
   /* Icecast stuff */
   tag_list = gst_tag_list_new_empty ();
@@ -2257,9 +2265,18 @@ gst_soup_http_src_query (GstBaseSrc * bsrc, GstQuery * query)
 
   switch (GST_QUERY_TYPE (query)) {
     case GST_QUERY_SCHEDULING:
+
       gst_query_parse_scheduling (query, &flags, &minsize, &maxsize, &align);
       flags |= GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED;
+
+#ifdef TIZEN_FEATURE_SOUP_MODIFICATION
+      if (gst_soup_http_src_is_seekable(bsrc)) {
+          GST_DEBUG_OBJECT (src, "set seekable flag");
+          flags |= GST_SCHEDULING_FLAG_SEEKABLE;
+      }
+#endif
       gst_query_set_scheduling (query, flags, minsize, maxsize, align);
+
       break;
     default:
       break;
index 53b2764..1b7aef3 100644 (file)
@@ -3,7 +3,7 @@
 
 Name:           gst-plugins-good
 Version:        1.6.1
-Release:        16
+Release:        17
 License:        LGPL-2.1+
 Summary:        GStreamer Streaming-Media Framework Plug-Ins
 Url:            http://gstreamer.freedesktop.org/