diff options
author | Wim Taymans <wim.taymans@gmail.com> | 2008-05-07 10:38:23 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-05-07 10:38:23 +0000 |
commit | b2aee5ef7612fa9adf9f69a5b984172886f7f0b3 (patch) | |
tree | ad797cb4b7cb36e33e36b3549e2ae7f297700b1e /gst-libs/gst/app/gstappsrc.h | |
parent | 42d7c3409f0f58e204c57c026fd6333969d50103 (diff) | |
download | gst-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.h | 37 |
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 |