gstaudiosrc

gstaudiosrc — Simple base class for audio sources

Types and Values

Object Hierarchy

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

Includes

#include <gst/audio/gstaudiosrc.h>

Description

This is the most simple base class for audio sources that only requires subclasses to implement a set of simple functions:

open()

Open the device.

prepare()

Configure the device with the specified format.

read()

Read samples from the device.

reset()

Unblock reads and flush the device.

delay()

Get the number of samples in the device but not yet read.

unprepare()

Undo operations done by prepare.

close()

Close the device.

All scheduling of samples and timestamps is done in this base class together with GstAudioBaseSrc using a default implementation of a GstAudioRingBuffer that uses threads.

Functions

Types and Values

struct GstAudioSrc

struct GstAudioSrc;

Base class for simple audio sources.


struct GstAudioSrcClass

struct GstAudioSrcClass {
  GstAudioBaseSrcClass parent_class;

  /* vtable */

  /* open the device with given specs */
  gboolean (*open)      (GstAudioSrc *src);
  /* prepare resources and state to operate with the given specs */
  gboolean (*prepare)   (GstAudioSrc *src, GstAudioRingBufferSpec *spec);
  /* undo anything that was done in prepare() */
  gboolean (*unprepare) (GstAudioSrc *src);
  /* close the device */
  gboolean (*close)     (GstAudioSrc *src);
  /* read samples from the device */
  guint    (*read)      (GstAudioSrc *src, gpointer data, guint length,
      GstClockTime *timestamp);
  /* get number of frames queued in the device */
  guint    (*delay)     (GstAudioSrc *src);
  /* reset the audio device, unblock from a write */
  void     (*reset)     (GstAudioSrc *src);
};

GstAudioSrc class. Override the vmethod to implement functionality.

Members

open ()

open the device with the specified caps

 

prepare ()

configure device with format

 

unprepare ()

undo the configuration

 

close ()

close the device

 

read ()

read samples from the audio device

 

delay ()

the number of frames queued in the device

 

reset ()

unblock a read to the device and reset.

 

See Also

GstAudioBaseSrc, GstAudioRingBuffer, GstAudioSrc.