![]() |
![]() |
![]() |
GStreamer Base Plugins 1.0 Library Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
#include <gst/audio/gstaudiobasesrc.h> struct GstAudioBaseSrc; struct GstAudioBaseSrcClass; enum GstAudioBaseSrcSlaveMethod; #define GST_AUDIO_BASE_SRC_CLOCK (obj) #define GST_AUDIO_BASE_SRC_PAD (obj) GstAudioRingBuffer * gst_audio_base_src_create_ringbuffer (GstAudioBaseSrc *src
); void gst_audio_base_src_set_provide_clock (GstAudioBaseSrc *src
,gboolean provide
); gboolean gst_audio_base_src_get_provide_clock (GstAudioBaseSrc *src
); GstAudioBaseSrcSlaveMethod gst_audio_base_src_get_slave_method (GstAudioBaseSrc *src
); void gst_audio_base_src_set_slave_method (GstAudioBaseSrc *src
,GstAudioBaseSrcSlaveMethod method
);
GObject +----GInitiallyUnowned +----GstObject +----GstElement +----GstBaseSrc +----GstPushSrc +----GstAudioBaseSrc +----GstAudioSrc
"actual-buffer-time" gint64 : Read "actual-latency-time" gint64 : Read "buffer-time" gint64 : Read / Write "latency-time" gint64 : Read / Write "provide-clock" gboolean : Read / Write "slave-method" GstAudioBaseSrcSlaveMethod : Read / Write
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.
struct GstAudioBaseSrcClass { GstPushSrcClass parent_class; /* subclass ringbuffer allocation */ GstAudioRingBuffer* (*create_ringbuffer) (GstAudioBaseSrc *src); };
GstAudioBaseSrc class. Override the vmethod to implement functionality.
the parent class. | |
create and return a GstAudioRingBuffer to read from. |
typedef enum { GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE, GST_AUDIO_BASE_SRC_SLAVE_RETIMESTAMP, GST_AUDIO_BASE_SRC_SLAVE_SKEW, GST_AUDIO_BASE_SRC_SLAVE_NONE } GstAudioBaseSrcSlaveMethod;
Different possible clock slaving algorithms when the internal audio clock was not selected as the pipeline clock.
#define GST_AUDIO_BASE_SRC_CLOCK(obj) (GST_AUDIO_BASE_SRC (obj)->clock)
Get the GstClock of obj
.
|
a GstAudioBaseSrc |
#define GST_AUDIO_BASE_SRC_PAD(obj) (GST_BASE_SRC (obj)->srcpad)
Get the source GstPad of obj
.
|
a GstAudioBaseSrc |
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()
).
|
a GstAudioBaseSrc. |
Returns : |
The new ringbuffer of src . [transfer none]
|
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.
|
a GstAudioBaseSrc |
|
new state |
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.
|
a GstAudioBaseSrc |
Returns : |
TRUE if src will provide a clock. |
GstAudioBaseSrcSlaveMethod gst_audio_base_src_get_slave_method
(GstAudioBaseSrc *src
);
Get the current slave method used by src
.
|
a GstAudioBaseSrc |
Returns : |
The current slave method used by src . |
void gst_audio_base_src_set_slave_method (GstAudioBaseSrc *src
,GstAudioBaseSrcSlaveMethod method
);
Controls how clock slaving will be performed in src
.
|
a GstAudioBaseSrc |
|
the new slave method |
"actual-buffer-time"
property "actual-buffer-time" gint64 : Read
Actual configured size of audio buffer in microseconds.
Allowed values: >= -1
Default value: -1
"actual-latency-time"
property "actual-latency-time" gint64 : Read
Actual configured audio latency in microseconds.
Allowed values: >= -1
Default value: -1
"buffer-time"
property "buffer-time" gint64 : Read / Write
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".
Allowed values: >= 1
Default value: 200000
"latency-time"
property "latency-time" gint64 : Read / Write
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".
Allowed values: >= 1
Default value: 10000
"provide-clock"
property "provide-clock" gboolean : Read / Write
Provide a clock to be used as the global pipeline clock.
Default value: TRUE
"slave-method"
property"slave-method" GstAudioBaseSrcSlaveMethod : Read / Write
Algorithm used to match the rate of the masterclock.
Default value: GST_AUDIO_BASE_SRC_SLAVE_SKEW