6646dd9f9e9f17dddaca7d5f3f2d341433b628b4
[platform/upstream/gstreamer.git] / tools / gstbasesink.c
1 % ClassName
2 GstBaseSink
3 % TYPE_CLASS_NAME
4 GST_TYPE_BASE_SINK
5 % pkg-config
6 gstreamer-base-0.10
7 % includes
8 #include <gst/base/gstbasesink.h>
9 % prototypes
10 static GstCaps *gst_replace_get_caps (GstBaseSink * sink);
11 static gboolean gst_replace_set_caps (GstBaseSink * sink, GstCaps * caps);
12 static GstFlowReturn
13 gst_replace_buffer_alloc (GstBaseSink * sink, guint64 offset, guint size,
14     GstCaps * caps, GstBuffer ** buf);
15 static void
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);
22 static GstFlowReturn
23 gst_replace_preroll (GstBaseSink * sink, GstBuffer * buffer);
24 static GstFlowReturn
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);
30 static GstFlowReturn
31 gst_replace_render_list (GstBaseSink * sink, GstBufferList * buffer_list);
32 % declare-class
33   GstBaseSinkClass *base_sink_class = GST_BASE_SINK_CLASS (klass);
34 % set-methods
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);
50 % methods
51
52
53 static GstCaps *
54 gst_replace_get_caps (GstBaseSink * sink)
55 {
56
57   return NULL;
58 }
59
60 static gboolean
61 gst_replace_set_caps (GstBaseSink * sink, GstCaps * caps)
62 {
63
64   return FALSE;
65 }
66
67 static GstFlowReturn
68 gst_replace_buffer_alloc (GstBaseSink * sink, guint64 offset, guint size,
69     GstCaps * caps, GstBuffer ** buf)
70 {
71
72   return GST_FLOW_ERROR;
73 }
74
75 static void
76 gst_replace_get_times (GstBaseSink * sink, GstBuffer * buffer,
77     GstClockTime * start, GstClockTime * end)
78 {
79
80 }
81
82 static gboolean
83 gst_replace_start (GstBaseSink * sink)
84 {
85
86   return TRUE;
87 }
88
89 static gboolean
90 gst_replace_stop (GstBaseSink * sink)
91 {
92
93   return TRUE;
94 }
95
96 static gboolean
97 gst_replace_unlock (GstBaseSink * sink)
98 {
99
100   return TRUE;
101 }
102
103 static gboolean
104 gst_replace_event (GstBaseSink * sink, GstEvent * event)
105 {
106
107   return TRUE;
108 }
109
110 static GstFlowReturn
111 gst_replace_preroll (GstBaseSink * sink, GstBuffer * buffer)
112 {
113
114   return GST_FLOW_OK;
115 }
116
117 static GstFlowReturn
118 gst_replace_render (GstBaseSink * sink, GstBuffer * buffer)
119 {
120
121   return GST_FLOW_OK;
122 }
123
124 static GstStateChangeReturn
125 gst_replace_async_play (GstBaseSink * sink)
126 {
127
128   return GST_STATE_CHANGE_SUCCESS;
129 }
130
131 static gboolean
132 gst_replace_activate_pull (GstBaseSink * sink, gboolean active)
133 {
134
135   return TRUE;
136 }
137
138 static void
139 gst_replace_fixate (GstBaseSink * sink, GstCaps * caps)
140 {
141
142 }
143
144 static gboolean
145 gst_replace_unlock_stop (GstBaseSink * sink)
146 {
147
148   return TRUE;
149 }
150
151 static GstFlowReturn
152 gst_replace_render_list (GstBaseSink * sink, GstBufferList * buffer_list)
153 {
154
155   return GST_FLOW_OK;
156 }
157 % end
158
159
160