8 #include <gst/base/gstbasesink.h>
10 static GstCaps *gst_replace_get_caps (GstBaseSink * sink);
11 static gboolean gst_replace_set_caps (GstBaseSink * sink, GstCaps * caps);
13 gst_replace_buffer_alloc (GstBaseSink * sink, guint64 offset, guint size,
14 GstCaps * caps, GstBuffer ** buf);
16 gst_replace_get_times (GstBaseSink * sink, GstBuffer * buffer,
17 GstClockTime * start, GstClockTime * end);
18 static gboolean gst_replace_start (GstBaseSink * sink);
19 static gboolean gst_replace_stop (GstBaseSink * sink);
20 static gboolean gst_replace_unlock (GstBaseSink * sink);
21 static gboolean gst_replace_event (GstBaseSink * sink, GstEvent * event);
23 gst_replace_preroll (GstBaseSink * sink, GstBuffer * buffer);
25 gst_replace_render (GstBaseSink * sink, GstBuffer * buffer);
26 static GstStateChangeReturn gst_replace_async_play (GstBaseSink * sink);
27 static gboolean gst_replace_activate_pull (GstBaseSink * sink, gboolean active);
28 static void gst_replace_fixate (GstBaseSink * sink, GstCaps * caps);
29 static gboolean gst_replace_unlock_stop (GstBaseSink * sink);
31 gst_replace_render_list (GstBaseSink * sink, GstBufferList * buffer_list);
33 GstBaseSinkClass *base_sink_class = GST_BASE_SINK_CLASS (klass);
35 base_sink_class->get_caps = GST_DEBUG_FUNCPTR (gst_replace_get_caps);
36 base_sink_class->set_caps = GST_DEBUG_FUNCPTR (gst_replace_set_caps);
37 base_sink_class->buffer_alloc = GST_DEBUG_FUNCPTR (gst_replace_buffer_alloc);
38 base_sink_class->get_times = GST_DEBUG_FUNCPTR (gst_replace_get_times);
39 base_sink_class->start = GST_DEBUG_FUNCPTR (gst_replace_start);
40 base_sink_class->stop = GST_DEBUG_FUNCPTR (gst_replace_stop);
41 base_sink_class->unlock = GST_DEBUG_FUNCPTR (gst_replace_unlock);
42 base_sink_class->event = GST_DEBUG_FUNCPTR (gst_replace_event);
43 base_sink_class->preroll = GST_DEBUG_FUNCPTR (gst_replace_preroll);
44 base_sink_class->render = GST_DEBUG_FUNCPTR (gst_replace_render);
45 base_sink_class->async_play = GST_DEBUG_FUNCPTR (gst_replace_async_play);
46 base_sink_class->activate_pull = GST_DEBUG_FUNCPTR (gst_replace_activate_pull);
47 base_sink_class->fixate = GST_DEBUG_FUNCPTR (gst_replace_fixate);
48 base_sink_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_replace_unlock_stop);
49 base_sink_class->render_list = GST_DEBUG_FUNCPTR (gst_replace_render_list);
54 gst_replace_get_caps (GstBaseSink * sink)
61 gst_replace_set_caps (GstBaseSink * sink, GstCaps * caps)
68 gst_replace_buffer_alloc (GstBaseSink * sink, guint64 offset, guint size,
69 GstCaps * caps, GstBuffer ** buf)
72 return GST_FLOW_ERROR;
76 gst_replace_get_times (GstBaseSink * sink, GstBuffer * buffer,
77 GstClockTime * start, GstClockTime * end)
83 gst_replace_start (GstBaseSink * sink)
90 gst_replace_stop (GstBaseSink * sink)
97 gst_replace_unlock (GstBaseSink * sink)
104 gst_replace_event (GstBaseSink * sink, GstEvent * event)
111 gst_replace_preroll (GstBaseSink * sink, GstBuffer * buffer)
118 gst_replace_render (GstBaseSink * sink, GstBuffer * buffer)
124 static GstStateChangeReturn
125 gst_replace_async_play (GstBaseSink * sink)
128 return GST_STATE_CHANGE_SUCCESS;
132 gst_replace_activate_pull (GstBaseSink * sink, gboolean active)
139 gst_replace_fixate (GstBaseSink * sink, GstCaps * caps)
145 gst_replace_unlock_stop (GstBaseSink * sink)
152 gst_replace_render_list (GstBaseSink * sink, GstBufferList * buffer_list)