X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ext%2Fsoup%2Fgstsouphttpsrc.h;h=3b37fe06a48289919462f3b242b40024911002b8;hb=adf3453183503a3a533e9ad2f38b5892a69183fc;hp=186c6d0679835591a85667918283b022f9c0216c;hpb=61d3a215a086d3830667fc9149410ea1f3de3847;p=platform%2Fupstream%2Fgst-plugins-good.git diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h index 186c6d0..3b37fe0 100644 --- a/ext/soup/gstsouphttpsrc.h +++ b/ext/soup/gstsouphttpsrc.h @@ -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__ @@ -49,6 +49,8 @@ struct _GstSoupHTTPSrc { GstPushSrc element; gchar *location; /* Full URI. */ + gchar *redirection_uri; /* Full URI after redirections. */ + gboolean redirection_permanent; /* Permanent or temporary redirect? */ gchar *user_agent; /* User-Agent HTTP header. */ gboolean automatic_redirect; /* Follow redirects. */ SoupURI *proxy; /* HTTP proxy URI. */ @@ -57,17 +59,13 @@ 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 */ + gboolean got_headers; /* Already received headers from the server */ gboolean have_size; /* Received and parsed Content-Length header. */ guint64 content_size; /* Value of Content-Length header. */ @@ -75,16 +73,53 @@ struct _GstSoupHTTPSrc { gboolean seekable; /* FALSE if the server does not support Range. */ guint64 request_position; /* Seek to this position. */ + guint64 stop_position; /* Stop at this position. */ + gboolean have_body; /* Indicates if it has just been signaled the + * end of the message body. This is used to + * decide if an out of range request should be + * handled as an error or EOS when the content + * size is unknown */ + gboolean keep_alive; /* Use keep-alive sessions */ + gboolean ssl_strict; + gchar *ssl_ca_file; + gboolean ssl_use_system_ca_file; + 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; gchar *iradio_name; gchar *iradio_genre; 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; guint timeout; + + GMutex mutex; + 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 {