gstreamermm  0.10.10.2
Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions
Gst::Mixer Class Reference

An interface for elements that provide mixer operations. More...

Inheritance diagram for Gst::Mixer:
Inheritance graph
[legend]
Collaboration diagram for Gst::Mixer:
Collaboration graph
[legend]

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.
std::vector< Glib::RefPtr
< Gst::MixerTrack > > 
list_tracks ()
 Returns a list of available tracks for this mixer/element.
std::vector< Glib::RefPtr
< const Gst::MixerTrack > > 
list_tracks () const
 Returns a list of available tracks for this mixer/element.
std::vector< 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 std::vector< 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 std::vector< 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.
Gst::MixerType get_mixer_type () const
 Get the Gst::MixerType of this mixer implementation.
virtual std::vector< int > get_volume_vfunc (const Glib::RefPtr< const Gst::MixerTrack >& track) const
virtual std::vector
< Glib::RefPtr
< Gst::MixerTrack > > 
list_tracks_vfunc ()
virtual void set_volume_vfunc (const Glib::RefPtr< Gst::MixerTrack >& track, const std::vector< 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.

Protected Member Functions

 Mixer ()
 You should derive from this class to use it.

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

An interface for elements that provide mixer operations.


Constructor & Destructor Documentation

Gst::Mixer::Mixer ( ) [protected]

You should derive from this class to use it.

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

Member Function Documentation

static void Gst::Mixer::add_interface ( GType  gtype_implementer) [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:
messageA GstMessage to inspect.
Returns:
The type of the GstMixerMessage, or GST_MIXER_MESSAGE_INVALID if the message is not a GstMixer notification.

Get the set of supported flags for this mixer implementation.

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

Get the Gst::MixerType of this mixer implementation.

Returns:
A the Gst::MixerType.

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

Parameters:
optsThe 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]
std::vector<int> Gst::Mixer::get_volume ( const Glib::RefPtr< const Gst::MixerTrack >&  track) const

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

Parameters:
trackthe 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 std::vector<int> Gst::Mixer::get_volume_vfunc ( const Glib::RefPtr< const Gst::MixerTrack >&  track) const [virtual]
GstMixer* Gst::Mixer::gobj ( ) [inline]

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

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

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

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

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

Returns a list of available tracks for this mixer/element.

Note that it is allowed for sink (output) elements to only provide the output tracks in this list. Likewise, for sources (inputs), it is allowed to only provide input elements in this list.

Returns:
A std::vector<> consisting of zero or more Gst::MixerTrack.

Returns a list of available tracks for this mixer/element.

Note that it is allowed for sink (output) elements to only provide the output tracks in this list. Likewise, for sources (inputs), it is allowed to only provide input elements in this list.

Returns:
A std::vector<> consisting of zero or more Gst::MixerTrack.

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.

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:
trackThe GstMixerTrack that has change mute state.
muteThe 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:
optsThe GstMixerOptions that has changed value.
valueThe new value of the GstMixerOptions.

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.

Parameters:
optsThe 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:
trackThe GstMixerTrack that has changed recording state.
recordThe 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:
trackThe Gst::MixerTrack to operate on.
muteA 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:
optsThe Gst::MixerOptions that we operate on.
valueThe 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:
trackThe Gst::MixerTrack to operate on.
recordA 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 std::vector< 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:
trackThe Gst::MixerTrack to set the volume on.
volumesAn 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 std::vector< int > &  volumes 
) [virtual]
void Gst::Mixer::volume_changed ( const Glib::RefPtr< Gst::MixerTrack >&  track,
const std::vector< 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:
trackThe GstMixerTrack that has changed.
volumesArray 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:
objectThe C instance.
take_copyFalse 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: