mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-17 22:06:41 +00:00
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:
parent
fff6909c1b
commit
b8af1223db
2 changed files with 20 additions and 4 deletions
|
@ -87,16 +87,24 @@ typedef enum
|
||||||
* @GST_MIXER_FLAG_NONE: No flags
|
* @GST_MIXER_FLAG_NONE: No flags
|
||||||
* @GST_MIXER_FLAG_AUTO_NOTIFICATIONS: The mixer implementation automatically sends
|
* @GST_MIXER_FLAG_AUTO_NOTIFICATIONS: The mixer implementation automatically sends
|
||||||
* notification messages.
|
* notification messages.
|
||||||
|
* @GST_MIXER_FLAG_HAS_WHITELIST: The mixer implementation flags tracks that should
|
||||||
|
* be displayed by default (whitelisted). Since: 0.10.23
|
||||||
*
|
*
|
||||||
* Flags for supported features. Whether the element automatically sends
|
* @GST_MIXER_FLAG_GROUPING: The mixer implementation will leave some controls
|
||||||
* notifications on the bus is the only one for now.
|
* 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.
|
||||||
*
|
*
|
||||||
* Since: 0.10.14
|
* Since: 0.10.14
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
GST_MIXER_FLAG_NONE = 0,
|
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;
|
} GstMixerFlags;
|
||||||
|
|
||||||
struct _GstMixerClass {
|
struct _GstMixerClass {
|
||||||
|
|
|
@ -64,6 +64,11 @@ G_BEGIN_DECLS
|
||||||
* @GST_MIXER_TRACK_MASTER: this mixer track is likely to be the master control
|
* @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
|
* @GST_MIXER_TRACK_SOFTWARE: mixer track's' volume control is implemented
|
||||||
* in software (as opposed to a hardware control)
|
* 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.
|
* Mixer track flags.
|
||||||
*/
|
*/
|
||||||
|
@ -73,7 +78,10 @@ typedef enum {
|
||||||
GST_MIXER_TRACK_MUTE = (1<<2),
|
GST_MIXER_TRACK_MUTE = (1<<2),
|
||||||
GST_MIXER_TRACK_RECORD = (1<<3),
|
GST_MIXER_TRACK_RECORD = (1<<3),
|
||||||
GST_MIXER_TRACK_MASTER = (1<<4),
|
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;
|
} GstMixerTrackFlags;
|
||||||
|
|
||||||
#define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \
|
#define GST_MIXER_TRACK_HAS_FLAG(channel, flag) \
|
||||||
|
|
Loading…
Reference in a new issue