From 3f88a353d408860ad829a645e5f47c679b4225ab Mon Sep 17 00:00:00 2001 From: Edgard Lima Date: Wed, 28 Dec 2005 21:07:17 +0000 Subject: Created new element neonhttpsrc. Original commit message from CVS: Created new element neonhttpsrc. --- ext/neon/gstneonhttpsrc.h | 82 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 ext/neon/gstneonhttpsrc.h (limited to 'ext/neon/gstneonhttpsrc.h') diff --git a/ext/neon/gstneonhttpsrc.h b/ext/neon/gstneonhttpsrc.h new file mode 100644 index 00000000..6691d639 --- /dev/null +++ b/ext/neon/gstneonhttpsrc.h @@ -0,0 +1,82 @@ +/* GStreamer + * Copyright (C) <2005> Edgard Lima + * + * 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_NEONHTTP_SRC_H__ +#define __GST_NEONHTTP_SRC_H__ + +#include +#include +#include +#include + +G_BEGIN_DECLS + +#include +#include +#include + +#define GST_TYPE_NEONHTTP_SRC \ + (gst_neonhttp_src_get_type()) +#define GST_NEONHTTP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_NEONHTTP_SRC,GstNeonhttpSrc)) +#define GST_NEONHTTP_SRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_NEONHTTP_SRC,GstNeonhttpSrc)) +#define GST_IS_NEONHTTP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_NEONHTTP_SRC)) +#define GST_IS_NEONHTTP_SRC_CLASS(obj) \ + (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_NEONHTTP_SRC)) + +typedef struct _GstNeonhttpSrc GstNeonhttpSrc; +typedef struct _GstNeonhttpSrcClass GstNeonhttpSrcClass; + +typedef enum { + GST_NEONHTTP_SRC_OPEN = (GST_ELEMENT_FLAG_LAST << 0), + + GST_NEONHTTP_SRC_FLAG_LAST = (GST_ELEMENT_FLAG_LAST << 2) +} GstTCPClientSrcFlags; + +struct _GstNeonhttpSrc { + GstPushSrc element; + + /* socket */ + ne_session *session; + ne_request *request; + ne_uri uri; + gchar *uristr; + ne_uri proxy; + + gboolean ishttps; + + gint content_size; + gint current_size; + + GstAdapter *adapter; + GMutex *lock; + GstTask *task; + GStaticRecMutex tasklock; + gboolean eos; + + char respbuf[BUFSIZ]; + +}; + +struct _GstNeonhttpSrcClass { + GstPushSrcClass parent_class; +}; + +GType gst_neonhttp_src_get_type (void); + +G_END_DECLS + +#endif /* __GST_NEONHTTP_SRC_H__ */ -- cgit v1.2.1