souphttpsrc: get seekable info from dlna op code
[platform/upstream/gst-plugins-good.git] / ext / soup / gstsouphttpsrc.h
index 7172581..3b37fe0 100644 (file)
@@ -9,7 +9,7 @@
  * This library is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more 
+ * Library General Public License for more
  */
 
 #ifndef __GST_SOUP_HTTP_SRC_H__
@@ -59,16 +59,8 @@ struct _GstSoupHTTPSrc {
   gchar *proxy_id;             /* Authentication user id for proxy URI. */
   gchar *proxy_pw;             /* Authentication user password for proxy URI. */
   gchar **cookies;             /* HTTP request cookies. */
-  GMainContext *context;       /* I/O context. */
-  GMainLoop *loop;             /* Event loop. */
   SoupSession *session;        /* Async context. */
-  GstSoupHTTPSrcSessionIOStatus session_io_status;
-                               /* Async I/O status. */
   SoupMessage *msg;            /* Request message. */
-  GstFlowReturn ret;           /* Return code from callback. */
-  GstBuffer **outbuf;          /* Return buffer allocated by callback. */
-  gboolean interrupted;        /* Signal unlock(). */
-  gboolean retry;              /* Should attempt to reconnect. */
   gint retry_count;            /* Number of retries since we received data */
   gint max_retries;            /* Maximum number of retries */
   gchar *method;               /* HTTP method */
@@ -94,6 +86,13 @@ struct _GstSoupHTTPSrc {
   GTlsDatabase *tls_database;
   GTlsInteraction *tls_interaction;
 
+  GCancellable *cancellable;
+  GInputStream *input_stream;
+
+  gint reduce_blocksize_count;
+  gint increase_blocksize_count;
+  guint minimum_blocksize;
+
   /* Shoutcast/icecast metadata extraction handling. */
   gboolean iradio_mode;
   GstCaps *src_caps;
@@ -102,7 +101,9 @@ struct _GstSoupHTTPSrc {
   gchar *iradio_url;
 
   GstStructure *extra_headers;
-
+#ifdef TIZEN_FEATURE_SOUP_MODIFICATION
+  SoupCookieJar *cookie_jar;
+#endif
   SoupLoggerLogLevel log_level;/* Soup HTTP session logger level */
 
   gboolean compress;
@@ -110,9 +111,15 @@ struct _GstSoupHTTPSrc {
   guint timeout;
 
   GMutex mutex;
-  GCond request_finished_cond;
+  GCond have_headers_cond;
 
   GstEvent *http_headers_event;
+#ifdef TIZEN_FEATURE_SOUP_MODIFICATION
+  gchar *dash_oldest_segment;
+  gchar *dash_newest_segment;
+  guint64 received_total;    /* temp: for debugging */
+  guint dlna_opt;            /* DLNA server option */
+#endif
 };
 
 struct _GstSoupHTTPSrcClass {