# Gst::AudioSink Class Reference
[gstreamermm Base Classes]

A simple base class for audio sinks. More...

Inherits Gst::BaseAudioSink.

Inherited by Gst::AlsaSink.

Collaboration diagram for Gst::AudioSink:
[legend]

List of all members.

## Public Member Functions

virtual | ~AudioSink ()
GstAudioSink* | gobj ()
| Provides access to the underlying C GObject.
const GstAudioSink* | gobj () const
| Provides access to the underlying C GObject.
GstAudioSink* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
virtual bool | prepare_vfunc (Gst::RingBufferSpec& spec)
| vfunc to open the device.
virtual guint | write_vfunc (const void* data, guint length)
| vfunc to undo operations done in prepare.
virtual guint | get_delay_vfunc ()
| vfunc to return how many samples are still in the device.
virtual void | reset_vfunc ()
| vfunc to return as quickly as possible from a write and flush any pending samples from the device.

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gst::AudioSink > | wrap (GstAudioSink* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

A simple base class for audio sinks.

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

- open_vfunc() - Open the device.
- prepare_vfunc() - Configure the device with the specified format.
- write_vfunc() - Write samples to the device.
- reset_vfunc() - Unblock writes and flush the device.
- get_delay_vfunc() - Get the number of samples written but not yet played by the device.
- unprepare_vfunc() - Undo operations done by prepare.
- close_vfunc() - Close the device.

All scheduling of samples and timestamps is done in this base class together with Gst::BaseAudioSink using a default implementation of a Gst::RingBuffer that uses threads.

Last reviewed on 2006-09-27 (0.10.12)

## Constructor & Destructor Documentation

virtual Gst::AudioSink::~AudioSink | ( |  | ) | `[virtual]`

## Member Function Documentation

virtual guint Gst::AudioSink::get_delay_vfunc | ( |  | ) | `[virtual]`

vfunc to return how many samples are still in the device.

This is used to drive the synchronisation.

const GstAudioSink* Gst::AudioSink::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gst::BaseAudioSink.

Reimplemented in Gst::AlsaSink.

GstAudioSink* Gst::AudioSink::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gst::BaseAudioSink.

Reimplemented in Gst::AlsaSink.

GstAudioSink* Gst::AudioSink::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

Reimplemented from Gst::BaseAudioSink.

Reimplemented in Gst::AlsaSink.

virtual bool Gst::AudioSink::prepare_vfunc | ( | Gst::RingBufferSpec& | spec | ) | `[virtual]`

vfunc to open the device.

No configuration needs to be done at this point. This function is also used to check if the device is available. vfunc to prepare the device to operate with the specified parameters.

virtual void Gst::AudioSink::reset_vfunc | ( |  | ) | `[virtual]`

vfunc to return as quickly as possible from a write and flush any pending samples from the device.

virtual guint Gst::AudioSink::write_vfunc | ( | const void * | data,
|  | guint | length |
| ) |  |  | `[virtual]`

vfunc to undo operations done in prepare.

vfunc to close the device. vfunc to write data to the device.

## Friends And Related Function Documentation

Glib::RefPtr< Gst::AudioSink > wrap | ( | GstAudioSink * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gstreamermm/audiosink.h