basesrc: ensure submitted buffer list is writable
[platform/upstream/gstreamer.git] / libs / gst / base / gstbasesink.h
index 802bd69..0540125 100644 (file)
@@ -24,6 +24,7 @@
 #define __GST_BASE_SINK_H__
 
 #include <gst/gst.h>
+#include <gst/base/base-prelude.h>
 
 G_BEGIN_DECLS
 
@@ -201,63 +202,125 @@ struct _GstBaseSinkClass {
   gpointer       _gst_reserved[GST_PADDING_LARGE];
 };
 
-GType gst_base_sink_get_type(void);
+GST_BASE_API
+GType           gst_base_sink_get_type (void);
 
+GST_BASE_API
 GstFlowReturn   gst_base_sink_do_preroll        (GstBaseSink *sink, GstMiniObject *obj);
+
+GST_BASE_API
 GstFlowReturn   gst_base_sink_wait_preroll      (GstBaseSink *sink);
 
 /* synchronizing against the clock */
+
+GST_BASE_API
 void            gst_base_sink_set_sync          (GstBaseSink *sink, gboolean sync);
+
+GST_BASE_API
 gboolean        gst_base_sink_get_sync          (GstBaseSink *sink);
 
 /* Drop buffers which are out of segment */
+
+GST_BASE_API
 void            gst_base_sink_set_drop_out_of_segment (GstBaseSink *sink, gboolean drop_out_of_segment);
+
+GST_BASE_API
 gboolean        gst_base_sink_get_drop_out_of_segment (GstBaseSink *sink);
 
 /* dropping late buffers */
+
+GST_BASE_API
 void            gst_base_sink_set_max_lateness  (GstBaseSink *sink, gint64 max_lateness);
+
+GST_BASE_API
 gint64          gst_base_sink_get_max_lateness  (GstBaseSink *sink);
 
 /* performing QoS */
+
+GST_BASE_API
 void            gst_base_sink_set_qos_enabled   (GstBaseSink *sink, gboolean enabled);
+
+GST_BASE_API
 gboolean        gst_base_sink_is_qos_enabled    (GstBaseSink *sink);
 
 /* doing async state changes */
+
+GST_BASE_API
 void            gst_base_sink_set_async_enabled (GstBaseSink *sink, gboolean enabled);
+
+GST_BASE_API
 gboolean        gst_base_sink_is_async_enabled  (GstBaseSink *sink);
 
 /* tuning synchronisation */
+
+GST_BASE_API
 void            gst_base_sink_set_ts_offset     (GstBaseSink *sink, GstClockTimeDiff offset);
+
+GST_BASE_API
 GstClockTimeDiff gst_base_sink_get_ts_offset    (GstBaseSink *sink);
 
 /* last sample */
+
+GST_BASE_API
 GstSample *     gst_base_sink_get_last_sample   (GstBaseSink *sink);
+
+GST_BASE_API
 void            gst_base_sink_set_last_sample_enabled (GstBaseSink *sink, gboolean enabled);
+
+GST_BASE_API
 gboolean        gst_base_sink_is_last_sample_enabled (GstBaseSink *sink);
 
 /* latency */
+
+GST_BASE_API
 gboolean        gst_base_sink_query_latency     (GstBaseSink *sink, gboolean *live, gboolean *upstream_live,
                                                  GstClockTime *min_latency, GstClockTime *max_latency);
+GST_BASE_API
 GstClockTime    gst_base_sink_get_latency       (GstBaseSink *sink);
 
 /* render delay */
+
+GST_BASE_API
 void            gst_base_sink_set_render_delay  (GstBaseSink *sink, GstClockTime delay);
+
+GST_BASE_API
 GstClockTime    gst_base_sink_get_render_delay  (GstBaseSink *sink);
 
 /* blocksize */
+
+GST_BASE_API
 void            gst_base_sink_set_blocksize     (GstBaseSink *sink, guint blocksize);
+
+GST_BASE_API
 guint           gst_base_sink_get_blocksize     (GstBaseSink *sink);
 
 /* throttle-time */
+
+GST_BASE_API
 void            gst_base_sink_set_throttle_time (GstBaseSink *sink, guint64 throttle);
+
+GST_BASE_API
 guint64         gst_base_sink_get_throttle_time (GstBaseSink *sink);
 
 /* max-bitrate */
+
+GST_BASE_API
 void            gst_base_sink_set_max_bitrate   (GstBaseSink *sink, guint64 max_bitrate);
+
+GST_BASE_API
 guint64         gst_base_sink_get_max_bitrate   (GstBaseSink *sink);
 
+/* processing deadline */
+GST_BASE_API
+void            gst_base_sink_set_processing_deadline  (GstBaseSink *sink, GstClockTime processing_deadline);
+
+GST_BASE_API
+GstClockTime    gst_base_sink_get_processing_deadline  (GstBaseSink *sink);
+
+GST_BASE_API
 GstClockReturn  gst_base_sink_wait_clock        (GstBaseSink *sink, GstClockTime time,
                                                  GstClockTimeDiff * jitter);
+GST_BASE_API
 GstFlowReturn   gst_base_sink_wait              (GstBaseSink *sink, GstClockTime time,
                                                  GstClockTimeDiff *jitter);