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 incoming buffers */ |
94 /* segment used for clipping incomming 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; |
|
99 } ABI; |
98 } ABI; |
100 gpointer _gst_reserved[GST_PADDING_LARGE - 1]; |
99 gpointer _gst_reserved[GST_PADDING_LARGE - 1]; |
101 } abidata; |
100 } abidata; |
102 |
101 |
103 GstBaseSinkPrivate *priv; |
102 GstBaseSinkPrivate *priv; |
119 * any state they set during unlock(), such as clearing command queues. |
118 * any state they set during unlock(), such as clearing command queues. |
120 * @event: Override this to handle events arriving on the sink pad |
119 * @event: Override this to handle events arriving on the sink pad |
121 * @preroll: Called to present the preroll buffer if desired |
120 * @preroll: Called to present the preroll buffer if desired |
122 * @render: Called when a buffer should be presented or output, at the |
121 * @render: Called when a buffer should be presented or output, at the |
123 * correct moment if the #GstBaseSink has been set to sync to the clock. |
122 * 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 |
|
126 * @async_play: Subclasses should override this when they need to perform |
123 * @async_play: Subclasses should override this when they need to perform |
127 * special processing when changing to the PLAYING state asynchronously. |
124 * special processing when changing to the PLAYING state asynchronously. |
128 * Called with the OBJECT_LOCK held. |
125 * Called with the OBJECT_LOCK held. |
129 * @activate_pull: Subclasses should override this when they can provide an |
126 * @activate_pull: Subclasses should override this when they can provide an |
130 * alternate method of spawning a thread to drive the pipeline in pull mode. |
127 * alternate method of spawning a thread to drive the pipeline in pull mode. |
180 void (*fixate) (GstBaseSink *sink, GstCaps *caps); |
177 void (*fixate) (GstBaseSink *sink, GstCaps *caps); |
181 |
178 |
182 /* Clear a previously indicated unlock request not that unlocking is |
179 /* Clear a previously indicated unlock request not that unlocking is |
183 * complete. Sub-classes should clear any command queue or indicator they |
180 * complete. Sub-classes should clear any command queue or indicator they |
184 * set during unlock */ |
181 * set during unlock */ |
185 gboolean (*unlock_stop) (GstBaseSink *sink); |
182 gboolean (*unlock_stop) (GstBaseSink *sink); |
186 |
|
187 /* Render a BufferList */ |
|
188 GstFlowReturn (*render_list) (GstBaseSink *sink, GstBufferList *buffer_list); |
|
189 |
183 |
190 /*< private >*/ |
184 /*< private >*/ |
191 gpointer _gst_reserved[GST_PADDING_LARGE-5]; |
185 gpointer _gst_reserved[GST_PADDING_LARGE-4]; |
192 }; |
186 }; |
193 #ifdef __SYMBIAN32__ |
187 #ifdef __SYMBIAN32__ |
194 IMPORT_C |
188 IMPORT_C |
195 #endif |
189 #endif |
196 |
190 |
285 #ifdef __SYMBIAN32__ |
274 #ifdef __SYMBIAN32__ |
286 IMPORT_C |
275 IMPORT_C |
287 #endif |
276 #endif |
288 |
277 |
289 GstClockTime gst_base_sink_get_latency (GstBaseSink *sink); |
278 GstClockTime gst_base_sink_get_latency (GstBaseSink *sink); |
290 |
279 #ifdef __SYMBIAN32__ |
291 /* render delay */ |
280 IMPORT_C |
292 #ifdef __SYMBIAN32__ |
281 #endif |
293 IMPORT_C |
282 |
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 |
|
324 |
283 |
325 GstFlowReturn gst_base_sink_wait_eos (GstBaseSink *sink, GstClockTime time, |
284 GstFlowReturn gst_base_sink_wait_eos (GstBaseSink *sink, GstClockTime time, |
326 GstClockTimeDiff *jitter); |
285 GstClockTimeDiff *jitter); |
327 |
286 |
328 G_END_DECLS |
287 G_END_DECLS |