Re: [pulseaudio-discuss] Software volume: linear vs. logarithmic

2012-08-24 Thread Arun Raghavan
On Wed, 2012-08-22 at 15:14 +0200, Günter Merz wrote:
[...]
 I would like to do something similar to what I did in xine to pulsesink.c in 
 the gstreamer-good package in order to change the rhythmbox and rygel (and 
 others) volume handling but the fact that Lennart Poettering (once the lead 
 developer) originally wrote the GStreamer pulseaudio plugin and will surely 
 have had his reasons for doing it the way he did makes me ask here first.

This is the standard across all elements implementing the volume
property, and makes sense as it maps more naturally to underlying APIs
and hardware. The idea of a cubic mapping (or any other natural-sounding
mapping) should be left as an application decision and does not belong
in middleware layers.

To make things easier for GStreamer-based applications, there is a
GstStreamVolume interface which can do a cubic mapping if requested.
You'll notice that Rhythmbox actually does this already:

http://git.gnome.org/browse/rhythmbox/tree/backends/gstreamer/rb-player-gst.c#n311

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] Software volume: linear vs. logarithmic

2012-08-24 Thread Jaska Uimonen

Hi,

I don't know if I have understood everything correctly in the
pulseaudio volume handling, but almost all operations seem to
boil down to pa_sw_volume_to/from_linear - function, which has
inherent cubic mapping. So (if I got this correct) if you
do linear fade with pa_volume_t, you get cubic mapping.

If you want to do some other shape, you should then first
cubic root your pa_volume_t values (to linearize) and then
induce your curve on top of it (?). If you just do some
mapping on top of pa_volume_t, you get some kind of combined
cubic + your own mapping...

br,
Jaska


Quoting Arun Raghavan arun.ragha...@collabora.co.uk:


On Wed, 2012-08-22 at 15:14 +0200, Günter Merz wrote:
[...]
I would like to do something similar to what I did in xine to  
pulsesink.c in the gstreamer-good package in order to change the  
rhythmbox and rygel (and others) volume handling but the fact that  
Lennart Poettering (once the lead developer) originally wrote the  
GStreamer pulseaudio plugin and will surely have had his reasons  
for doing it the way he did makes me ask here first.


This is the standard across all elements implementing the volume
property, and makes sense as it maps more naturally to underlying APIs
and hardware. The idea of a cubic mapping (or any other natural-sounding
mapping) should be left as an application decision and does not belong
in middleware layers.

To make things easier for GStreamer-based applications, there is a
GstStreamVolume interface which can do a cubic mapping if requested.
You'll notice that Rhythmbox actually does this already:

http://git.gnome.org/browse/rhythmbox/tree/backends/gstreamer/rb-player-gst.c#n311

-- Arun

___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss




___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] Volume ramp

2012-08-24 Thread Flávio Ceolin
Hi folks,

A few weeks ago Jaska Uimonen sent a set of patches implementing the
volume_ramp. I've playing with his patches and proposing some
fixes/changes, i guess he will send a new patch soon. Meanwhile I've
created a public repository
(http://git.profusion.mobi/cgit.cgi/ceolin/pulseaudio/) with this code
+ support for multichannel. I expect this will make easier for whom
intend to review this code.

The repository contains two branchs, the ramp with the volume_ramp
code, and the branch  ducking implementing the module with ducking
effect (patch already sent to list too).

Comments are welcome :)

Best Regards,
Flavio Ceolin
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] resampler: Fix crash if 'auto' resampler chooses ffmpeg with variable rate

2012-08-24 Thread rong deng
2012/8/24 Tanu Kaskinen ta...@iki.fi:
 On Wed, 2012-08-22 at 19:31 +0530, Arun Raghavan wrote:
 On Wed, 2012-08-22 at 15:42 +0200, Frédéric Dalleau wrote:
 [...]
  diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
  index 17f1783..8199bc4 100644
  --- a/src/pulsecore/resampler.c
  +++ b/src/pulsecore/resampler.c
  @@ -237,7 +237,10 @@ pa_resampler* pa_resampler_new(
   #ifdef HAVE_SPEEX
   method = PA_RESAMPLER_SPEEX_FLOAT_BASE + 3;
   #else
  -method = PA_RESAMPLER_FFMPEG;
  +if (flags  PA_RESAMPLER_VARIABLE_RATE)
  +method = PA_RESAMPLER_TRIVIAL;
  +else
  +method = PA_RESAMPLER_FFMPEG;
   #endif
   }

 The trivial resampler is not a good fallback. I'd rather make speex a
 mandatory dep again.

 Whether or not the trivial resampler is a good fallback depends on the
 use case. If someone thinks that it's a good idea to compile pulseaudio
 without speex support, then I would expect him to be fine with the
 trivial resampler (otherwise he wouldn't have disabled speex support).


Besides, I once profiled and it showed the trivial resampler is much
faster, esp on resource limited embedded boards. Hmm, the output sound
is not so much bad...
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] [PATCH] resampler: Fix crash if 'auto' resampler chooses ffmpeg with variable rate

2012-08-24 Thread rong deng
2012/8/25 rong deng dzro...@gmail.com:
 Besides, I once profiled and it showed the trivial resampler is much
 faster, esp on resource limited embedded boards. Hmm, the output sound
 is not so much bad...

to be correct, i shouldn't have said faster, actually the cpu usage is lower.
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss