summaryrefslogtreecommitdiffstats
path: root/ext/soup/gstsouphttpsrc.h
diff options
context:
space:
mode:
authorWouter Cloetens <wouter@mind.be>2007-11-29 10:49:18 +0000
committerWim Taymans <wim.taymans@gmail.com>2007-11-29 10:49:18 +0000
commite4fd51a209713e6115e5ffa089f1a3a8a4ea8522 (patch)
treebd1255741b26c50872b663ba96439b9d4d234257 /ext/soup/gstsouphttpsrc.h
parentb3c5184b6f8310e1a7733f3f31fa5c64fba78f1e (diff)
configure.ac: Bump libsoup requirement as libsoup does not support async client operation prior to version 2.2.104 an...
Original commit message from CVS: Patch by: Wouter Cloetens <wouter at mind dot be> * configure.ac: Bump libsoup requirement as libsoup does not support async client operation prior to version 2.2.104 and it has some leaks. * ext/soup/gstsouphttpsrc.c: (gst_souphttp_src_class_init), (gst_souphttp_src_init), (gst_souphttp_src_dispose), (gst_souphttp_src_set_property), (gst_souphttp_src_create), (gst_souphttp_src_start), (gst_souphttp_src_stop), (gst_souphttp_src_unlock), (gst_souphttp_src_unlock_stop), (gst_souphttp_src_get_size), (soup_got_headers), (soup_got_body), (soup_finished), (soup_got_chunk), (soup_response), (soup_session_close): * ext/soup/gstsouphttpsrc.h: Implement unlock(). Picks up the size from the Content-Length header and emit a duration message. Don't leak the GMainContext object. Fixes #500099.
Diffstat (limited to 'ext/soup/gstsouphttpsrc.h')
-rw-r--r--ext/soup/gstsouphttpsrc.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h
index 71d1a83d..5dca307c 100644
--- a/ext/soup/gstsouphttpsrc.h
+++ b/ext/soup/gstsouphttpsrc.h
@@ -40,13 +40,16 @@ typedef struct _GstSouphttpSrcClass GstSouphttpSrcClass;
struct _GstSouphttpSrc {
GstPushSrc element;
- gchar *location; /* Full URI. */
- GMainLoop *loop; /* Event loop. */
- SoupSession *session; /* Async context. */
- SoupMessage *msg; /* Request message. */
+ gchar * location; /* Full URI. */
+ GMainContext * context; /* I/O context. */
+ GMainLoop * loop; /* Event loop. */
+ SoupSession * session; /* Async context. */
+ SoupMessage * msg; /* Request message. */
GstFlowReturn ret; /* Return code from callback. */
- GstBuffer **outbuf; /* Return buffer allocated by callback. */
+ GstBuffer ** outbuf; /* Return buffer allocated by callback. */
gboolean interrupted; /* Signal unlock(). */
+ gboolean have_size; /* Received and parsed Content-Length header. */
+ guint64 content_size; /* Value of Content-Length header. */
};
struct _GstSouphttpSrcClass {