+-----+-----+
|
+-----V----------+ - manages ringbuffer
- + baseaudiosink + - manages scheduling (push/pull)
+ + audiobasesink + - manages scheduling (push/pull)
+-----+----------+ - manages clock/query/seek
| - manages scheduling of samples in the ringbuffer
| - manages caps parsing
- getrange based mode
- In getrange based mode, the baseaudiosink will use the callback function
+ In getrange based mode, the audiobasesink will use the callback function
of the ringbuffer to get a segsize samples from the peer element. These
samples will then be placed in the ringbuffer at the next play position.
It is assumed that the getrange function returns fast enough to fill the
DMA mode:
- Elements that can do DMA based access to the audio device have to subclass
- from the GstBaseAudioSink class and wrap the DMA ringbuffer in a subclass
+ from the GstAudioBaseSink class and wrap the DMA ringbuffer in a subclass
of GstRingBuffer.
The ringbuffer subclass should trigger a callback after writing or playing
Clocks:
- The GstBaseAudioSink class will use the ringbuffer to act as a clock provider.
+ The GstAudioBaseSink class will use the ringbuffer to act as a clock provider.
It can do this by using the play pointer and the delay to calculate the
clock time.
views, G_TYPE_INT, default 1
The number of views for multiview video. Each buffer contains
- multiple GstMetaVideo buffers that describe each view. use the frame id to
+ multiple GstVideoMeta buffers that describe each view. use the frame id to
get access to the different views.
interlace-mode, G_TYPE_STRING, default progressive
views property > 1) the second field of view N is at N * 2.
Each view has only half the amount of lines as noted in the
height property, pads specifying the "fields" property
- must be prepared for this.
+ must be prepared for this. This mode requires multiple
+ GstVideoMeta metadata to describe the fields.
chroma-site, G_TYPE_STRING, default UNKNOWN
The chroma siting of the video frames.