[gstreamer-bugs] [Bug 570832] New: Add flags to enhance mixer interfaces
GStreamer (bugzilla.gnome.org)
bugzilla-daemon at bugzilla.gnome.org
Fri Feb 6 15:53:42 PST 2009
If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
http://bugzilla.gnome.org/show_bug.cgi?id=570832
GStreamer | gst-plugins-base | Ver: git
Summary: Add flags to enhance mixer interfaces
Product: GStreamer
Version: git
Platform: Other
OS/Version: All
Status: UNCONFIRMED
Severity: enhancement
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: brian.cameron at sun.com
QAContact: gstreamer-bugs at lists.sourceforge.net
CC: garrett.damore at sun.com
GNOME version: 2.25/2.26
GNOME milestone: Unspecified
This patch adds a few flags to the mixer and mixerctrl interfaces. If there
are any issues with how the flags should be named, how they work, or the
documentation; then we would be happy to rework the patch as needed. Just
let us know.
Note this patch was written by Garret D'Amore (garrett.damore at sun.com) with
some help from me. He is the lead engineer working to integrate OSSv4 into
Solaris.
Obviously these new flags won't have any effect until plugins make use of them
and gnome-volume-control is enhanced to make use of them. I have patches for
the SunAudio (in gst-plugins-good) and OSSv4 (in gst-plugins-bad) plugins to
make use of these flags, and I also have a patch for gnome-volume-control to
recognize the flags and do the right thing when the flags are set. I can
attach those patches to this enhancement request if you think they would
be helpful to review this change.
A few words on binary compatibility:
a) If you don't use the flags, they are benign. (i.e. no change if the mixer
plugin doesn't implement any of them.)
b) A mixer plugin need not implement any of these flags. In that case, gvc
will behave much as it does today.
c) If you have not updated gvc with support for these flags, but you *have* got
mixer plugins that use them, you might not be too happy -- the application
will work, but the layout will probably not be what you'd like to see. The
results are not terribly user-friendly.
d) In other words, all of these flags primarily impact usability/ui, by giving
the mixer implementation more influence on the resulting UI. The end result
is much more flexible support and a nicer user interface as well.
The inline doc comments explain them briefly, but here's more detail:
New mixer flags
---------------
GST_MIXER_FLAG_HAS_WHITELIST:
This allows the mixer implementation to indicate that it doesn't want to use
the builtin whitelist in applications (gnome-volume-control), but will flag
tracks & options that should be displayed by default. (This hands control over
the "default" display to the mixer implementation, instead of relying on a
horrible hack in gnome-volume-control.)
GST_MIXER_FLAG_GROUPING:
This flag, if present, means that some tracks will not be flagged as either
INPUT or OUTPUT. Those tracks will be displayed on the "OPTIONS" page in gvc.
Furthermore, if this flag is present, switches and options that are marked as
either INPUT or OUTPUT will be put in the appropriate flagbuttonbox, and
displayed on the Playback or Recording notebook pages. (I added this flag so
that I could retain the old behavior in case ALSA or something relied on it.)
New track flags
---------------
GST_MIXER_TRACK_NO_RECORD:
If present, this suppresses the display of the "record" button on input
tracks. This is necessary for both the Sun audio and OSS v4 plugins,
where there is not a 1-1 mapping of input tracks and hardware record sources.
(I.e. where the record source selection is handled via a separate option.)
GST_MIXER_TRACK_NO_MUTE:
If present, this suppresses the display and handling of the "mute" button on a
track. The idea is that some sliders may represent values where "mute" makes
no sense... for example, a slider representing tone levels, 3D centering, or
balance adjustments, should not have a "mute" button.
GST_MIXER_TRACK_WHITELIST:
If present (and the mixer has GST_MIXER_FLAG_HAS_WHITELIST), then this track
will be in the default whitelist of tracks to display by default. If it is not
present, but the mixer has GST_MIXER_FLAG_HAS_WHITELIST set, then the track
will *not* be in the default whitelist of tracks to display by default. Note
that this is handled by gvc; its a hint to the application only.
--
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.
You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=570832.
More information about the Gstreamer-bugs
mailing list