Gst::Mixer Class Reference
[gstreamermm Interfaces]

Gst::Mixer - Interface for elements that provide mixer operations. More...

#include <mixer.h>

Inheritance diagram for Gst::Mixer:

Gst::AlsaMixer Gst::AlsaSrc Gst::Volume

List of all members.

Public Member Functions

virtual ~Mixer ()
GstMixer* gobj ()
 Provides access to the underlying C GObject.
const GstMixer* gobj () const
 Provides access to the underlying C GObject.
Glib::ListHandle< Glib::RefPtr
<Gst::MixerTrack >> 
list_tracks ()
 Returns: A List consisting of zero or more Gst::MixerTracks.
Glib::ListHandle< Glib::RefPtr
<const Gst::MixerTrack >> 
list_tracks () const
 Returns: A List consisting of zero or more Gst::MixerTracks.
Glib::ArrayHandle<int> get_volume (const Glib::RefPtr<const Gst::MixerTrack>& track) const
 Get the current volume(s) on the given track.
void set_volume (const Glib::RefPtr<Gst::MixerTrack>& track, const Glib::ArrayHandle<int>& volumes)
 Sets the volume on each channel in a track.
void set_mute (const Glib::RefPtr<Gst::MixerTrack>& track, bool mute)
 Mutes or unmutes the given channel.
void set_record (const Glib::RefPtr<Gst::MixerTrack>& track, bool record)
 Enables or disables recording on the given track.
void set_option (const Glib::RefPtr<Gst::MixerOptions>& opts, const Glib::ustring& value)
 Sets a name/value option in the mixer to the requested value.
void mute_toggled (const Glib::RefPtr<Gst::MixerTrack>& track, bool mute)
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the given track has changed mute state.
void record_toggled (const Glib::RefPtr<Gst::MixerTrack>& track, bool record)
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the given track has changed recording state.
void volume_changed (const Glib::RefPtr<Gst::MixerTrack>& track, const Glib::ArrayHandle<int>& volumes)
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the volume(s) for the given track have changed.
void option_changed (const Glib::RefPtr<Gst::MixerOptions>& opts, const Glib::ustring& value)
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the given options object has changed state.
void options_list_changed (const Glib::RefPtr<Gst::MixerOptions>& opts)
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the list of possible options of a given options object has changed.
Glib::ustring get_option (const Glib::RefPtr<const Gst::MixerOptions>& opts) const
 Get the current value of a name/value option in the mixer.
void mixer_changed ()
 This function is called by the mixer implementation to produce a notification message on the bus indicating that the list of available mixer tracks for a given mixer object has changed.
Gst::MixerFlags get_mixer_flags () const
 Get the set of supported flags for this mixer implementation.
virtual Glib::ArrayHandle<int> get_volume_vfunc (const Glib::RefPtr<const Gst::MixerTrack>& track) const
virtual Glib::ListHandle
< Glib::RefPtr
<Gst::MixerTrack >> 
list_tracks_vfunc () const
virtual void set_volume_vfunc (const Glib::RefPtr<Gst::MixerTrack>& track, const Glib::ArrayHandle<int>& volumes)
virtual void set_mute_vfunc (const Glib::RefPtr<Gst::MixerTrack>& track, bool mute)
virtual void set_record_vfunc (const Glib::RefPtr<Gst::MixerTrack>& track, bool record)
virtual void set_option_vfunc (const Glib::RefPtr<Gst::MixerOptions>& opts, const Glib::ustring& value)
virtual Glib::ustring get_option_vfunc (const Glib::RefPtr<const Gst::MixerOptions>& opts) const
virtual Gst::MixerFlags get_mixer_flags_vfunc () const

Static Public Member Functions

static void add_interface (GType gtype_implementer)
static Gst::MixerMessageType get_message_type (const Glib::RefPtr<Gst::Message>& message)
 Check a bus message to see if it is a GstMixer notification message and return the GstMixerMessageType identifying which type of notification it is.

Related Functions

(Note that these are not member functions.)

Glib::RefPtr<Gst::Mixerwrap (GstMixer* object, bool take_copy=false)
 A Glib::wrap() method for this object.


Detailed Description

Gst::Mixer - Interface for elements that provide mixer operations.

Constructor& Destructor Documentation

virtual Gst::Mixer::~Mixer (  )  [virtual]


Member Function Documentation

static void Gst::Mixer::add_interface ( GType  gtype_implementer  )  [static]

static Gst::MixerMessageType Gst::Mixer::get_message_type ( const Glib::RefPtr<Gst::Message>&  message  )  [static]

Check a bus message to see if it is a GstMixer notification message and return the GstMixerMessageType identifying which type of notification it is.

Parameters:
message A GstMessage to inspect.
Returns:
The type of the GstMixerMessage, or GST_MIXER_MESSAGE_INVALID if the message is not a GstMixer notification.
Since: 0.10.14.

Gst::MixerFlags Gst::Mixer::get_mixer_flags (  )  const

Get the set of supported flags for this mixer implementation.

Returns:
A set of or-ed GstMixerFlags for supported features.

virtual Gst::MixerFlags Gst::Mixer::get_mixer_flags_vfunc (  )  const [virtual]

Glib::ustring Gst::Mixer::get_option ( const Glib::RefPtr<const Gst::MixerOptions>&  opts  )  const

Get the current value of a name/value option in the mixer.

Parameters:
opts The Gst::MixerOptions that we operate on.
Returns:
Current value of the name/value option.

virtual Glib::ustring Gst::Mixer::get_option_vfunc ( const Glib::RefPtr<const Gst::MixerOptions>&  opts  )  const [virtual]

Glib::ArrayHandle<int> Gst::Mixer::get_volume ( const Glib::RefPtr<const Gst::MixerTrack>&  track  )  const

Get the current volume(s) on the given track.

Parameters:
track the Gst::MixerTrack to get the volume from.
Returns:
an array of integers (of size track->num_channels) to with the current volume of each channel in the given track.

virtual Glib::ArrayHandle<int> Gst::Mixer::get_volume_vfunc ( const Glib::RefPtr<const Gst::MixerTrack>&  track  )  const [virtual]

const GstMixer* Gst::Mixer::gobj (  )  const [inline]

Provides access to the underlying C GObject.

Reimplemented in Gst::AlsaMixer, Gst::AlsaSrc, and Gst::Volume.

GstMixer* Gst::Mixer::gobj (  )  [inline]

Provides access to the underlying C GObject.

Reimplemented in Gst::AlsaMixer, Gst::AlsaSrc, and Gst::Volume.

Glib::ListHandle<Glib::RefPtr<const Gst::MixerTrack>> Gst::Mixer::list_tracks (  )  const

Returns: A List consisting of zero or more Gst::MixerTracks.

Returns:
A List consisting of zero or more Gst::MixerTracks. The list is owned by the Gst::Mixer instance and must not be freed or modified.

Glib::ListHandle<Glib::RefPtr<Gst::MixerTrack>> Gst::Mixer::list_tracks (  ) 

Returns: A List consisting of zero or more Gst::MixerTracks.

Returns:
A List consisting of zero or more Gst::MixerTracks. The list is owned by the Gst::Mixer instance and must not be freed or modified.

virtual Glib::ListHandle<Glib::RefPtr<Gst::MixerTrack>> Gst::Mixer::list_tracks_vfunc (  )  const [virtual]

void Gst::Mixer::mixer_changed (  ) 

This function is called by the mixer implementation to produce a notification message on the bus indicating that the list of available mixer tracks for a given mixer object has changed.

Applications should rebuild their interface when they receive this message.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus.

Since: 0.10.18

void Gst::Mixer::mute_toggled ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  mute 
)

This function is called by the mixer implementation to produce a notification message on the bus indicating that the given track has changed mute state.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus.

Parameters:
track The GstMixerTrack that has change mute state.
mute The new state of the mute flag on the track.

void Gst::Mixer::option_changed ( const Glib::RefPtr<Gst::MixerOptions>&  opts,
const Glib::ustring &  value 
)

This function is called by the mixer implementation to produce a notification message on the bus indicating that the given options object has changed state.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus.

Parameters:
opts The GstMixerOptions that has changed value.
value The new value of the GstMixerOptions.

void Gst::Mixer::options_list_changed ( const Glib::RefPtr<Gst::MixerOptions>&  opts  ) 

This function is called by the mixer implementation to produce a notification message on the bus indicating that the list of possible options of a given options object has changed.

The new options are not contained in the message on purpose. Applications should call gst_mixer_option_get_values() on opts to make opts update its internal state and obtain the new list of values.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus for this to work.

Since: 0.10.18

Parameters:
opts The GstMixerOptions whose list of values has changed.

void Gst::Mixer::record_toggled ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  record 
)

This function is called by the mixer implementation to produce a notification message on the bus indicating that the given track has changed recording state.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus.

Parameters:
track The GstMixerTrack that has changed recording state.
record The new state of the record flag on the track.

void Gst::Mixer::set_mute ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  mute 
)

Mutes or unmutes the given channel.

To find out whether a track is currently muted, use GST_MIXER_TRACK_HAS_FLAG ().

Parameters:
track The Gst::MixerTrack to operate on.
mute A boolean value indicating whether to turn on or off muting.

virtual void Gst::Mixer::set_mute_vfunc ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  mute 
) [virtual]

void Gst::Mixer::set_option ( const Glib::RefPtr<Gst::MixerOptions>&  opts,
const Glib::ustring &  value 
)

Sets a name/value option in the mixer to the requested value.

Parameters:
opts The Gst::MixerOptions that we operate on.
value The requested new option value.

virtual void Gst::Mixer::set_option_vfunc ( const Glib::RefPtr<Gst::MixerOptions>&  opts,
const Glib::ustring &  value 
) [virtual]

void Gst::Mixer::set_record ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  record 
)

Enables or disables recording on the given track.

Note that this is only possible on input tracks, not on output tracks (see GST_MIXER_TRACK_HAS_FLAG () and the GST_MIXER_TRACK_INPUT flag).

Parameters:
track The Gst::MixerTrack to operate on.
record A boolean value that indicates whether to turn on or off recording.

virtual void Gst::Mixer::set_record_vfunc ( const Glib::RefPtr<Gst::MixerTrack>&  track,
bool  record 
) [virtual]

void Gst::Mixer::set_volume ( const Glib::RefPtr<Gst::MixerTrack>&  track,
const Glib::ArrayHandle< int > &  volumes 
)

Sets the volume on each channel in a track.

Short note about naming: a track is defined as one separate stream owned by the mixer/element, such as 'Line-in' or 'Microphone'. A channel is said to be a mono-stream inside this track. A stereo track thus contains two channels.

Parameters:
track The Gst::MixerTrack to set the volume on.
volumes An array of integers (of size track->num_channels) that gives the wanted volume for each channel in this track.

virtual void Gst::Mixer::set_volume_vfunc ( const Glib::RefPtr<Gst::MixerTrack>&  track,
const Glib::ArrayHandle< int > &  volumes 
) [virtual]

void Gst::Mixer::volume_changed ( const Glib::RefPtr<Gst::MixerTrack>&  track,
const Glib::ArrayHandle< int > &  volumes 
)

This function is called by the mixer implementation to produce a notification message on the bus indicating that the volume(s) for the given track have changed.

This function only works for GstElements that are implementing the GstMixer interface, and the element needs to have been provided a bus.

Parameters:
track The GstMixerTrack that has changed.
volumes Array of volume values, one per channel on the mixer track.


Friends And Related Function Documentation

Glib::RefPtr<Gst::Mixer> wrap ( GstMixer *  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:

Generated on Sat Aug 15 15:05:41 2009 for gstreamermm by  doxygen 1.5.9