Re: [pulseaudio-discuss] New feature in the works: volume sharing

2011-02-15 Thread Tanu Kaskinen
On Tue, 2011-02-15 at 09:00 +0200, David Henningsson wrote:
 I have a question: how about the volume store/restore module? Will it 
 store and restore the outermost sink's volume, the innermost one, or both?
 
 Another thing is the pick-up of volume/mute changes in the driver - at 
 least that's done on the ALSA side. Will that then be pushed through in 
 the other direction somehow, or...?
 
 Just trying to make sure you haven't missed anything :-)

Excellent questions. The logic hasn't been used with
module-device-restore, and volume changes from alsa have been disabled
also. Changes from alsa are supposed to be supported, but that hasn't
been tested. Volume restoring, however, seems to have been broken in the
way that module-device-restore could in some situations restore the
volume for a filter sink that uses volume sharing, which in my opinion
should never happen. I'll make sure that this will be fixed.

-- 
Tanu

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] New feature in the works: volume sharing

2011-02-14 Thread Tanu Kaskinen
On Sun, 2011-02-13 at 22:05 +0200, Colin Guthrie wrote:
 With this push based approach, you do loose some individual granularity,
 but the net volume of the underlying h/w should be the same as your
 approach.

What granularity would I lose? I think your suggested logic would be
quite equivalent to the one that I originally proposed.

 The concern I have with the approach outlined, is that it adds
 complexity to the core and I'm not 100% sure how far the chain can go
 (e.g. can you have a filter-sink1-filter-sink2-filter-sink3-hw-sink
 pipeline? - with a push model this is possible).

It's possible with the pull model too - the filter sinks are always
traversed recursively. About complexity - I haven't done a thorough
analysis of your suggestion, but I would guess that it would be a little
bit simpler. There would still be a significant amount of added
complexity in the core, though. I'll finish the patch using the original
logic first, and if you want, I can probably do another version to see
how much the push model will differ.

-- 
Tanu

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] New feature in the works: volume sharing

2011-02-14 Thread Colin Guthrie
'Twas brillig, and Tanu Kaskinen at 14/02/11 11:19 did gyre and gimble:
 On Sun, 2011-02-13 at 22:05 +0200, Colin Guthrie wrote:
 With this push based approach, you do loose some individual granularity,
 but the net volume of the underlying h/w should be the same as your
 approach.
 
 What granularity would I lose? I think your suggested logic would be
 quite equivalent to the one that I originally proposed.
 
 The concern I have with the approach outlined, is that it adds
 complexity to the core and I'm not 100% sure how far the chain can go
 (e.g. can you have a filter-sink1-filter-sink2-filter-sink3-hw-sink
 pipeline? - with a push model this is possible).
 
 It's possible with the pull model too - the filter sinks are always
 traversed recursively. About complexity - I haven't done a thorough
 analysis of your suggestion, but I would guess that it would be a little
 bit simpler. There would still be a significant amount of added
 complexity in the core, though. I'll finish the patch using the original
 logic first, and if you want, I can probably do another version to see
 how much the push model will differ.

I don't really want to create extra work for you, I'm just genuinely
unsure which would be considered a cleaner approach (or even if it
really matters at all!!)

Other opinions welcome :)

Col

-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] New feature in the works: volume sharing

2011-02-14 Thread David Henningsson

On 2011-02-14 12:45, Colin Guthrie wrote:

'Twas brillig, and Tanu Kaskinen at 14/02/11 11:19 did gyre and gimble:

On Sun, 2011-02-13 at 22:05 +0200, Colin Guthrie wrote:

With this push based approach, you do loose some individual granularity,
but the net volume of the underlying h/w should be the same as your
approach.


What granularity would I lose? I think your suggested logic would be
quite equivalent to the one that I originally proposed.


The concern I have with the approach outlined, is that it adds
complexity to the core and I'm not 100% sure how far the chain can go
(e.g. can you have a filter-sink1-filter-sink2-filter-sink3-hw-sink
pipeline? - with a push model this is possible).


It's possible with the pull model too - the filter sinks are always
traversed recursively. About complexity - I haven't done a thorough
analysis of your suggestion, but I would guess that it would be a little
bit simpler. There would still be a significant amount of added
complexity in the core, though. I'll finish the patch using the original
logic first, and if you want, I can probably do another version to see
how much the push model will differ.


I don't really want to create extra work for you, I'm just genuinely
unsure which would be considered a cleaner approach (or even if it
really matters at all!!)

Other opinions welcome :)


I have a question: how about the volume store/restore module? Will it 
store and restore the outermost sink's volume, the innermost one, or both?


Another thing is the pick-up of volume/mute changes in the driver - at 
least that's done on the ALSA side. Will that then be pushed through in 
the other direction somehow, or...?


Just trying to make sure you haven't missed anything :-)

--
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] New feature in the works: volume sharing

2011-02-09 Thread Tanu Kaskinen
On Thu, 2011-02-03 at 14:35 +0200, Tanu Kaskinen wrote:
 Hello,
 
 When we have a filter sink that does some processing, currently the
 benefits of the flat volume feature are not really available. That's
 because if you have a music player that is connected to the filter sink,
 the hardware sink doesn't have any idea of the music player's stream
 volume.
 
 In order to fix this, Pulseaudio 0.9.15 on Maemo 5 was hacked to
 implement a feature that was dubbed flat sink. The feature is still
 needed in Maemo 6 / MeeGo, and now we are finally trying to get it to
 upstream. The flat sink feature (better names welcome) works so that
 the filter sinks that want to avoid the previously described problem
 declare that they don't want to have independent volume, but they follow
 the master sink volume instead. Then the volume logic is changed so that
 the hardware sink calculates its real volume using also the streams
 connected to the filter sink in addition to the streams that are
 connected directly to the hardware sink. Basically we're trying to
 create an illusion that from volume point of view all streams are
 connected directly to the hardware sink, thus the stack of sinks
 collapses into a flat sink.
 
 I hope that sounds like something that can be merged to upstream. There
 will be several patches, and I just sent the first. The rest of the
 patches are not ready yet - I'll send them as I finish them.

Update to the terminology: the flat sink feature shall be known as the
volume sharing feature from now on. I think that's more descriptive,
and doesn't get so easily mixed with the flat volume term.

-- 
Tanu

___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss