PA by default

Lennart Poettering mzerqung at 0pointer.de
Mon Aug 20 21:01:50 UTC 2007


On Mon, 20.08.07 21:37, Bastien Nocera (bnocera at redhat.com) wrote:

> > GStreamer supports all kinds of interfaces to enumerate sound
> > devices. gst-pulse supports those. Hence the dialog should work, but I
> > cannot really say since I haven't testes this. (see above) qThe
> > gnome-volume-control device selection does work the last time I
> > looked. 
> 
> gstreamer-sound-properties. It's the "Sound" preference.

Hmm, is not installed on my machine, only gstreamer-properties which
is not what I am looking for. Hmm, Google doesn't even find any
mention of "gstreamer-sound-properties".

Hmm, you probably meant gnome-sound-properties. And update of
control-center brought it back now. seems to work fine, too.

> BTW, do you want me to change the default sinks in
> gstreamer-plugins-good? If so, could you file a bug so I don't
> forget :)

I checked those and they point to "autoaudiosink" by default, which
should be enough to get gst-pulse working by default. And is the best
choice anyway, to make sure that people who think that PA is devil's
work don't get pissed off needlessly. ;-)

> > So, what I would like to see implemented is this: ALSA hides away
> > unncessary volume controls and initializes them to sane defaults
> > (i.e. "0 dB"), and makes sure there is always a "Master" volume
> > control which is the actual control for the amplification in HW. This
> > is what Takashi has started to work on. PA already exposes this single
> > per-device volume control, and ignores all the rest the hw might
> > expose. That's volume control #1, the per-device hw-based one. 
> > 
> > For volume #2, the per-stream sw-based one: the PA per-stream volume
> > and the volume adjustment done in GST should be "merged". PA has all
> > the necessary APIs but Gstreamer needs some non-trivial changes for
> > this. Right now GST's mixer control is awful and designed with
> > per-device controls in mind and hardware backends. Hence I am unable
> > to expose the PA per-stream volume properly in gst-pulse.
> 
> Right now, Totem and Rhythmbox have their own software-volume in the
> pipelines. Handling the "hardware" mixer that PA shows means that Totem
> and Rhythmbox would need to special-case PA.

What I would like to see is that gst-pulse would expose a new
interface on the GstPulseSink element that allows you to modify the
per-stream volume control. In a way the current volume control
abstraction in gst is already designed to work like that, but it's for
per-device controls and totall fucked up anyway.

So, Totem should check wether the output sink implements this new
special interface. And if so it should expose it in the UI. If not, it
should add the software volume control thing to the pipeline (which
ideally would expose the same aforementioned interface) and use that
instead. 

Looks relatively easy to me, doesn't it? If someone gets this new
interface into GST I am happy to add support for it in PA.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4




More information about the Fedora-desktop-list mailing list