# Gst::BaseAudioSink Class Reference
gstreamermm Base Classes

The base class for audio sinks. More...

Inheritance diagram for Gst::BaseAudioSink:
[legend]
Collaboration diagram for Gst::BaseAudioSink:
[legend]

List of all members.

## Public Member Functions

virtual | ~BaseAudioSink ()
GstBaseAudioSink* | gobj ()
| Provides access to the underlying C GObject.
const GstBaseAudioSink* | gobj () const
| Provides access to the underlying C GObject.
GstBaseAudioSink* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
Glib::RefPtr< Gst::Clock > | get_provided_clock ()
| Get the Gst::Clock of the Gst::BaseAudioSink.
Glib::RefPtr< const Gst::Clock > | get_provided_clock () const
Glib::RefPtr< Gst::RingBuffer > | create_ring_buffer ()
| Create and return the Gst::RingBuffer for sink.
void | set_provide_clock (bool provide)
| Controls whether sink will provide a clock or not.
bool | get_provide_clock () const
| Queries whether sink will provide a clock or not.
void | set_slave_method (Gst::BaseAudioSinkSlaveMethod method)
| Controls how clock slaving will be performed in sink.
Gst::BaseAudioSinkSlaveMethod | get_slave_method () const
| Get the current slave method used by sink.
gint64 | get_drift_tolerance () const
| Get the current drift tolerance, in microseconds, used by sink.
void | set_drift_tolerance (gint64 drift_tolerance)
| Controls the sink's drift tolerance.
Glib::PropertyProxy< gint64 > | property_buffer_time ()
| Size of audio buffer in microseconds.
Glib::PropertyProxy_ReadOnly < gint64 > | property_buffer_time () const
| Size of audio buffer in microseconds.
Glib::PropertyProxy< bool > | property_can_activate_pull ()
| Allow pull-based scheduling.
Glib::PropertyProxy_ReadOnly < bool > | property_can_activate_pull () const
| Allow pull-based scheduling.
Glib::PropertyProxy< gint64 > | property_drift_tolerance ()
| Tolerance for timestamp and clock drift in microseconds.
Glib::PropertyProxy_ReadOnly < gint64 > | property_drift_tolerance () const
| Tolerance for timestamp and clock drift in microseconds.
Glib::PropertyProxy< gint64 > | property_latency_time ()
| Audio latency in microseconds.
Glib::PropertyProxy_ReadOnly < gint64 > | property_latency_time () const
| Audio latency in microseconds.
Glib::PropertyProxy< bool > | property_provide_clock ()
| Provide a clock to be used as the global pipeline clock.
Glib::PropertyProxy_ReadOnly < bool > | property_provide_clock () const
| Provide a clock to be used as the global pipeline clock.
Glib::PropertyProxy < Gst::BaseAudioSinkSlaveMethod > | property_slave_method ()
| Algorithm to use to match the rate of the masterclock.
Glib::PropertyProxy_ReadOnly < Gst::BaseAudioSinkSlaveMethod > | property_slave_method () const
| Algorithm to use to match the rate of the masterclock.
virtual Glib::RefPtr < Gst::RingBuffer > | create_ring_buffer_vfunc ()
| vfunc to create and return a Gst::RingBuffer to write to.

## Related Functions

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

## Detailed Description

The base class for audio sinks.

This is the base class for audio sinks. Subclasses need to implement the create_ringbuffer_vfunc vmethod. This base class will then take care of writing samples to the ringbuffer, synchronisation, clipping and flushing.

Last reviewed on 2006-09-27 (0.10.12).

## Constructor & Destructor Documentation

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

## Member Function Documentation

Glib::RefPtr<Gst::RingBuffer> Gst::BaseAudioSink::create_ring_buffer | ( |  | ) |

Create and return the Gst::RingBuffer for sink.

This function will call the ::create_ringbuffer vmethod and will set sink as the parent of the returned buffer (see Gst::Object::set_parent()).

Returns:
  The new ringbuffer of sink.

virtual Glib::RefPtr<Gst::RingBuffer> Gst::BaseAudioSink::create_ring_buffer_vfunc | ( |  | ) | `[virtual]`

vfunc to create and return a Gst::RingBuffer to write to.

gint64 Gst::BaseAudioSink::get_drift_tolerance | ( |  | ) | const

Get the current drift tolerance, in microseconds, used by sink.

Returns:
  The current drift tolerance used by sink.

bool Gst::BaseAudioSink::get_provide_clock | ( |  | ) | const

Queries whether sink will provide a clock or not.

See also gst_base_audio_sink_set_provide_clock.

Returns:
  `true` if sink will provide a clock.

Glib::RefPtr<const Gst::Clock> Gst::BaseAudioSink::get_provided_clock | ( |  | ) | const

Glib::RefPtr<Gst::Clock> Gst::BaseAudioSink::get_provided_clock | ( |  | ) |

Get the Gst::Clock of the Gst::BaseAudioSink.

Gst::BaseAudioSinkSlaveMethod Gst::BaseAudioSink::get_slave_method | ( |  | ) | const

Get the current slave method used by sink.

Returns:
  The current slave method used by sink.

const GstBaseAudioSink* Gst::BaseAudioSink::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gst::BaseSink.

Reimplemented in Gst::AudioSink, and Gst::AlsaSink.

GstBaseAudioSink* Gst::BaseAudioSink::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Gst::BaseSink.

Reimplemented in Gst::AudioSink, and Gst::AlsaSink.

GstBaseAudioSink* Gst::BaseAudioSink::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::BaseSink.

Reimplemented in Gst::AudioSink, and Gst::AlsaSink.

Glib::PropertyProxy<gint64> Gst::BaseAudioSink::property_buffer_time | ( |  | ) |

Size of audio buffer in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<gint64> Gst::BaseAudioSink::property_buffer_time | ( |  | ) | const

Size of audio buffer in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gst::BaseAudioSink::property_can_activate_pull | ( |  | ) | const

Allow pull-based scheduling.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gst::BaseAudioSink::property_can_activate_pull | ( |  | ) |

Allow pull-based scheduling.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<gint64> Gst::BaseAudioSink::property_drift_tolerance | ( |  | ) |

Tolerance for timestamp and clock drift in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<gint64> Gst::BaseAudioSink::property_drift_tolerance | ( |  | ) | const

Tolerance for timestamp and clock drift in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<gint64> Gst::BaseAudioSink::property_latency_time | ( |  | ) |

Audio latency in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<gint64> Gst::BaseAudioSink::property_latency_time | ( |  | ) | const

Audio latency in microseconds.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<bool> Gst::BaseAudioSink::property_provide_clock | ( |  | ) | const

Provide a clock to be used as the global pipeline clock.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<bool> Gst::BaseAudioSink::property_provide_clock | ( |  | ) |

Provide a clock to be used as the global pipeline clock.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy<Gst::BaseAudioSinkSlaveMethod> Gst::BaseAudioSink::property_slave_method | ( |  | ) |

Algorithm to use to match the rate of the masterclock.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

Glib::PropertyProxy_ReadOnly<Gst::BaseAudioSinkSlaveMethod> Gst::BaseAudioSink::property_slave_method | ( |  | ) | const

Algorithm to use to match the rate of the masterclock.

You rarely need to use properties because there are get_ and set_ methods for almost all of them.

Returns:
  A PropertyProxy that allows you to get or set the property of the value, or receive notification when the value of the property changes.

void Gst::BaseAudioSink::set_drift_tolerance | ( | gint64 | drift_tolerance | ) |

Controls the sink's drift tolerance.

Parameters:

  drift_tolerance | The new drift tolerance in microseconds.

void Gst::BaseAudioSink::set_provide_clock | ( | bool | provide | ) |

Controls whether sink will provide a clock or not.

If provide is `true`, Gst::Element::provide_clock() will return a clock that reflects the datarate of sink. If provide is `false`, Gst::Element::provide_clock() will return `0`.

Parameters:

  provide | New state.

void Gst::BaseAudioSink::set_slave_method | ( | Gst::BaseAudioSinkSlaveMethod | method | ) |

Controls how clock slaving will be performed in sink.

Parameters:

  method | The new slave method.

## Friends And Related Function Documentation

Glib::RefPtr< Gst::BaseAudioSink > wrap | ( | GstBaseAudioSink * | 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/baseaudiosink.h