gst_plugins_base/gst-libs/gst/app/gstappsink.h
changeset 16 8e837d1bf446
parent 0 0e761a78d257
child 30 7e817e7e631c
--- a/gst_plugins_base/gst-libs/gst/app/gstappsink.h	Wed Mar 24 17:58:42 2010 -0500
+++ b/gst_plugins_base/gst-libs/gst/app/gstappsink.h	Wed Mar 24 18:04:17 2010 -0500
@@ -57,6 +57,11 @@
  *       The new buffer can be retrieved with
  *       gst_app_sink_pull_buffer() either from this callback
  *       or from any other thread.
+ * @new_buffer_list: Called when a new bufferlist is available. 
+ *       This callback is called from the steaming thread.
+ *       The new bufferlist can be retrieved with
+ *       gst_app_sink_pull_buffer_list() either from this callback
+ *       or from any other thread.
  *
  * A set of callbacks that can be installed on the appsink with
  * gst_app_sink_set_callbacks().
@@ -64,12 +69,13 @@
  * Since: 0.10.23
  */
 typedef struct {
-  void          (*eos)           (GstAppSink *sink, gpointer user_data);
-  GstFlowReturn (*new_preroll)   (GstAppSink *sink, gpointer user_data);
-  GstFlowReturn (*new_buffer)    (GstAppSink *sink, gpointer user_data);
+  void          (*eos)              (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_preroll)      (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_buffer)       (GstAppSink *sink, gpointer user_data);
+  GstFlowReturn (*new_buffer_list)  (GstAppSink *sink, gpointer user_data);
 
   /*< private >*/
-  gpointer     _gst_reserved[GST_PADDING];
+  gpointer     _gst_reserved[GST_PADDING - 1];
 } GstAppSinkCallbacks;
 
 struct _GstAppSink
@@ -93,11 +99,15 @@
   void        (*new_buffer)   (GstAppSink *sink);
 
   /* actions */
-  GstBuffer * (*pull_preroll)  (GstAppSink *sink);
-  GstBuffer * (*pull_buffer)   (GstAppSink *sink);
+  GstBuffer     * (*pull_preroll)      (GstAppSink *sink);
+  GstBuffer     * (*pull_buffer)       (GstAppSink *sink);
+
+  /* ABI added */
+  GstBufferList * (*new_buffer_list)   (GstAppSink *sink);
+  GstBufferList * (*pull_buffer_list)  (GstAppSink *sink);
 
   /*< private >*/
-  gpointer     _gst_reserved[GST_PADDING];
+  gpointer     _gst_reserved[GST_PADDING - 2];
 };
 
 IMPORT_C GType gst_app_sink_get_type(void);
@@ -118,6 +128,7 @@
 
 IMPORT_C GstBuffer *     gst_app_sink_pull_preroll   (GstAppSink *appsink);
 IMPORT_C GstBuffer *     gst_app_sink_pull_buffer    (GstAppSink *appsink);
+IMPORT_C GstBufferList * gst_app_sink_pull_buffer_list (GstAppSink *appsink);
 
 IMPORT_C void            gst_app_sink_set_callbacks    (GstAppSink * appsink,
                                                GstAppSinkCallbacks *callbacks,