diff -r 4b0c6ed43234 -r 8e837d1bf446 gst_plugins_base/gst-libs/gst/app/gstappsink.h --- 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,