gstaudiobasesrc

gstaudiobasesrc — Base class for audio sources

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

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBaseSrc
                    ╰── GstPushSrc
                        ╰── GstAudioBaseSrc
                            ╰── GstAudioSrc

Includes

#include <gst/audio/gstaudiobasesrc.h>

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.

Last reviewed on 2006-09-27 (0.10.12)

Functions

GST_AUDIO_BASE_SRC_CLOCK()

#define GST_AUDIO_BASE_SRC_CLOCK(obj)    (GST_AUDIO_BASE_SRC (obj)->clock)

Get the GstClock of obj .

Parameters

obj

a GstAudioBaseSrc

 

GST_AUDIO_BASE_SRC_PAD()

#define GST_AUDIO_BASE_SRC_PAD(obj)      (GST_BASE_SRC (obj)->srcpad)

Get the source GstPad of obj .

Parameters

obj

a GstAudioBaseSrc

 

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()).

Parameters

src

a GstAudioBaseSrc.

 

Returns

The new ringbuffer of src .

[transfer none]


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.

Parameters

src

a GstAudioBaseSrc

 

provide

new state

 

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.

Parameters

src

a GstAudioBaseSrc

 

Returns

TRUE if src will provide a 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 .

Parameters

src

a GstAudioBaseSrc

 

Returns

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 .

Parameters

src

a GstAudioBaseSrc

 

method

the new slave method

 

Types and Values

struct GstAudioBaseSrc

struct GstAudioBaseSrc;

Opaque GstAudioBaseSrc.


struct GstAudioBaseSrcClass

struct GstAudioBaseSrcClass {
  GstPushSrcClass      parent_class;

  /* subclass ringbuffer allocation */
  GstAudioRingBuffer* (*create_ringbuffer)  (GstAudioBaseSrc *src);
};

GstAudioBaseSrc class. Override the vmethod to implement functionality.

Members

GstPushSrcClass parent_class;

the parent class.

 

create_ringbuffer ()

create and return a GstAudioRingBuffer to read from.

 

enum GstAudioBaseSrcSlaveMethod

Different possible clock slaving algorithms when the internal audio clock was not selected as the pipeline clock.

Members

GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE

Resample to match the master clock.

 

GST_AUDIO_BASE_SRC_SLAVE_RETIMESTAMP

Retimestamp output buffers with master clock time.

 

GST_AUDIO_BASE_SRC_SLAVE_SKEW

Adjust capture pointer when master clock drifts too much.

 

GST_AUDIO_BASE_SRC_SLAVE_NONE

No adjustment is done.

 

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.

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.

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 to use to match the rate of the masterclock.

Flags: Read / Write

Default value: GST_AUDIO_BASE_SRC_SLAVE_SKEW

See Also

GstAudioSrc, GstAudioRingBuffer.