89 gboolean flushing; |
89 gboolean flushing; |
90 |
90 |
91 /*< private >*/ |
91 /*< private >*/ |
92 union { |
92 union { |
93 struct { |
93 struct { |
94 /* segment used for clipping incomming buffers */ |
94 /* segment used for clipping incoming buffers */ |
95 GstSegment *clip_segment; |
95 GstSegment *clip_segment; |
96 /* max amount of time a buffer can be late, -1 no limit. */ |
96 /* max amount of time a buffer can be late, -1 no limit. */ |
97 gint64 max_lateness; |
97 gint64 max_lateness; |
|
98 gboolean running; |
98 } ABI; |
99 } ABI; |
99 gpointer _gst_reserved[GST_PADDING_LARGE - 1]; |
100 gpointer _gst_reserved[GST_PADDING_LARGE - 1]; |
100 } abidata; |
101 } abidata; |
101 |
102 |
102 GstBaseSinkPrivate *priv; |
103 GstBaseSinkPrivate *priv; |
118 * any state they set during unlock(), such as clearing command queues. |
119 * any state they set during unlock(), such as clearing command queues. |
119 * @event: Override this to handle events arriving on the sink pad |
120 * @event: Override this to handle events arriving on the sink pad |
120 * @preroll: Called to present the preroll buffer if desired |
121 * @preroll: Called to present the preroll buffer if desired |
121 * @render: Called when a buffer should be presented or output, at the |
122 * @render: Called when a buffer should be presented or output, at the |
122 * correct moment if the #GstBaseSink has been set to sync to the clock. |
123 * correct moment if the #GstBaseSink has been set to sync to the clock. |
|
124 * @render_list: Same as @render but used whith buffer lists instead of |
|
125 * buffers. Since: 0.10.24 |
123 * @async_play: Subclasses should override this when they need to perform |
126 * @async_play: Subclasses should override this when they need to perform |
124 * special processing when changing to the PLAYING state asynchronously. |
127 * special processing when changing to the PLAYING state asynchronously. |
125 * Called with the OBJECT_LOCK held. |
128 * Called with the OBJECT_LOCK held. |
126 * @activate_pull: Subclasses should override this when they can provide an |
129 * @activate_pull: Subclasses should override this when they can provide an |
127 * alternate method of spawning a thread to drive the pipeline in pull mode. |
130 * alternate method of spawning a thread to drive the pipeline in pull mode. |
177 void (*fixate) (GstBaseSink *sink, GstCaps *caps); |
180 void (*fixate) (GstBaseSink *sink, GstCaps *caps); |
178 |
181 |
179 /* Clear a previously indicated unlock request not that unlocking is |
182 /* Clear a previously indicated unlock request not that unlocking is |
180 * complete. Sub-classes should clear any command queue or indicator they |
183 * complete. Sub-classes should clear any command queue or indicator they |
181 * set during unlock */ |
184 * set during unlock */ |
182 gboolean (*unlock_stop) (GstBaseSink *sink); |
185 gboolean (*unlock_stop) (GstBaseSink *sink); |
|
186 |
|
187 /* Render a BufferList */ |
|
188 GstFlowReturn (*render_list) (GstBaseSink *sink, GstBufferList *buffer_list); |
183 |
189 |
184 /*< private >*/ |
190 /*< private >*/ |
185 gpointer _gst_reserved[GST_PADDING_LARGE-4]; |
191 gpointer _gst_reserved[GST_PADDING_LARGE-5]; |
186 }; |
192 }; |
187 #ifdef __SYMBIAN32__ |
193 #ifdef __SYMBIAN32__ |
188 IMPORT_C |
194 IMPORT_C |
189 #endif |
195 #endif |
190 |
196 |
274 #ifdef __SYMBIAN32__ |
285 #ifdef __SYMBIAN32__ |
275 IMPORT_C |
286 IMPORT_C |
276 #endif |
287 #endif |
277 |
288 |
278 GstClockTime gst_base_sink_get_latency (GstBaseSink *sink); |
289 GstClockTime gst_base_sink_get_latency (GstBaseSink *sink); |
279 #ifdef __SYMBIAN32__ |
290 |
280 IMPORT_C |
291 /* render delay */ |
281 #endif |
292 #ifdef __SYMBIAN32__ |
282 |
293 IMPORT_C |
|
294 #endif |
|
295 |
|
296 void gst_base_sink_set_render_delay (GstBaseSink *sink, GstClockTime delay); |
|
297 #ifdef __SYMBIAN32__ |
|
298 IMPORT_C |
|
299 #endif |
|
300 |
|
301 GstClockTime gst_base_sink_get_render_delay (GstBaseSink *sink); |
|
302 |
|
303 /* blocksize */ |
|
304 #ifdef __SYMBIAN32__ |
|
305 IMPORT_C |
|
306 #endif |
|
307 |
|
308 void gst_base_sink_set_blocksize (GstBaseSink *sink, guint blocksize); |
|
309 #ifdef __SYMBIAN32__ |
|
310 IMPORT_C |
|
311 #endif |
|
312 |
|
313 guint gst_base_sink_get_blocksize (GstBaseSink *sink); |
|
314 #ifdef __SYMBIAN32__ |
|
315 IMPORT_C |
|
316 #endif |
|
317 |
|
318 |
|
319 GstClockReturn gst_base_sink_wait_clock (GstBaseSink *sink, GstClockTime time, |
|
320 GstClockTimeDiff * jitter); |
|
321 #ifdef __SYMBIAN32__ |
|
322 IMPORT_C |
|
323 #endif |
283 |
324 |
284 GstFlowReturn gst_base_sink_wait_eos (GstBaseSink *sink, GstClockTime time, |
325 GstFlowReturn gst_base_sink_wait_eos (GstBaseSink *sink, GstClockTime time, |
285 GstClockTimeDiff *jitter); |
326 GstClockTimeDiff *jitter); |
286 |
327 |
287 G_END_DECLS |
328 G_END_DECLS |