Top |
Functions
Properties
gint64 | actual-buffer-time | Read |
gint64 | actual-latency-time | Read |
gint64 | buffer-time | Read / Write |
gint64 | latency-time | Read / Write |
gboolean | provide-clock | Read / Write |
GstAudioBaseSrcSlaveMethod | slave-method | Read / Write |
Object Hierarchy
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstBaseSrc ╰── GstPushSrc ╰── GstAudioBaseSrc ╰── GstAudioSrc
Description
This is the base class for audio sources. Subclasses need to implement the ::create_ringbuffer vmethod. This base class will then take care of reading samples from the ringbuffer, synchronisation and flushing.
Functions
GST_AUDIO_BASE_SRC_CLOCK()
#define GST_AUDIO_BASE_SRC_CLOCK(obj) (GST_AUDIO_BASE_SRC (obj)->clock)
Get the GstClock of obj
.
GST_AUDIO_BASE_SRC_PAD()
#define GST_AUDIO_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
Get the source GstPad of obj
.
gst_audio_base_src_create_ringbuffer ()
GstAudioRingBuffer *
gst_audio_base_src_create_ringbuffer (GstAudioBaseSrc *src
);
Create and return the GstAudioRingBuffer for src
. This function will call
the ::create_ringbuffer vmethod and will set src
as the parent of the
returned buffer (see gst_object_set_parent()
).
gst_audio_base_src_set_provide_clock ()
void gst_audio_base_src_set_provide_clock (GstAudioBaseSrc *src
,gboolean provide
);
Controls whether src
will provide a clock or not. If provide
is TRUE
,
gst_element_provide_clock()
will return a clock that reflects the datarate
of src
. If provide
is FALSE
, gst_element_provide_clock()
will return NULL.
gst_audio_base_src_get_provide_clock ()
gboolean
gst_audio_base_src_get_provide_clock (GstAudioBaseSrc *src
);
Queries whether src
will provide a clock or not. See also
gst_audio_base_src_set_provide_clock.
gst_audio_base_src_get_slave_method ()
GstAudioBaseSrcSlaveMethod
gst_audio_base_src_get_slave_method (GstAudioBaseSrc *src
);
Get the current slave method used by src
.
gst_audio_base_src_set_slave_method ()
void gst_audio_base_src_set_slave_method (GstAudioBaseSrc *src
,GstAudioBaseSrcSlaveMethod method
);
Controls how clock slaving will be performed in src
.
Types and Values
struct GstAudioBaseSrcClass
struct GstAudioBaseSrcClass { GstPushSrcClass parent_class; /* subclass ringbuffer allocation */ GstAudioRingBuffer* (*create_ringbuffer) (GstAudioBaseSrc *src); };
GstAudioBaseSrc class. Override the vmethod to implement functionality.
Property Details
The “actual-buffer-time”
property
“actual-buffer-time” gint64
Actual configured size of audio buffer in microseconds.
Flags: Read
Allowed values: >= -1
Default value: -1
The “actual-latency-time”
property
“actual-latency-time” gint64
Actual configured audio latency in microseconds.
Flags: Read
Allowed values: >= -1
Default value: -1
The “buffer-time”
property
“buffer-time” gint64
Size of audio buffer in microseconds. This is the maximum amount of data that is buffered in the device and the maximum latency that the source reports. This value might be ignored by the element if necessary; see "actual-buffer-time".
Flags: Read / Write
Allowed values: >= 1
Default value: 200000
The “latency-time”
property
“latency-time” gint64
The minimum amount of data to read in each iteration in microseconds. This is the minimum latency that the source reports. This value might be ignored by the element if necessary; see "actual-latency-time".
Flags: Read / Write
Allowed values: >= 1
Default value: 10000
The “provide-clock”
property
“provide-clock” gboolean
Provide a clock to be used as the global pipeline clock.
Flags: Read / Write
Default value: TRUE
The “slave-method”
property
“slave-method” GstAudioBaseSrcSlaveMethod
Algorithm used to match the rate of the masterclock.
Flags: Read / Write
Default value: GST_AUDIO_BASE_SRC_SLAVE_SKEW