Subclasses should override this when they can provide an alternate method of spawning a thread to drive the pipeline in pull mode. Should start or stop the pulling thread, depending on the value of the "active" argument. Called after actually activating the sink pad in pull mode. The default implementation starts a task on the sink pad.
Override this to handle events arriving on the sink pad
Only useful in pull mode. Implement if you have ideas about what should be the default values for the caps you support.
Called to get sink pad caps from the subclass
Called to get the start and end times for synchronising the passed buffer to the clock
Element parent class
Called to prepare the buffer for @render and @preroll. This function is called before synchronisation is performed.
Called to prepare the buffer list for @render_list. This function is called before synchronisation is performed.
Called to present the preroll buffer if desired.
configure the allocation query
perform a #GstQuery on the element.
Called when a buffer should be presented or output, at the correct moment if the #GstBaseSink has been set to sync to the clock.
Same as @render but used with buffer lists instead of buffers.
Notify subclass of changed caps
Start processing. Ideal for opening resources in the subclass
Stop processing. Subclasses should use this to close resources.
Unlock any pending access to the resource. Subclasses should unblock any blocked function ASAP and call gstbase.base_sink.BaseSink.waitPreroll
Clear the previous unlock request. Subclasses should clear any state they set during #GstBaseSinkClass::unlock, and be ready to continue where they left off after gstbase.base_sink.BaseSink.waitPreroll, gstbase.base_sink.BaseSink.wait or gst_wait_sink_wait_clock() return or #GstBaseSinkClass::render is called again.
Override this to implement custom logic to wait for the event time (for events like EOS and GAP). Subclasses should always first chain up to the default implementation.
Subclasses can override any of the available virtual methods or not, as needed. At the minimum, the @render method should be overridden to output/present buffers.