|
|
Subscribe / Log in / New account

LPC: Linux audio: it's a mess

LPC: Linux audio: it's a mess

Posted Sep 19, 2008 10:43 UTC (Fri) by djpig (guest, #18768)
In reply to: LPC: Linux audio: it's a mess by jwb
Parent article: LPC: Linux audio: it's a mess

Which is a severe misfeature in web browsers (and/or the respective multimedia plugins) actually, and which really can and should be fixed independently from the underlying sound system.


to post comments

LPC: Linux audio: it's a mess

Posted Sep 19, 2008 11:38 UTC (Fri) by ewan (guest, #5533) [Link] (5 responses)

Hardly. It's (almost) always better to fix a problem once, centrally,
than have everyone re-invent their own particular wheel. Not least
because it gives the user a single uniform interface for controlling
things, rather than having to hunt through each individual app.

LPC: Linux audio: it's a mess

Posted Sep 19, 2008 21:22 UTC (Fri) by rahvin (guest, #16953) [Link] (4 responses)

I understand your point, but as a user if I want to control a feature of an application I expect that control to be in the application, not some central sound daemon. I would think the default user behavior when looking to control the sound of an application would look first in that application not at some upper level. I agree with the poster you are responding to, the problem with browser sound is with the plugin/browser, not some central sound control. I can't tell you how often I right click on some flash application thinking there will be a volume control in the context menu. There should be a control in that context menu, that there isn't is a problem with the application.

LPC: Linux audio: it's a mess

Posted Sep 20, 2008 3:41 UTC (Sat) by drag (guest, #31333) [Link] (2 responses)

Well it's confusing. I'll illustrate:

Say your using something like xmms or other application that has it's own volume control.

So you have the Gnome volume control stuff. It's the icon in your task bar and the mixer control stuff in your applications menu. This provides a 'sanatized' way to interact with volume controls. So you can have that nice little icon and the sound mixer buttons on your multimedia keyboard and whatnot.

Then you have the low-level Alsamixer interface. This reflects the actual hardware capabilities of your sound card. When your mucking around with the PCM slider your interacting with the sound card's hardware. It's confusing to use and each sound card has different capabilities so it's a UI that will change depending on what sound card you have.

Then you have your 3rd mixer interface at the application level.

Then on top of that people using desktops will have another volume control on their speakers. So that makes 4 different volume controls that interact with the sound card. Different applications will go through the Gnome stuff, interact with alsamixer directly, or have their own controls. Depending on how the application is configured it can interact with controls differently at different times. (ie, some apps can be configured to use OSS vs Alsa vs ESD vs artsd vs etc)

This is confusing.

Now say your trying to do a voice recording or interact with a VoIP application. Things get _very_ confusing.

With PA you have the master controls and the application controls in the same spot. Then that eliminates the requirements for mixing controls in your browser, file manager, your terminal's beeping, etc etc.

So this _should_ lower the mixing controls down to 2 on the software side. Alsa stuff should setup correctly, but it won't be for the significant number of people. So you still need alsamixer for getting the "baseline" set. But after that you should only need to deal with one interface.

It's still very goofy, but not as goofy.

LPC: Linux audio: it's a mess

Posted Sep 22, 2008 2:11 UTC (Mon) by elanthis (guest, #6227) [Link] (1 responses)

Less controls is not the right solution.

Sometimes you want the same thing in multiple places to help usability.
Where you might think to look first isn't where someone else might look
first. It's pretty clear that some people are going to try to adjust the
sound volume on the thing making the sound (the individual app) and not the
mixer control on the panel.

However, PA is what makes that possible. Note that I said "the same thing"
in multiple places. The volume widget in the app should modify the volume
of the PA stream, and be reflected in the desktop mixer utility, and vice
versa. Without things like PA, this becomes much harder. It's not even
possible without a lot of crap being shoved into the drivers.

LPC: Linux audio: it's a mess

Posted Sep 22, 2008 16:55 UTC (Mon) by drag (guest, #31333) [Link]

> Sometimes you want the same thing in multiple places to help usability.

Not when those multiple things do very different and conflicting actions in very very non-obvious manners.

If you have:
1. Mozilla Browser volume control and mute.
2. Gnome Volume Control and mute (that ties into your volume icon and multimedia buttons)
4. Low-level Alsa volume control and mute.
5. Speaker volume control and power.

Now you open up a youtube video. You get no audio.

Tell me, with certainty, which control, or combinations of controls, you will have to use to make the sound audible.

There is a difference between having 3-5 different places to control volume vs having 3-5 different controls you have to use.

LPC: Linux audio: it's a mess

Posted Sep 20, 2008 11:27 UTC (Sat) by dirtyepic (guest, #30178) [Link]

Well, when I want to control the sounds coming out of my laptop, I would generally head to the place where the sound controls are, not in every application on the system that has any kind of capability of producing noise. Do you really think having dozens of apps, each with their own independent volume control, is a good idea? It's stuff like that, everyone going off and implementing their own incompatible audio systems, that helped get us into this mess in the first place.

LPC: Linux audio: it's a mess

Posted Sep 21, 2008 22:10 UTC (Sun) by mezcalero (subscriber, #45103) [Link] (2 responses)

You're wrong.

One of the biggest problems in volume control we have right now is that we have too many volume controls in line. The app might have one, the device has a couple, the hardware might have even more. It is very confusing to the user to find his way through this jungle and figure out which one is the one that is responsible for the low volume of the output.

The fix for this is to coalesce all those volume controls at a single place which should naturally be the sound server. If applications then want to expose a volume control slider they should expose the one maintained by the sound server -- instead that everyone implements its own.

With the "flat volumes" feature of upcoming PA 0.9.13 we even will be able to coalesce per-stream and per-device volume into one.

In summary: requesting that each app should implement its own volume controls goes in the wrong direction. Bad idea. Right in contrary exporting vol control to the sound server is the right answer here.

LPC: Linux audio: it's a mess

Posted Sep 21, 2008 23:23 UTC (Sun) by PaulWay (guest, #45600) [Link]

I'd also add that it's trivially easy to posit an application which doesn't provide a volume control. Or an application which provides volume control, but hidden deep within labyrinthine controls - like MythTV or many games. Or an application which is normally quite acceptably loud most of the time but some times is too soft or loud - e.g. mplayer playing some video files, or in a situation where you want it playing in the background.

The real point here is that having every application (hopefully) implement a volume control (and hopefully do it well), and having it in a different location for each application, is a usability nightmare. Having one set of centralised controls smooths over a multitude of minor sins.

Have fun,

Paul

LPC: Linux audio: it's a mess

Posted Sep 22, 2008 10:07 UTC (Mon) by hppnq (guest, #14462) [Link]

It is very confusing to the user to find his way through this jungle and figure out which one is the one that is responsible for the low volume of the output.

Considering that this argument is more or less the same as the one in favour of per-app volume controls, one would be inclined to think of a protocol as a solution for this kind of confusion. But it seems like this has already been patented. Sigh.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds