diff options
author | Wouter Cloetens <wouter@mind.be> | 2007-11-15 17:26:25 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2007-11-15 17:26:25 +0000 |
commit | 03d8e595a047894cbfdb24105d701e3cb6a0551b (patch) | |
tree | 98c20604b1a1dd279f4592c2e5eb1b9039f694b5 /ext/soup/gstsouphttpsrc.h | |
parent | 621a4e4792bbc0d5b3a338024a3ce6c4053177f3 (diff) | |
download | gst-plugins-bad-03d8e595a047894cbfdb24105d701e3cb6a0551b.tar.gz gst-plugins-bad-03d8e595a047894cbfdb24105d701e3cb6a0551b.tar.bz2 gst-plugins-bad-03d8e595a047894cbfdb24105d701e3cb6a0551b.zip |
Added HTTP source based on libsoup. Fixes #497020.
Original commit message from CVS:
Patch by: Wouter Cloetens <wouter at mind dot be>
* configure.ac:
* ext/Makefile.am:
* ext/soup/Makefile.am:
* ext/soup/gstsouphttpsrc.c: (_do_init),
(gst_souphttp_src_base_init), (gst_souphttp_src_class_init),
(gst_souphttp_src_init), (gst_souphttp_src_dispose),
(gst_souphttp_src_set_property), (gst_souphttp_src_get_property),
(gst_souphttp_src_create), (gst_souphttp_src_start),
(gst_souphttp_src_stop), (gst_souphttp_src_unlock),
(gst_souphttp_src_set_location), (soup_got_chunk), (soup_response),
(soup_session_close), (plugin_init):
* ext/soup/gstsouphttpsrc.h:
Added HTTP source based on libsoup. Fixes #497020.
Diffstat (limited to 'ext/soup/gstsouphttpsrc.h')
-rw-r--r-- | ext/soup/gstsouphttpsrc.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/ext/soup/gstsouphttpsrc.h b/ext/soup/gstsouphttpsrc.h new file mode 100644 index 00000000..71d1a83d --- /dev/null +++ b/ext/soup/gstsouphttpsrc.h @@ -0,0 +1,61 @@ +/* GStreamer + * Copyright (C) <2007> Wouter Cloetens <wouter@mind.be> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * 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 + */ + +#ifndef __GST_SOUPHTTP_SRC_H__ +#define __GST_SOUPHTTP_SRC_H__ + +#include <gst/gst.h> +#include <gst/base/gstpushsrc.h> +#include <glib.h> + +G_BEGIN_DECLS + +#include <libsoup/soup.h> + +#define GST_TYPE_SOUPHTTP_SRC \ + (gst_souphttp_src_get_type()) +#define GST_SOUPHTTP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_SOUPHTTP_SRC,GstSouphttpSrc)) +#define GST_SOUPHTTP_SRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SOUPHTTP_SRC,GstSouphttpSrcClass)) +#define GST_IS_SOUPHTTP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SOUPHTTP_SRC)) +#define GST_IS_SOUPHTTP_SRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SOUPHTTP_SRC)) + +typedef struct _GstSouphttpSrc GstSouphttpSrc; +typedef struct _GstSouphttpSrcClass GstSouphttpSrcClass; + +struct _GstSouphttpSrc { + GstPushSrc element; + + gchar *location; /* Full URI. */ + 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. */ + gboolean interrupted; /* Signal unlock(). */ +}; + +struct _GstSouphttpSrcClass { + GstPushSrcClass parent_class; +}; + +GType gst_souphttp_src_get_type (void); + +G_END_DECLS + +#endif /* __GST_SOUPHTTP_SRC_H__ */ + |