mixer interface: Add flags to enhance mixer interfaces

This patch adds a few flags to the mixer and mixerctrl interface to
better support OSSv4 (and potentially other backends).

Patch By: Garret D'Amore <garrett.damore@sun.com>
Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>

API: GST_MIXER_FLAG_HAS_WHITELIST, GST_MIXER_FLAG_GROUPING,
API: GST_MIXER_TRACK_NO_RECORD, GST_MIXER_TRACK_NO_MUTE,
API: GST_MIXER_TRACK_WHITELIST
This commit is contained in:
Garret D'Amore 2009-02-24 17:23:58 +00:00 committed by Jan Schmidt
parent fff6909c1b
commit b8af1223db
2 changed files with 20 additions and 4 deletions

View file

@ -87,16 +87,24 @@ typedef enum
* @GST_MIXER_FLAG_NONE: No flags
* @GST_MIXER_FLAG_AUTO_NOTIFICATIONS: The mixer implementation automatically sends
* notification messages.
* @GST_MIXER_FLAG_HAS_WHITELIST: The mixer implementation flags tracks that should
* be displayed by default (whitelisted). Since: 0.10.23
*
* @GST_MIXER_FLAG_GROUPING: The mixer implementation will leave some controls
* marked without either input or output. Controls marked as input or
* output should be grouped with input & output sliders, even if they
* are options or bare switches. Since: 0.10.23
*
* Flags for supported features. Whether the element automatically sends
* notifications on the bus is the only one for now.
* Flags for supported features.
*
* Since: 0.10.14
*/
typedef enum
{
GST_MIXER_FLAG_NONE = 0,
GST_MIXER_FLAG_AUTO_NOTIFICATIONS = (1<<0)
GST_MIXER_FLAG_AUTO_NOTIFICATIONS = (1<<0),
GST_MIXER_FLAG_HAS_WHITELIST = (1<<1),
GST_MIXER_FLAG_GROUPING = (1<<2),
} GstMixerFlags;
struct _GstMixerClass {

View file

@ -64,6 +64,11 @@ G_BEGIN_DECLS
* @GST_MIXER_TRACK_MASTER: this mixer track is likely to be the master control
* @GST_MIXER_TRACK_SOFTWARE: mixer track's' volume control is implemented
* in software (as opposed to a hardware control)
* @GST_MIXER_TRACK_NO_RECORD: input track lacks support for recordable.
* Since: 0.10.23
* @GST_MIXER_TRACK_NO_MUTE: play track doesn't support mute. Since: 0.10.23
* @GST_MIXER_TRACK_WHITELIST: track should be displayed "by default" in apps.
* Since: 0.10.23
*
* Mixer track flags.
*/
@ -73,7 +78,10 @@ typedef enum {
GST_MIXER_TRACK_MUTE = (1<<2),
GST_MIXER_TRACK_RECORD = (1<<3),
GST_MIXER_TRACK_MASTER = (1<<4),
GST_MIXER_TRACK_SOFTWARE = (1<<5)
GST_MIXER_TRACK_SOFTWARE = (1<<5),
GST_MIXER_TRACK_NO_RECORD = (1<<6),
GST_MIXER_TRACK_NO_MUTE = (1<<7),
GST_MIXER_TRACK_WHITELIST = (1<<8),
} GstMixerTrackFlags;
#define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \