[gstreamer-bugs] [Bug 537031] Enhancement to SunAudio mixer plugin

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Jun 9 09:38:42 PDT 2008


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=537031

  GStreamer | gst-plugins-good | Ver: HEAD CVS




------- Comment #3 from Brian Cameron  2008-06-09 16:38 UTC -------

Sebastian, I am confused by your comments for a few reasons.

For one, as I already explained, the SunAudio "LINE_IN" and "MONITOR" tracks do
not support any concept of "Mute" (though volume output does).  There does not
seem to be any way in GStreamer to specify that specific tracks do not support
"Mute", and therefore disable the "Mute" buttons in gnome-volume-control. 
Being able to disable the "Mute" button for specific tracks, would probably
make the most sense from a SunAudio plugin perspective.

However since GStreamer doesn't let you disable "Mute" for specific tracks, we
have made the SunAudio mixer plugin change the volume to 0 for "LINE_IN" and
"MONITOR" when the "Mute" button is pressed.  Then when you "Unmute", the
plugin is smart enough to return the volume/balance levels to their previous
values.  This seems to make the most sense, and does a reasonable job of
simulating "Mute", I think.

I think you are wrong when you say that GStreamer differentiates between "mute"
and "no gain".  For example, I do not think gnome-volume-control does any sort
of differentiation.  Look at the function gnome_volume_control_track_update in 
gnome-media-apps/gst-mixer/src/track.c (the latest GNOME 2.23 version).  Note
that mute is set to TRUE if the slider and actual volume level is set to zero,
regardless of the actual MUTE flag setting.  This does not seem like
differentiating to me.

----

  mute = GST_MIXER_TRACK_HAS_FLAG (trkw->track,
                                GST_MIXER_TRACK_MUTE) ? TRUE : FALSE;
[...]

  if (trkw->sliderbox) {
    gnome_volume_control_volume_update (GNOME_VOLUME_CONTROL_VOLUME
(trkw->slide
rbox));
    gnome_volume_control_volume_ask (
      GNOME_VOLUME_CONTROL_VOLUME (trkw->sliderbox),
      &vol_is_zero, &slider_is_zero);
  }

  if (!slider_is_zero && vol_is_zero)
    mute |= TRUE;

  if (trkw->mute) {
    if (gnome_volume_control_button_get_active (trkw->mute) == mute) {
      gnome_volume_control_button_set_active (trkw->mute, !mute);
    }
  }


-- 
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=537031.




More information about the Gstreamer-bugs mailing list