diff --git a/docs/plugins/gstreamer-plugins-sections.txt b/docs/plugins/gstreamer-plugins-sections.txt index 1854112140..742fdf9dad 100644 --- a/docs/plugins/gstreamer-plugins-sections.txt +++ b/docs/plugins/gstreamer-plugins-sections.txt @@ -149,6 +149,7 @@ GST_INPUT_SELECTOR_WAIT element-queue queue GstQueue +GstQueueLeaky GstQueueClass GST_QUEUE diff --git a/plugins/elements/gstqueue.h b/plugins/elements/gstqueue.h index c72bcb790c..6ab861706f 100644 --- a/plugins/elements/gstqueue.h +++ b/plugins/elements/gstqueue.h @@ -39,17 +39,26 @@ G_BEGIN_DECLS #define GST_IS_QUEUE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_QUEUE)) -enum { +typedef struct _GstQueue GstQueue; +typedef struct _GstQueueSize GstQueueSize; +typedef enum _GstQueueLeaky GstQueueLeaky; +typedef struct _GstQueueClass GstQueueClass; + +/** + * GstQueueLeaky: + * @GST_QUEUE_NO_LEAK: Not Leaky + * @GST_QUEUE_LEAK_UPSTREAM: Leaky on upstream (new buffers) + * @GST_QUEUE_LEAK_DOWNSTREAM: Leaky on downstream (old buffers) + * + * Buffer dropping scheme to avoid the queue to block when full. + */ +enum _GstQueueLeaky { GST_QUEUE_NO_LEAK = 0, GST_QUEUE_LEAK_UPSTREAM = 1, GST_QUEUE_LEAK_DOWNSTREAM = 2 }; -typedef struct _GstQueue GstQueue; -typedef struct _GstQueueSize GstQueueSize; -typedef struct _GstQueueClass GstQueueClass; - -/** +/* * GstQueueSize: * @buffers: number of buffers * @bytes: number of bytes @@ -115,8 +124,8 @@ struct _GstQueue { gboolean head_needs_discont, tail_needs_discont; gboolean push_newsegment; - - gboolean silent; /* don't emit signals */ + + gboolean silent; /* don't emit signals */ /* whether the first new segment has been applied to src */ gboolean newseg_applied_to_src;