# Gst::AudioSink Class Reference
gstreamermm Base Classes

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

Inheritance diagram for Gst::AudioSink:
[legend]
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 | open_vfunc ()
| vfunc to open the device.
virtual bool | prepare_vfunc (Gst::RingBufferSpec& spec)
| vfunc to prepare the device to operate with the specified parameters.
virtual bool | unprepare_vfunc ()
| vfunc to undo operations done in prepare.
virtual bool | close_vfunc ()
| vfunc to close the device.
virtual guint | write_vfunc (const void* data, guint length)
| vfunc to write data to the device.
virtual guint | get_delay_vfunc () const
| 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 bool Gst::AudioSink::close_vfunc | ( |  | ) | `[virtual]`

vfunc to close the device.

virtual guint Gst::AudioSink::get_delay_vfunc | ( |  | ) | const`[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::open_vfunc | ( |  | ) | `[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.

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

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 bool Gst::AudioSink::unprepare_vfunc | ( |  | ) | `[virtual]`

vfunc to undo operations done in prepare.

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

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