#define __GST_BASE_SINK_H__
#include <gst/gst.h>
+#include <gst/base/base-prelude.h>
G_BEGIN_DECLS
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);