summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst/app/gstappsrc.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-05-07 10:38:23 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-05-07 10:38:23 +0000
commitb2aee5ef7612fa9adf9f69a5b984172886f7f0b3 (patch)
treead797cb4b7cb36e33e36b3549e2ae7f297700b1e /gst-libs/gst/app/gstappsrc.h
parent42d7c3409f0f58e204c57c026fd6333969d50103 (diff)
downloadgst-plugins-bad-b2aee5ef7612fa9adf9f69a5b984172886f7f0b3.tar.gz
gst-plugins-bad-b2aee5ef7612fa9adf9f69a5b984172886f7f0b3.tar.bz2
gst-plugins-bad-b2aee5ef7612fa9adf9f69a5b984172886f7f0b3.zip
gst-libs/gst/app/: Add marshal.list, make it compile and add to cvsignore.
Original commit message from CVS: * gst-libs/gst/app/.cvsignore: * gst-libs/gst/app/Makefile.am: * gst-libs/gst/app/gstapp-marshal.list: Add marshal.list, make it compile and add to cvsignore. * gst-libs/gst/app/gstappsink.c: (gst_app_sink_dispose), (gst_app_sink_stop): Small cleanups. * gst-libs/gst/app/gstappsrc.c: (gst_app_src_class_init), (gst_app_src_init), (gst_app_src_set_property), (gst_app_src_get_property), (gst_app_src_unlock), (gst_app_src_unlock_stop), (gst_app_src_start), (gst_app_src_stop), (gst_app_src_create), (gst_app_src_set_caps), (gst_app_src_get_caps), (gst_app_src_set_size), (gst_app_src_get_size), (gst_app_src_set_seekable), (gst_app_src_get_seekable), (gst_app_src_set_max_buffers), (gst_app_src_get_max_buffers), (gst_app_src_push_buffer), (gst_app_src_end_of_stream): * gst-libs/gst/app/gstappsrc.h: Beat appsrc in shape, add signals and actions. Add some docs. Add properties for caps, size, seekability and max-buffers. Fix unlock/stop code.
Diffstat (limited to 'gst-libs/gst/app/gstappsrc.h')
-rw-r--r--gst-libs/gst/app/gstappsrc.h37
1 files changed, 30 insertions, 7 deletions
diff --git a/gst-libs/gst/app/gstappsrc.h b/gst-libs/gst/app/gstappsrc.h
index 617a20e2..4ca5cbc9 100644
--- a/gst-libs/gst/app/gstappsrc.h
+++ b/gst-libs/gst/app/gstappsrc.h
@@ -44,29 +44,52 @@ struct _GstAppSrc
GstPushSrc pushsrc;
/*< private >*/
- gboolean unlock;
GCond *cond;
GMutex *mutex;
GQueue *queue;
+
GstCaps *caps;
- gboolean end_of_stream;
- gboolean flush;
+ gint64 size;
+ gboolean seekable;
+ guint max_buffers;
+
+ gboolean flushing;
+ gboolean started;
+ gboolean is_eos;
};
struct _GstAppSrcClass
{
GstPushSrcClass pushsrc_class;
+
+ /* signals */
+ void (*need_data) (GstAppSrc *src);
+ void (*enough_data) (GstAppSrc *src);
+ gboolean (*seek_data) (GstAppSrc *src, guint64 offset);
+
+ /* actions */
+ void (*push_buffer) (GstAppSrc *src, GstBuffer *buffer);
+ void (*end_of_stream) (GstAppSrc *src);
};
GType gst_app_src_get_type(void);
GST_DEBUG_CATEGORY_EXTERN (app_src_debug);
+void gst_app_src_set_caps (GstAppSrc *appsrc, const GstCaps *caps);
+GstCaps* gst_app_src_get_caps (GstAppSrc *appsrc);
+
+void gst_app_src_set_size (GstAppSrc *appsrc, gint64 size);
+gint64 gst_app_src_get_size (GstAppSrc *appsrc);
+
+void gst_app_src_set_seekable (GstAppSrc *appsrc, gboolean seekable);
+gboolean gst_app_src_get_seekable (GstAppSrc *appsrc);
+
+void gst_app_src_set_max_buffers (GstAppSrc *appsrc, guint max);
+guint gst_app_src_get_max_buffers (GstAppSrc *appsrc);
-void gst_app_src_push_buffer (GstAppSrc *appsrc, GstBuffer *buffer);
-void gst_app_src_set_caps (GstAppSrc *appsrc, GstCaps *caps);
-void gst_app_src_flush (GstAppSrc *appsrc);
-void gst_app_src_end_of_stream (GstAppSrc *appsrc);
+void gst_app_src_push_buffer (GstAppSrc *appsrc, GstBuffer *buffer);
+void gst_app_src_end_of_stream (GstAppSrc *appsrc);
G_END_DECLS