X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Fgstbufferpool.h;h=d36d066d9d372a5799d12400ea4c5996d2eb746d;hb=706e10ad0586bf98c829cdfaa079118447b94ef5;hp=38c59e2a1af6062c72d1abc519ff47a52683198b;hpb=a837ff6581ba16180e89352a753296cd74a85a72;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst/gstbufferpool.h b/gst/gstbufferpool.h index 38c59e2..d36d066 100644 --- a/gst/gstbufferpool.h +++ b/gst/gstbufferpool.h @@ -143,7 +143,7 @@ struct _GstBufferPool { * @release_buffer: release a buffer back in the pool. The default * implementation will put the buffer back in the queue and notify any * blocking acquire_buffer calls when the #GST_BUFFER_FLAG_TAG_MEMORY - * is not set on the buffer. If #GST_BUFFER_FLAG_TAG_MEMORY is set, the + * is not set on the buffer. If #GST_BUFFER_FLAG_TAG_MEMORY is set, the * buffer will be freed with @free_buffer. * @free_buffer: free a buffer. The default implementation unrefs the buffer. * @flush_start: enter the flushing state. (Since 1.4) @@ -175,44 +175,80 @@ struct _GstBufferPoolClass { gpointer _gst_reserved[GST_PADDING - 2]; }; +GST_API GType gst_buffer_pool_get_type (void); /* allocation */ + +GST_API GstBufferPool * gst_buffer_pool_new (void); /* state management */ + +GST_API gboolean gst_buffer_pool_set_active (GstBufferPool *pool, gboolean active); + +GST_API gboolean gst_buffer_pool_is_active (GstBufferPool *pool); +GST_API gboolean gst_buffer_pool_set_config (GstBufferPool *pool, GstStructure *config); + +GST_API GstStructure * gst_buffer_pool_get_config (GstBufferPool *pool); +GST_API const gchar ** gst_buffer_pool_get_options (GstBufferPool *pool); + +GST_API gboolean gst_buffer_pool_has_option (GstBufferPool *pool, const gchar *option); +GST_API void gst_buffer_pool_set_flushing (GstBufferPool *pool, gboolean flushing); /* helpers for configuring the config structure */ + +GST_API void gst_buffer_pool_config_set_params (GstStructure *config, GstCaps *caps, guint size, guint min_buffers, guint max_buffers); + +GST_API gboolean gst_buffer_pool_config_get_params (GstStructure *config, GstCaps **caps, guint *size, guint *min_buffers, guint *max_buffers); + +GST_API void gst_buffer_pool_config_set_allocator (GstStructure *config, GstAllocator *allocator, const GstAllocationParams *params); + +GST_API gboolean gst_buffer_pool_config_get_allocator (GstStructure *config, GstAllocator **allocator, GstAllocationParams *params); /* options */ + +GST_API guint gst_buffer_pool_config_n_options (GstStructure *config); + +GST_API void gst_buffer_pool_config_add_option (GstStructure *config, const gchar *option); + +GST_API const gchar * gst_buffer_pool_config_get_option (GstStructure *config, guint index); + +GST_API gboolean gst_buffer_pool_config_has_option (GstStructure *config, const gchar *option); + +GST_API gboolean gst_buffer_pool_config_validate_params (GstStructure *config, GstCaps *caps, guint size, guint min_buffers, guint max_buffers); /* buffer management */ + +GST_API GstFlowReturn gst_buffer_pool_acquire_buffer (GstBufferPool *pool, GstBuffer **buffer, GstBufferPoolAcquireParams *params); + +GST_API void gst_buffer_pool_release_buffer (GstBufferPool *pool, GstBuffer *buffer); G_END_DECLS