|  |  |  | GStreamer Base Plugins 0.10 Library Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | ||||
GObject +----GstObject +----GstElement +----GstBaseSrc +----GstPushSrc +----GstBaseAudioSrc +----GstAudioSrc
This is the most simple base class for audio sources that only requires subclasses to implement a set of simple functions:
| 
 | Open the device. | 
| 
 | Configure the device with the specified format. | 
| 
 | Read samples from the device. | 
| 
 | Unblock reads and flush the device. | 
| 
 | Get the number of samples in the device but not yet read. | 
| 
 | Undo operations done by prepare. | 
| 
 | Close the device. | 
All scheduling of samples and timestamps is done in this base class together with GstBaseAudioSrc using a default implementation of a GstRingBuffer that uses threads.
Last reviewed on 2006-09-27 (0.10.12)
typedef struct {
  GstBaseAudioSrcClass 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, GstRingBufferSpec *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);
  /* get number of samples queued in the device */
  guint    (*delay)     (GstAudioSrc *src);
  /* reset the audio device, unblock from a write */
  void     (*reset)     (GstAudioSrc *src);
} GstAudioSrcClass;
GstAudioSrc class. Override the vmethod to implement functionality.
| GstBaseAudioSrcClass  | the parent class. | 
| open the device with the specified caps | |
| configure device with format | |
| undo the configuration | |
| close the device | |
| read samples to the audio device | |
| the number of samples queued in the device | |
| unblock a read to the device and reset. |