Re: [pulseaudio-discuss] Windows binaries

2011-03-03 Thread Colin Guthrie
'Twas brillig, and Daniel Mack at 03/03/11 00:58 did gyre and gimble:
 If you do decide to go the kernel route, make the actual kernel bits
 as lightweight as possible to be resilient against PA protocol changes
 and such. Hopefully the kernel bits would be write once, use with any
 version of PA for a long time to come.
 
 It should be completely independent from PA and just function as a
 loop-trough virtual device which communicates with the userspace via a
 simple protocol (for sample rate configuration etc) and exports its
 audio buffers as shared memory.
 
 A userspace part would then be in charge to connect this interface to
 PulseAudio.
 
 I personally have no clue about Windows development, and I would like to
 keep it that way. Any volounteers with appropriate knowledge? :-)
 


Am I right in saying that there was an ESD type thing that did this for
the winesd project? I don't know much about it, but if there is one,
it's probably a good starting point

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] Skype masking notifications as phone stream

2011-03-03 Thread Colin Guthrie
'Twas brillig, and Marko Doda at 03/03/11 07:20 did gyre and gimble:
 Skype supports pulseaudio, but its kinda buggy, notification sounds get
 published to pulseaudio as phone streams and the default pulseaudio
 responds by muting everything else. I solved it by commenting 
 load-module module-cork-music-on-phone

Hmm, the notification sounds should be marked as event sounds. I'm
pretty sure the Skype folks fixed this a long time ago - are you using
an early beta?

e.g. here:

index: 440
driver: protocol-native.c
flags: START_CORKED
state: RUNNING
sink: 0 alsa_output.pci-_00_1b.0.analog-stereo
volume: 0:  76%
0: -7.15 dB
balance 0.00
muted: no
current latency: 57.46 ms
requested latency: 66.00 ms
sample spec: s16le 1ch 48000Hz
channel map: mono
 Mono
resample method: trivial
module: 10
client: 11 Skype
properties:
window.icon_name = skype
application.icon_name = skype
media.role = event
media.name = Event Sound
application.name = Skype
native-protocol.peer = UNIX socket client
native-protocol.version = 16
application.process.id = 5668
application.process.user = colin
application.process.host = jimmy
application.process.binary = skype
application.language = en_GB.utf8
window.x11.display = :0.0
module-stream-restore.id = sink-input-by-media-role:event




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] Skype masking notifications as phone stream

2011-03-03 Thread Marko Doda
its version 2.1.0.81

On Thu, Mar 3, 2011 at 10:03 AM, Colin Guthrie gm...@colin.guthr.ie wrote:

 'Twas brillig, and Marko Doda at 03/03/11 07:20 did gyre and gimble:
  Skype supports pulseaudio, but its kinda buggy, notification sounds get
  published to pulseaudio as phone streams and the default pulseaudio
  responds by muting everything else. I solved it by commenting
  load-module module-cork-music-on-phone

 Hmm, the notification sounds should be marked as event sounds. I'm
 pretty sure the Skype folks fixed this a long time ago - are you using
 an early beta?

 e.g. here:

index: 440
driver: protocol-native.c
flags: START_CORKED
state: RUNNING
sink: 0 alsa_output.pci-_00_1b.0.analog-stereo
volume: 0:  76%
0: -7.15 dB
balance 0.00
muted: no
current latency: 57.46 ms
requested latency: 66.00 ms
sample spec: s16le 1ch 48000Hz
channel map: mono
 Mono
resample method: trivial
module: 10
client: 11 Skype
properties:
window.icon_name = skype
application.icon_name = skype
media.role = event
media.name = Event Sound
application.name = Skype
native-protocol.peer = UNIX socket client
native-protocol.version = 16
application.process.id = 5668
application.process.user = colin
application.process.host = jimmy
application.process.binary = skype
application.language = en_GB.utf8
window.x11.display = :0.0
module-stream-restore.id = sink-input-by-media-role:event




 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

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


Re: [pulseaudio-discuss] Skype masking notifications as phone stream

2011-03-03 Thread Colin Guthrie
'Twas brillig, and Marko Doda at 03/03/11 09:10 did gyre and gimble:
 its version 2.1.0.81

That's the version I have too, but like I say the notification sounds
are properly tagged (see my pacmd list-sink-inputs output from the
previous mail)

FWIW, I do always comment out the x11-cork module and have encouraged
distros to do the same and will likely do this upstream too, as it
generally causes unexpected results. It's not so much to do with
misbehaving applications tho', more the way it works (by simulating key
presses)

In the upcoming git master release, I'll support things properly in KDE
with regards to pausing/resuming, but it wont solve your problem...

Not sure what to advise, as, like I say, that's the same version of
Skype I have and it's tagging the streams properly.

What does your pacmd output look like when a notification is being played?

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] A few pulseadio related issues

2011-03-03 Thread Colin Guthrie
'Twas brillig, and Rafał Mużyło at 26/02/11 23:33 did gyre and gimble:
 Now, as I follow some of the posts on the list, it seems that
 pavucontrol will get some updates soon. As libglade was declared
 deprecated by its upstream awhile ago, I'm attaching a patch dropping
 libglademm dep and a gtkbuilder file (auto-converted by glade).

Just a quick note to say I've now applied this patch to pavucontrol.
Many thanks :)

I made the commit with your details as I only made a tiny modification
(dropped the unneeded change to src/Makefile.am and named the glade file
to drop the 2 you added).

I added a couple post conversion fixes too.

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] Windows binaries

2011-03-03 Thread Sean McNamara
On Wed, Mar 2, 2011 at 7:58 PM, Daniel Mack zon...@gmail.com wrote:

 On Mar 2, 2011 9:32 PM, Sean McNamara smc...@gmail.com wrote:

 On Wed, Mar 2, 2011 at 7:10 PM, Daniel Mack zon...@gmail.com wrote:
 
  On Feb 26, 2011 10:00 PM, Sean McNamara smc...@gmail.com wrote:
 
  Hi,
 
  On Fri, Feb 25, 2011 at 8:28 AM, Maarten Bosmans mkbosm...@gmail.com
  wrote:
   As the patches that make it possible to build pulse on win32 should
   land in master any moment now, I thought it would be a good time to
   make the binaries available for download.
 
  This is amazing work! I'm able to play audio from Ubuntu to Win32 over
  a gigabit ethernet crossover cable (to spare the latency of the
  router), using Ubuntu 11.04 on the Linux side. No dropouts. I remember
  doing this a long time ago, but it wasn't nearly as reliable or
  robust. I've tested several simultaneous streams, with no detectable
  problems, with Synergy desktop sharing going over the same connection.
 
  Interesting! As I'm currently working on a port to Mac OS X, I'm curious
  if
  anyone has plans to add a way to redirect audio from native Windows
  applications (ASIO, WDM) to PulseAudio.
 
  I believe it would be mandatory to hack a kernel driver to provide a
  virtual
  sound card for sinks and sources, just like on OS X.

 Or you can use the fact that module-waveout supports a source, coupled
 with a pre-existing Windows device driver that provides a loopback, to
 do something like this:

 But such a driver doesn't exist yet, correct?

Such a driver does exist. First of all, if you have the right sound
card + platform combination, you get a loopback capture channel for
free as part of installing your sound card's drivers -- no further
effort needed. This is soundcard-dependent. I hear that Creative
SoundBlaster based cards (both the really old ones, and the current
ones) have the best chance of providing this.

In case you don't have that, you can use the proprietary, commercial
software Virtual Audio Cable. It is digitally signed and works on
all versions of Windows starting with 32-bit XP, all the way up to
64-bit Windows 7. The cost is typical for proprietary Windows
software, at $50 USD -- so not too cheap but not too expensive. Since
you're already running Windows (the generic you, as in, any
interested user), you should already be used to paying for proprietary
software, and so, this should be no problem. :)

A FOSS version of Virtual Audio Cable would be welcome, but I don't
think you would get that digitally signed by Microsoft WHQL. I heard a
rumor (possibly false) that lack of publicly available source code is
a criterion for WHQL acceptance, for security [through obscurity?]
reasons. It has to be signed for the driver to load at all on 64-bit
Vista / 7, unless you boot your system into test mode, which I can't
recommend for security and stability reasons. Test mode is also either
tedious (you have to do it every time you boot) or risky (install
untrusted third-party software that automates booting from test mode
for you). And IMHO, 64-bit Vista/7 are the flagship OS products of
Microsoft right now; 32-bit is basically deprecated.


 Windows audio app (DSound, WinMM, WaveOut, KS, WASAPI-Shared, etc.)
 == playback of device which supports loopback

 Loopback comes out of kernel as a capture channel == captured in PA
 server on Windows via module-waveout == module-loopback ==
 module-tunnel-sink == (network) == remote PA server on another
 computer.

 Admittedly this is less efficient, but mucking around in the Windows
 kernel carries around a lot more baggage than with other kernels. You
 have to get it digitally signed if you want to run it on 64-bit OSes.
 You have to test it to make sure it works on Windows XP 32-bit, XP
 64-bit, Vista/7 32-bit and Vista/7 64-bit. And 99.% of Windows
 users have no idea how to build kernel code (nor do they have the
 tools to do so), so you have to ship binaries. All in all, a really
 ugly task that will be difficult to maintain.

 I know, Windows is a total disaster, especially in kernel space. We had so
 much trouble with driver development already, it's unbelievable. However, it
 would maybe suffice to just support some versions of Windows, and skip the
 legacy.

In that case, you could probably write one driver for Vista and
Windows 7, 32-bit and 64-bit, without major code changes between 32/64
and Vista/7. The audio driver stuff changed sufficiently with Vista
that a separate driver is needed to support XP in any fashion.
Throwing out XP would certainly simplify things, but you still have a
big task ahead :)


 If you do decide to go the kernel route, make the actual kernel bits
 as lightweight as possible to be resilient against PA protocol changes
 and such. Hopefully the kernel bits would be write once, use with any
 version of PA for a long time to come.

 It should be completely independent from PA and just function as a
 loop-trough virtual device which communicates with the userspace 

Re: [pulseaudio-discuss] A few pulseadio related issues

2011-03-03 Thread Rafał Mużyło
On Thu, Mar 03, 2011 at 02:56:27PM +, Colin Guthrie wrote:
 Just a quick note to say I've now applied this patch to pavucontrol.
 Many thanks :)
 
 I made the commit with your details as I only made a tiny modification
 (dropped the unneeded change to src/Makefile.am and named the glade file
 to drop the 2 you added).
 
 I added a couple post conversion fixes too.

Thanks, though a minor clarification:
- the rename was simply for my testing, I haven't removed it from the
  patch only by mistake
- CXXFLAGS - CPPFLAGS, while technically unneeded, are stylewise more
  correct, just see automake's info page - even though pkg-config names
  them CFLAGS, nearly every time (that is: for nearly every package (at
  least the ones, I came across), that uses pkg-config) they're just CPPFLAGS

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


[pulseaudio-discuss] unused check_required function in modules/alsa/alsa-mixer.c

2011-03-03 Thread Maarten Bosmans
I intended to catch diwic on IRC, but didn't see him the last couple
of days, so in order not to forget, here is my question to the list.

In this commit some stuff got shuffled around in alsa-mixer
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=b0f72311
With the result that the check_required function is now unused (or
more precise: only used by itself). This is probably incorrect.

David, can you explain/fix?

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


[pulseaudio-discuss] pulseaudio passthrough samplerate

2011-03-03 Thread Kelly Anderson

Hey,

I've been hacking on xbmc - pulseaudio passthrough and I'm getting there 
a little bit at a time.


It seems that at the moment that if the daemon.conf default-sample-rate 
is set to 44100 then all I can passthrough is 44100 and if it's 48000 
all that works are 48000 samples.  Is that a limitation in the current 
pulse implementation?


I expected that this would be set from the pa_sample_spec, but that 
seems to be ignored currently.


I'm using paplay --rate ? --raw --passthrough for testing.

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


Re: [pulseaudio-discuss] Skype masking notifications as phone stream

2011-03-03 Thread Marko Doda
i have same output as yours, one helpfull guy told me about the problems
with streams, i guess thats not the issue, anyway i commented the module and
now everything works just fine :). tnx a lot

On Thu, Mar 3, 2011 at 10:55 AM, Colin Guthrie gm...@colin.guthr.ie wrote:

 'Twas brillig, and Marko Doda at 03/03/11 09:10 did gyre and gimble:
  its version 2.1.0.81

 That's the version I have too, but like I say the notification sounds
 are properly tagged (see my pacmd list-sink-inputs output from the
 previous mail)

 FWIW, I do always comment out the x11-cork module and have encouraged
 distros to do the same and will likely do this upstream too, as it
 generally causes unexpected results. It's not so much to do with
 misbehaving applications tho', more the way it works (by simulating key
 presses)

 In the upcoming git master release, I'll support things properly in KDE
 with regards to pausing/resuming, but it wont solve your problem...

 Not sure what to advise, as, like I say, that's the same version of
 Skype I have and it's tagging the streams properly.

 What does your pacmd output look like when a notification is being played?

 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

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


Re: [pulseaudio-discuss] Configuring PulseAudio to use ALSA PCM plugin

2011-03-03 Thread Ben C
On Wed, 2011-03-02 at 18:16 -0800, Ben C wrote:
 Hello, I'm trying to configure PulseAudio to use an ALSA PCM plugin in the 
audio 

 chain.
 
 PulseAudio as been configured with:
 load-module module-alsa-sink device=my_sink
 
 And ALSA has been configured with:
 
 pcm.my_sink {
 type my_pcm_plugin
 slave.pcm hw:0,0
 }
 
 However, my_sink seems to get hogged, and be considered busy. I had to 
 configure dmix in order for this setup to work. Is that normal? Am I 
configuring 

 something incorrectly? I would assume that to PulseAudio, these ALSA output 
 devices are the same, whether it's a physical device or a virtual one. But 
 when 

 using the default configuration (and my_pcm_plugin is not in the chain), 
 dmix 

 isn't necessary.
 
 Thanks for your help.

Do you have another line in your default.pa loading
module-alsa-card/sink before the line above? module-udev-detect or
similar?

The modules that are loaded before the line are:
module-device-restore
module-stream-restore
module-card-restore
module-augment-properties

After the alsa sink, module-udev-detect is loaded. Module-alsa-card isn't 
loaded 
by the configuration file, but it's there, maybe it's loaded by 
module-udev-detect.

Please let me know if you need any other information. Thanks!



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


Re: [pulseaudio-discuss] pulseaudio passthrough samplerate

2011-03-03 Thread pl bossart
 It seems that at the moment that if the daemon.conf default-sample-rate is
 set to 44100 then all I can passthrough is 44100 and if it's 48000 all that
 works are 48000 samples.  Is that a limitation in the current pulse
 implementation?

 I expected that this would be set from the pa_sample_spec, but that seems to
 be ignored currently.

 I'm using paplay --rate ? --raw --passthrough for testing.

Yes it's a know limitation I mentioned in my previous emails. Somehow
we will need to reconfigure the passthrough sink frequency.
-Pierre
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


[pulseaudio-discuss] pulseaudio xbmc passthrough success

2011-03-03 Thread Kelly Anderson

Yahoo!

I've got pulseaudio xbmc passthrough working.  I've rolled it together 
with a previously windows c++ library called Ac3Filter.  I've been 
tweeking up Ac3Filter quite a bit.  I'm using the Ac3Filter library to 
Mux spdif.  It was a well written library/tools that was relatively easy 
to get ported to linux.


I'm watching Avatar in wonderful DTS surround sound now.

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


Re: [pulseaudio-discuss] pulseaudio xbmc passthrough success

2011-03-03 Thread Kelly Anderson
Forgot to mention.  I'm getting Hi-def video/audio and only using 8% 
cpu.  That's just awesome.  Vdpau is handling the video decode.


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


[pulseaudio-discuss] [RFC] allow conditionals in config input files like default.pa.in

2011-03-03 Thread Maarten Bosmans
It would be nice to have the ability to use @if HAVE_FEATURE@ in the
configuration file templates. You could see it either as an extension
of the current @VARIABLE@ replacement or as a compile-time variant of
.ifexists.

Incidentally, does anybody know why these files are currently
generated in the Makefile using sed, instead of being included in
AC_CONFIG_FILES?

Adding that ability has several advantages:
 - The default.pa.in and default.pa.win32 files can be merged.
 - The BSDs still use module-hal-detect, so it can be included in
default.pa without littering it with [.ifexists module-hal-detect\n
load-module module-hal-detect\n .endif] for Linux users, so they
cannot be confused by it.
 - And thirdly, if sys/resource.h is not found the daemon does not
understand the --rlimit-* options, so in that case those lines should
be omitted from daemon.conf.

Would this be a good change, or are we then preprocessing at too many levels?

I propose to implement it by using awk, instead of where now sed is
used in the Makefiles. Below is a very rude patch, to give an idea.
Obviously the variable initialisation in the BEGIN section of the awk
script should depend on the results of the configure checks, either by
using awk -v VAR=$(VAR) in the Makefile or letting configure do the
substitution in the script itself.

Maarten



diff --git a/src/Makefile.am b/src/Makefile.am
index 24e2f82..4c2be0c 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1875,21 +1875,10 @@ start-pulseaudio-kde:
daemon/start-pulseaudio-kde.in Makefile
 client.conf: pulse/client.conf.in Makefile
sed -e 's,@PA_BINARY\@,$(PA_BINARY),g'  $  $@

-if OS_IS_WIN32
-default.pa: daemon/default.pa.win32
-   cp $ $@
-system.pa: daemon/default.pa.win32
-   cp $ $@
-else
 default.pa: daemon/default.pa.in Makefile
-   sed -e 's,@PA_BINARY\@,$(PA_BINARY),g' \
--e 's,@PA_DLSEARCHPATH\@,$(modlibexecdir),g' \
-   -e 's,@PA_SOEXT\@,.so,g'  $  $@
+   awk -f script.awk $  $@
 system.pa: daemon/system.pa.in Makefile
-   sed -e 's,@PA_BINARY\@,$(PA_BINARY),g' \
--e 's,@PA_DLSEARCHPATH\@,$(modlibexecdir),g' \
-   -e 's,@PA_SOEXT\@,.so,g'  $  $@
-endif
+   awk -f script.awk $  $@

 daemon.conf: daemon/daemon.conf.in Makefile
sed -e 's,@PA_DLSEARCHPATH\@,$(modlibexecdir),g' \
diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
index ace0f09..8f660d7 100755
--- a/src/daemon/default.pa.in
+++ b/src/daemon/default.pa.in
@@ -22,10 +22,10 @@
 .nofail

 ### Load something into the sample cache
-#load-sample-lazy x11-bell /usr/share/sounds/gtk-events/activate.wav
-#load-sample-lazy pulse-hotplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-coldplug /usr/share/sounds/startup3.wav
-#load-sample-lazy pulse-access /usr/share/sounds/generic.wav
+#load-sample-lazy x11-bell @PA_DATA_DIR@/sounds/gtk-events/activate.wav
+#load-sample-lazy pulse-hotplug @PA_DATA_DIR@/sounds/startup3.wav
+#load-sample-lazy pulse-coldplug @PA_DATA_DIR@/sounds/startup3.wav
+#load-sample-lazy pulse-access @PA_DATA_DIR@/sounds/generic.wav

 .fail

@@ -41,6 +41,10 @@ load-module module-augment-properties
 ### Load audio drivers statically (it's probably better to not load
 ### these drivers manually, but instead use module-hal-detect --
 ### see below -- for doing this automatically)
+@if OS_IS_WIN32@
+load-module module-waveout sink_name=output
+load-module module-waveout source_name=input
+@endif@
 #load-module module-alsa-sink
 #load-module module-alsa-source device=hw:1,0
 #load-module module-oss device=/dev/dsp sink_name=output source_name=input
@@ -49,6 +53,11 @@ load-module module-augment-properties
 #load-module module-pipe-sink

 ### Automatically load driver modules depending on the hardware available
+@if HAVE_HAL@
+.ifexists module-hal-detect@PA_SOEXT@
+load-module module-hal-detect
+.endif
+@endif@
 .ifexists module-udev-detect@PA_SOEXT@
 load-module module-udev-detect
 .else
diff --git a/src/script.awk b/src/script.awk
new file mode 100644
index 000..ed141f1
--- /dev/null
+++ b/src/script.awk
@@ -0,0 +1,24 @@
+BEGIN {
+  HAVE_HAL=0
+  OS_IS_WIN32=1
+  PA_DLSEARCHPATH=/usr/lib/pulse/modules
+  PA_DATA_DIR=/usr/share
+  PA_BINARY=pulseaudio
+  PA_SOEXT=.so
+
+  printline = 1
+}
+{
+  gsub(/@PA_DLSEARCHPATH@/, PA_DLSEARCHPATH)
+  gsub(/@PA_DATA_DIR@/, PA_DATA_DIR)
+  gsub(/@PA_BINARY@/, PA_BINARY)
+  gsub(/@PA_SOEXT@/, PA_SOEXT)
+  if (/@if [A-Z0-9_]+@/) {
+if (/@if HAVE_HAL@/  !HAVE_HAL) printline = 0
+if (/@if OS_IS_WIN32@/  !OS_IS_WIN32) printline = 0
+  }
+  else if (/@endif@/)
+printline = 1
+  else if (printline)
+print $0
+}
___
pulseaudio-discuss mailing list
pulseaudio-discuss@mail.0pointer.de
https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss


Re: [pulseaudio-discuss] unused check_required function in modules/alsa/alsa-mixer.c

2011-03-03 Thread David Henningsson

On 2011-03-03 17:54, Maarten Bosmans wrote:

I intended to catch diwic on IRC, but didn't see him the last couple
of days, so in order not to forget, here is my question to the list.

In this commit some stuff got shuffled around in alsa-mixer
http://git.0pointer.de/?p=pulseaudio.git;a=commitdiff;h=b0f72311
With the result that the check_required function is now unused (or
more precise: only used by itself). This is probably incorrect.

David, can you explain/fix?


Hmm, in my patch as posted months ago, the call to check_required was 
moved inside the element_probe function only, not moved from 
element_probe to check_required. Colin, can anything have gone wrong 
when you merged it?


--
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] [RFC] Alsa UCM integration.

2011-03-03 Thread Tanu Kaskinen
On Tue, 2011-03-01 at 15:20 +, Liam Girdwood wrote:
 On Mon, 2011-02-28 at 22:34 +0200, Tanu Kaskinen wrote:
  What if one card has two playback devices - one for handsfree and one
  for a headset - and I want to play a ringtone to both simultaneously?
  
  What if one card has two playback devices - one for handset and one for
  TV-out - and I want to play music to the TV while a call is ongoing, and
  the call audio to the handset?
  
  I'm not saying that this kind of hardware exists, or that anyone
  actually wants to play music while having a call, but it would be nice
  if a solution would be found that would support also these cases.
  
  Hmm, I found now use-case.h via the link that you gave. That, together
  with your explanations, is making this more clear. Apparently those
  cases that I mentioned are supported by UCM via modifiers.
  
  So, if I've understood correctly, UCM dictates that there is always
  exactly one verb (main stream) and exactly one device (main device)
  selected per card. Additional streams and devices can be used by
  activating any number of modifiers.
  
 
 UCM supports between 0..n active devices per verb. e.g. it is possible
 to enable both the headphone device and speaker device at the same time.

Right, I missed this. But these multiple devices must share the PCM
device, because there can be only one PCM device associated with a verb.

  For example, if I wanted to play a ringtone to both the handsfree
  speaker and to a headset, I could select verb ringtone and device
  speaker, and then I'd activate modifier headset-ringtone, after
  which I could open the headset device in addition to the speaker device.
  In pulseaudio this would map to two sinks, and I'd use module-combine to
  play the ringtone to both.
  
  For another example, if I wanted to hear to music from the TV while
  talking to the phone, I could select the Voice Call verb and the
  Handset device, and then I'd activate modifier tv-music, after which
  I could open the TV-out device in addition to the handset device. Or
  since I probably was listening to the music before the call started,
  maybe I'd continue with the HiFi+TV-out combination and use a
  modifier for the call audio.
  
  My proposal is that profiles are generated for each available verb
  +device pair. I think the concept of a profile is going to need to be
  altered in some way to accommodate modifiers, because activating a
  modifier can enable a new PCM device (not always, though). A new PCM
  device means a new sink or source, but creating such sink or source
  needs to be possible without tearing down and recreating other sinks and
  sources of the profile, and that's not possible with current profiles.
  
  I propose that profiles stay as they are, with the difference that each
  sink and source of the profile can be enabled and disabled
  independently. The configuration defines which sinks and sources are
  activated by default. module-card-restore would remember user choices,
  though, so the defaults would be relevant only when the user hasn't done
  any changes, or when module-card-restore isn't used. (I don't think we
  actually need to have any UI for enabling and disabling the devices in a
  profile, at least initially, so for non-UCM configurations there
  wouldn't need to be any observable changes in behavior.)
  
  So, the verb+device pair would define the default sink and/or source
  that are always created when the profile is activated, and modifiers
  that have different PCM device than the device of the main use case
  would create additional devices to the profile. Modifiers that have the
  same PCM device as the main use case would add ports to the main use
  case sink and/or source. And if the main use case uses for example pcm0
  and two modifiers use pcm2, then the two modifiers are exposed as ports
  on the sink of pcm2.
 
 If we have verb+device pairs, how would we enable the Music verb and
 play to more than one device at the same time ?

With modifiers that enable more devices. But yeah, since UCM supports
defining multiple devices per verb as long as they use the same PCM
device, it would be good if Pulseaudio would support this kind of
configuration too. So, I hereby change my proposal: there would be one
profile per verb, not per verb+device. This is then the same approach
that Margarita started with :) If a verb has multiple devices defined
for it, ports would be generated for the sink/source for each possible
combination of those devices.

Otherwise my proposal stays the same: modifiers are modeled using
mappings or ports, depending on whether the modifier PCM device is
different or the same that is already associated with some already
existing mapping in the profile. Profiles will have to be changed so
that mappings can be activated independently, without interrupting
streams going to already activated mappings.

-- 
Tanu

___
pulseaudio-discuss 

[pulseaudio-discuss] Problem in running locally compiled pulse utility programs

2011-03-03 Thread ssrk
Hi,

I run Ubuntu 9.10, which by default has pulseaudio and utilities like pactl,
pacmd.

I downloaded pulseaudio source tarball
http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.22.tar.gz
and extracted it, ran configure script, compiled it and tried to run the
locally built pactl utility.
While running pactl(the one which I built), it gave me Connection failure:
Connection refused Error.
But the default 'pactl' utility which is already present in /usr/bin/ works
fine.

$ ./configure --prefix=tmpdir
$ make
$ make install
$ cd tmpdir
$ ./bin/pactl stat
Connection failure: Connection refused

Can someone tell me, what am I missing?
Why is the locally built pactl doesn't work? while the default
/usr/bin/pactl works fine.
Are these utility programs coupled to 'pulseaudio' along with which it is
compiled?

Thanks in advance.

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


Re: [pulseaudio-discuss] [RFC] Alsa UCM integration.

2011-03-03 Thread Tanu Kaskinen
On Wed, 2011-03-02 at 20:52 -0600, Margarita Olaya wrote:
 On Tue, Mar 1, 2011 at 9:20 AM, Liam Girdwood l...@slimlogic.co.uk wrote:
  On Mon, 2011-02-28 at 22:34 +0200, Tanu Kaskinen wrote:
  On Sun, 2011-02-27 at 22:53 -0600, Margarita Olaya wrote:
   Hi Tanu,
  
   On Sat, Feb 26, 2011 at 2:07 AM, Tanu Kaskinen ta...@iki.fi wrote:
On Fri, 2011-02-25 at 14:09 -0600, Margarita Olaya wrote:
 Make sense.
 But I am not sure the profiles as defined today in PulseAudio can 
 work
 with modifiers. What we discussed yesterday is that when a profile 
 is
 selected then you would set the UCM verb and know about all possible
 sinks. We would need additional logic to have profile modifiers, or 
 we
 would need extra profiles to represent all possible combinations
 (speech, speech+tone, speech+music, etc).
   
The initial idea is to use the UCM data to generate the card profiles,
then when the stream is open PA will use his method to select the
profile and set the verb. e.g when UCM is present: profile = verb.
   
In the UCM module the data is store in a proplist per verb, the
proplist has the following info:
PA_PROP_UCM_SINK -  PlaybackPCM
PA_PROP_UCM_SOURCE - CapturePCM
PA_PROP_UCM_PLAYBACK_VOLUME -  PlaybackVolume
PA_PROP_UCM_PLAYBACK_SWITCH - PlaybackSwitch
PA_PROP_UCM_CAPTURE_VOLUME -  CaptureVolume
PA_PROP_UCM_CAPTURE_SWITCH - CaptureSwitch
PA_PROP_UCM_QOS - TQ
   
This means that there's only one sink and source per verb. That's
probably ok, but if profile = verb, then this also means that there's
only one sink and source per profile.
  
   Yes, this correct.
 
  What if one card has two playback devices - one for handsfree and one
  for a headset - and I want to play a ringtone to both simultaneously?
 
  What if one card has two playback devices - one for handset and one for
  TV-out - and I want to play music to the TV while a call is ongoing, and
  the call audio to the handset?
 
  I'm not saying that this kind of hardware exists, or that anyone
  actually wants to play music while having a call, but it would be nice
  if a solution would be found that would support also these cases.
 
  Hmm, I found now use-case.h via the link that you gave. That, together
  with your explanations, is making this more clear. Apparently those
  cases that I mentioned are supported by UCM via modifiers.
 
  So, if I've understood correctly, UCM dictates that there is always
  exactly one verb (main stream) and exactly one device (main device)
  selected per card. Additional streams and devices can be used by
  activating any number of modifiers.
 
 
  UCM supports between 0..n active devices per verb. e.g. it is possible
  to enable both the headphone device and speaker device at the same time.
 
  For example, if I wanted to play a ringtone to both the handsfree
  speaker and to a headset, I could select verb ringtone and device
  speaker, and then I'd activate modifier headset-ringtone, after
  which I could open the headset device in addition to the speaker device.
  In pulseaudio this would map to two sinks, and I'd use module-combine to
  play the ringtone to both.
 
  For another example, if I wanted to hear to music from the TV while
  talking to the phone, I could select the Voice Call verb and the
  Handset device, and then I'd activate modifier tv-music, after which
  I could open the TV-out device in addition to the handset device. Or
  since I probably was listening to the music before the call started,
  maybe I'd continue with the HiFi+TV-out combination and use a
  modifier for the call audio.
 
  My proposal is that profiles are generated for each available verb
  +device pair. I think the concept of a profile is going to need to be
  altered in some way to accommodate modifiers, because activating a
  modifier can enable a new PCM device (not always, though). A new PCM
  device means a new sink or source, but creating such sink or source
  needs to be possible without tearing down and recreating other sinks and
  sources of the profile, and that's not possible with current profiles.
 
  I propose that profiles stay as they are, with the difference that each
  sink and source of the profile can be enabled and disabled
  independently. The configuration defines which sinks and sources are
  activated by default. module-card-restore would remember user choices,
  though, so the defaults would be relevant only when the user hasn't done
  any changes, or when module-card-restore isn't used. (I don't think we
  actually need to have any UI for enabling and disabling the devices in a
  profile, at least initially, so for non-UCM configurations there
  wouldn't need to be any observable changes in behavior.)
 
 
 The list of profiles and mappings are populated using the
 pa_profile_set_new @pa__init, after the list is built the profiles are