[pulseaudio-discuss] svolume_orc.c: error: line 67: unknown directive: .longparam
Dear PulseAudio folks, I get the following error with latest master (c0392af2). | + do_compile | + base_do_compile | + '[' -e Makefile -o -e makefile -o -e GNUmakefile ']' | + oe_runmake | + oenote make | + echo NOTE: make | NOTE: make | + make | make all-recursive | make[1]: Entering directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv5te-oe-linux-uclibceabi/pulseaudio-0.9.22+git-r11.1-r0+c0392af20a504d7ced715cbd7152fd6d032125aa/git' | Making all in src | make[2]: Entering directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv5te-oe-linux-uclibceabi/pulseaudio-0.9.22+git-r11.1-r0+c0392af20a504d7ced715cbd7152fd6d032125aa/git/src' | ORCC pulsecore/svolume-orc-gen.c | In function pa_volume_s16ne_orc_2ch: | error: line 67: unknown directive: .longparam | error: variable (null) used before being written | Failed to compile pa_volume_s16ne_orc_2ch | Failed to compile pa_volume_s16ne_orc_2ch | make[2]: *** [pulsecore/svolume-orc-gen.c] Error 1 | make[2]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv5te-oe-linux-uclibceabi/pulseaudio-0.9.22+git-r11.1-r0+c0392af20a504d7ced715cbd7152fd6d032125aa/git/src' | make[1]: *** [all-recursive] Error 1 | make[1]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv5te-oe-linux-uclibceabi/pulseaudio-0.9.22+git-r11.1-r0+c0392af20a504d7ced715cbd7152fd6d032125aa/git' | make: *** [all] Error 2 | + die 'oe_runmake failed' | + oefatal 'oe_runmake failed' | + echo FATAL: 'oe_runmake failed' | FATAL: oe_runmake failed | + exit 1 I guess it has something to do with commit 4cd90d9e32ca9a23e3c0f7615974ea0c55ff3e49 Author: Arun Raghavan arun.ragha...@collabora.co.uk Date: Mon Oct 25 17:59:08 2010 +0100 volume: Add Orc-based optimised volume scaling This adds volume scaling for 1- and 2-channel software volume scaling using Orc. While testing the MMX and SSE backends on a Core2, I see an ~2x performance benefit over the hand-rolled MMX and SSE code. Since I haven't been able to test on other architectures, the Orc code is only used when MMX/SSE* is present. This can be changed in the future after testing on AMD and ARM machines. but I do not know anything about this. I am using OpenEmbedded with `minimal` or `minimal-uclibc` for `MACHINE = at91sam9260ek`. ORCC 0.4.9 is used on this system. Thanks, Paul signature.asc Description: This is a digitally signed message part ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] More patches for OS X
On Sun, Mar 20, 2011 at 6:39 PM, Daniel Mack zon...@gmail.com wrote: Hi, I'm catching up with my work on PulseAudio for OS X and have some patches ready I would like to get merged. Ok, I fixed all the minor issues that were reported and pushed out again. Same URL: git://github.com/zonque/pulseaudio.git osx Many thanks for the feedback! Daniel ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
I have successfully bitstreamed DTS-HD from xbmc through PA but in using the passthrough git branch it doesn't read that config file which causes problems for me forcing a sink. How can I fix this since I have to kill pulseaudio then restart it with pulseaudio --load=module-alsa-sink device=hdmi:1,3 to get hdmi audio working I am running Ubuntu 11.04 Alpha. ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH] Get rid of some warnings
On Sun, 2011-03-20 at 22:56 +0100, Maarten Bosmans wrote: 2011/3/20 Colin Guthrie gm...@colin.guthr.ie: 'Twas brillig, and Maarten Bosmans at 19/03/11 15:26 did gyre and gimble: Mostly warnings about unused stuff. Furthermore, the first hunk is a fix for the change in 177948a6. Finally, comment in AEC_dtd was translated and the code simplified slightly. Thanks :) CC module_echo_cancel_la-adrian-aec.lo modules/echo-cancel/adrian-aec.h:360:15: warning: ‘AEC_getambient’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:368:14: warning: ‘AEC_setgain’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:374:14: warning: ‘AEC_setaes’ defined but not used [-Wunused-function] modules/echo-cancel/adrian-aec.h:377:16: warning: ‘AEC_max_dotp_xf_xf’ declared ‘static’ but never defined [-Wunused-function] Is the Adrian code ours or is it external in some capacity. Arun, if it's external and we will update it periodically, can you do the necessary to push where it needs to go? (Obviously the PA_GCC_UNUSED cannot be pushed anywhere). I checked that there were already a lot of changes in git after the inital import, and Arun seems to confirm. Arun: what is the license of those files?, it doesn't really say in the header. May be a audit of all files/licenses should be done in general? There's a note about it at the bottom of LICENSE in the top directory. Maybe we should add something similar for the bluez bits as well. Cheers, Arun ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
On Sun, Mar 20, 2011 at 5:58 PM, Dark Shadow shadowofdarkn...@gmail.com wrote: I have successfully bitstreamed DTS-HD from xbmc through PA but in using the passthrough git branch it doesn't read that config file which causes problems for me forcing a sink. How can I fix this since I have to kill pulseaudio then restart it with pulseaudio --load=module-alsa-sink device=hdmi:1,3 to get hdmi audio working I am running Ubuntu 11.04 Alpha. I figured it out, I copied default.pa into ~/.pulse and it works now. Not preferential in a multi-user environment but it is fine for now. With the feature of lasting through a distro upgrade. ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH 0/2] Rebased bluetooth patches
Colin wrote: Can you rebase these two on git master please? I just merged a whole bunch of changes from BT guys and these both fail now. Sure, refreshed patches coming. Tanu Kaskinen (2): bluetooth: Don't log an error if an endpoint type is disabled. bluetooth: Get rid of warnings about unused stuff when building against a D-Bus version that doesn't have fd-passing support. src/modules/bluetooth/bluetooth-util.c | 43 +++- src/modules/bluetooth/bluetooth-util.h |2 + 2 files changed, 33 insertions(+), 12 deletions(-) -- 1.7.4.1 ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH 1/2 rebased] bluetooth: Don't log an error if an endpoint type is disabled.
It's perfectly normal for BlueZ to disable some endpoint types, so printing a log message at error level isn't a good idea. For facilitating an informative message in case some endpoint type is disabled, the send_and_add_to_pending() function interface is also changed to be more generic (the pa_bluetooth_device pointer is replaced with a void pointer). --- src/modules/bluetooth/bluetooth-util.c | 33 --- src/modules/bluetooth/bluetooth-util.h |2 + 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c index 293e024..a79ff91 100644 --- a/src/modules/bluetooth/bluetooth-util.c +++ b/src/modules/bluetooth/bluetooth-util.c @@ -73,7 +73,7 @@ struct pa_bluetooth_discovery { }; static void get_properties_reply(DBusPendingCall *pending, void *userdata); -static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, pa_bluetooth_device *d, DBusMessage *m, DBusPendingCallNotifyFunction func); +static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, DBusMessage *m, DBusPendingCallNotifyFunction func, void *call_data); static pa_bt_audio_state_t pa_bt_audio_state_from_string(const char* value) { pa_assert(value); @@ -280,21 +280,21 @@ static int parse_device_property(pa_bluetooth_discovery *y, pa_bluetooth_device /* Vudentz said the interfaces are here when the UUIDs are announced */ if (strcasecmp(HSP_AG_UUID, value) == 0 || strcasecmp(HFP_AG_UUID, value) == 0) { pa_assert_se(m = dbus_message_new_method_call(org.bluez, d-path, org.bluez.HandsfreeGateway, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); } else if (strcasecmp(HSP_HS_UUID, value) == 0 || strcasecmp(HFP_HS_UUID, value) == 0) { pa_assert_se(m = dbus_message_new_method_call(org.bluez, d-path, org.bluez.Headset, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); } else if (strcasecmp(A2DP_SINK_UUID, value) == 0) { pa_assert_se(m = dbus_message_new_method_call(org.bluez, d-path, org.bluez.AudioSink, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); } else if (strcasecmp(A2DP_SOURCE_UUID, value) == 0) { pa_assert_se(m = dbus_message_new_method_call(org.bluez, d-path, org.bluez.AudioSource, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); } /* this might eventually be racy if .Audio is not there yet, but the State change will come anyway later, so this call is for cold-detection mostly */ pa_assert_se(m = dbus_message_new_method_call(org.bluez, d-path, org.bluez.Audio, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); if (!dbus_message_iter_next(ai)) break; @@ -394,7 +394,7 @@ static pa_bluetooth_device *found_device(pa_bluetooth_discovery *y, const char* pa_hashmap_put(y-devices, d-path, d); pa_assert_se(m = dbus_message_new_method_call(org.bluez, path, org.bluez.Device, GetProperties)); -send_and_add_to_pending(y, d, m, get_properties_reply); +send_and_add_to_pending(y, m, get_properties_reply, d); /* Before we read the other properties (Audio, AudioSink, AudioSource, * Headset) we wait that the UUID is read */ @@ -503,7 +503,7 @@ finish2: pa_dbus_pending_free(p); } -static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, pa_bluetooth_device *d, DBusMessage *m, DBusPendingCallNotifyFunction func) { +static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, DBusMessage *m, DBusPendingCallNotifyFunction func, void *call_data) { pa_dbus_pending *p; DBusPendingCall *call; @@ -512,7 +512,7 @@ static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, pa_bl pa_assert_se(dbus_connection_send_with_reply(pa_dbus_connection_get(y-connection), m, call, -1)); -p = pa_dbus_pending_new(pa_dbus_connection_get(y-connection), m, call, y, d); +p = pa_dbus_pending_new(pa_dbus_connection_get(y-connection), m, call, y, call_data); PA_LLIST_PREPEND(pa_dbus_pending, y-pending, p); dbus_pending_call_set_notify(call,
[pulseaudio-discuss] [PATCH 2/2 rebased] bluetooth: Get rid of warnings about unused stuff when building against a D-Bus version that doesn't have fd-passing support.
--- src/modules/bluetooth/bluetooth-util.c | 10 ++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/src/modules/bluetooth/bluetooth-util.c b/src/modules/bluetooth/bluetooth-util.c index a79ff91..f1c7c4c 100644 --- a/src/modules/bluetooth/bluetooth-util.c +++ b/src/modules/bluetooth/bluetooth-util.c @@ -519,6 +519,7 @@ static pa_dbus_pending* send_and_add_to_pending(pa_bluetooth_discovery *y, DBusM return p; } +#ifdef DBUS_TYPE_UNIX_FD static void register_endpoint_reply(DBusPendingCall *pending, void *userdata) { DBusError e; DBusMessage *r; @@ -559,6 +560,7 @@ finish: pa_xfree(endpoint); } +#endif static void list_devices_reply(DBusPendingCall *pending, void *userdata) { DBusError e; @@ -607,6 +609,7 @@ finish: pa_dbus_pending_free(p); } +#ifdef DBUS_TYPE_UNIX_FD static void register_endpoint(pa_bluetooth_discovery *y, const char *path, const char *endpoint, const char *uuid) { DBusMessage *m; DBusMessageIter i, d; @@ -654,6 +657,7 @@ static void register_endpoint(pa_bluetooth_discovery *y, const char *path, const send_and_add_to_pending(y, m, register_endpoint_reply, pa_xstrdup(endpoint)); } +#endif static void found_adapter(pa_bluetooth_discovery *y, const char *path) { DBusMessage *m; @@ -1042,7 +1046,9 @@ int pa_bluetooth_transport_acquire(const pa_bluetooth_transport *t, const char * if (omtu) *omtu = o; +#ifdef DBUS_TYPE_UNIX_FD fail: +#endif dbus_message_unref(r); return ret; } @@ -1083,6 +1089,7 @@ static int setup_dbus(pa_bluetooth_discovery *y) { return 0; } +#ifdef DBUS_TYPE_UNIX_FD static pa_bluetooth_transport *transport_new(pa_bluetooth_discovery *y, const char *path, enum profile p, const uint8_t *config, int size) { pa_bluetooth_transport *t; @@ -1435,13 +1442,16 @@ static DBusHandlerResult endpoint_handler(DBusConnection *c, DBusMessage *m, voi return DBUS_HANDLER_RESULT_HANDLED; } +#endif /* DBUS_TYPE_UNIX_FD */ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *c) { DBusError err; pa_bluetooth_discovery *y; +#ifdef DBUS_TYPE_UNIX_FD static const DBusObjectPathVTable vtable_endpoint = { .message_function = endpoint_handler, }; +#endif pa_assert(c); -- 1.7.4.1 ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [RFC PATCH] Log PCM samples to files
Hi, I recently created a new PA module (module-log-pcm) which is able to log PCM samples from any source/sink and its corresponding outputs/inputs. For testing audio quality, checking signal processing or verifying the right implementation of a sound device mixed in PA, application fields are many. One just needs to give a parameter list depending on what is wished to be logged. During the process, an audio tree, or parts of it, is probed and logged for post-treatment purposes. For design needs, sources and sinks are designated by ends and source outputs/sink inputs by ports. Module-log-pcm's main characteristics are : - Core principles : given a source or a sink name, a working source output used only for log is created and plugged (to the sink.monitor in case of a sink). PCM samples are handled in the push callback and can be redirected to any log device. For ports (SO/SI), the only information available is the connected sink/source and the index. As a result, hooks in the pulsecore have been necessary to capture PCM chunks, before resampling for sink inputs and after resampling for source outputs. - Choice between a local or remote target : this functionnality uses pa_object object-oriented library. Depending if the log is saved in a wave file or written to any other type of file descriptor (type of target), a serializer implementation does the logging of PCM samples. Each serializer (local-file-serializer or remote-device-serializer) is defined within PA_DEFINE_PUBLIC_CLASS that allows a kind of function polymorphism. Wave files are named per end or port names, e.g. sink_name.wav and for ports, the index is appended to the log file name, e.g. for index 2 : sink_name_2.wav. For local log : libsndfile is used to log in wav files in the same manner as pacat. A directory is specified in parameter, where all the wav files can be stored. For remote log (in opposite to local log..) : a header is attached at the beginning of the log file, containing sample spec informations, signal strength (volume ?), source/sink name... - Log of sources/sinks with or without their outputs/inputs : All or none of the ports can be logged by means of an option specified at the module loading : trace_ports=yes/no . - Management of put, move, unlink events : If an end is declared to be logged, it will be monitored whatever its creation comes after or before the loading of module-log-pcm, and for move events, a new log file will be created after each move to help distinguish the samples. The move prefix along with a number is appended to the log file name. Also when a device is unlinked, its corresponding log file will be closed. - Support of most of the data sample formats : Data formats like PA_SAMPLE_S24_32NE can also be logged, but a realignment of the 24 bits on 32 bits is necessary to ensure correct audio restitution in a wave file. These are examples of logging different sinks/sources to a target : Log specified sinks and one source with their ports, in wav files to directory wav_log_files : Load module-log-pcm sinks_to_log=alsa_output.intel_mfld_msic_audio.earphone,sink.music sources_to_log=source.record trace_ports=yes log_target=/home/vincent/wav_log_files/ We shall get wave files like these : alsa_output.intel_mfld_msic_audio.earphone.wav alsa_output.intel_mfld_msic_audio.earphone_0.wav sink.music.wav sink_music_1.wav source.record.wav source_record_2.wav Log specified sinks and sources (note the .monitor is in the list of sources) without their ports to a remote device : Load module-log-pcm sinks_to_log=alsa_output.intel_mfld_msic_audio.earphone sources_to_log=sink.hsandihf.monitor,source.record trace_ports=no log_target=/dev/remote_snd The development might look a bit ackward and certainly still needs modifications but it macan be seen as the first stone of experimental logging.. Please feel free to comment. Thanks, Vincent Vincent Becker (1): Log module: new module to log PCM chunks. src/Makefile.am| 11 +- src/modules/log/local-file-serializer.c| 181 + src/modules/log/local-file-serializer.h| 47 ++ src/modules/log/log-pcm-serializer.c | 50 ++ src/modules/log/log-pcm-serializer.h | 52 ++ src/modules/log/module-log-pcm.c | 1113 src/modules/log/pcm-logger-data.h | 57 ++ src/modules/log/remote-device-serializer.c | 140 src/modules/log/remote-device-serializer.h | 48 ++ src/pulsecore/core.h |2 + src/pulsecore/sink-input.c | 18 + src/pulsecore/sink-input.h |5 + src/pulsecore/source-output.c | 27 +- src/pulsecore/source-output.h |6 + 14 files changed, 1753 insertions(+), 4 deletions(-) create mode 100755 src/modules/log/local-file-serializer.c create mode 100755 src/modules/log/local-file-serializer.h create mode 100755
Re: [pulseaudio-discuss] [PATCH 1/2] Log feature: Add a new log target to a file descriptor
'Twas brillig, and Vincent Becker at 18/03/11 10:23 did gyre and gimble: This patch enables logging of text debug messages (pa_log feature) into a file or a device driver. Example : pulseaudio --log-target=file:./mylog.txt Many thanks for your perseverence here. We were beginning to worry we were annoying you too much with constant tweaks for a relatively simple patch. Hi Col, I actually crashed my Linux environment, this is why it took me some time to recover and get back to you. I did actually make a couple extra tweaks on top of this one which I've attached FYI. One of them was to fix the double close that Arun pointed out before and was still in this version. If I've cocked it up, please feel free to publicly humiliate me in a manner of your choosing. No worries! It's cleaner like that I admit. OOOps! I just noticed a naughty integration error of mine. Unluckily, in the process of redelivering, I did not retest so in daemon-conf.c, it is implemented in the wrong function pa_daemon_conf_set_log_level. It should be in the function just above pa_daemon_conf_set_log_target. Both functions look very similar and are one above each other, so there was still a tiny chance to mess up ! Sorry, sorry.. Should I resent by the way a corrected version ? Vincent Thanks Vincent Many thanks. 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/] - Intel Corporation SAS (French simplified joint stock company) Registered headquarters: Les Montalets- 2, rue de Paris, 92196 Meudon Cedex, France Registration Number: 302 456 199 R.C.S. NANTERRE Capital: 4,572,000 Euros This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss - Intel Corporation SAS (French simplified joint stock company) Registered headquarters: Les Montalets- 2, rue de Paris, 92196 Meudon Cedex, France Registration Number: 302 456 199 R.C.S. NANTERRE Capital: 4,572,000 Euros This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH] alsa-mixer: Check that the kernel driver returns consistent limits with both snd_mixer_selem_get_*_dB_range() and _ask_*_vol_dB().
The check is inspired by a driver that returned higher dB limit from snd_mixer_selem_get_playback_dB_range() than what _ask_playback_vol_dB() returned at maximum integer volume. --- src/modules/alsa/alsa-mixer.c | 37 + 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index 51a6cd6..b425ce5 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -1398,6 +1398,43 @@ static int element_probe(pa_alsa_element *e, snd_mixer_t *m) { else e-has_dB = snd_mixer_selem_get_capture_dB_range(me, min_dB, max_dB) = 0; +/* Check that the kernel driver returns consistent limits with + * both _get_*_dB_range() and _ask_*_vol_dB(). */ +if (e-has_dB !e-db_fix) { +long min_dB_checked = 0; +long max_dB_checked = 0; + +if (e-direction == PA_ALSA_DIRECTION_OUTPUT) +r = snd_mixer_selem_ask_playback_vol_dB(me, e-min_volume, min_dB_checked); +else +r = snd_mixer_selem_ask_capture_vol_dB(me, e-min_volume, min_dB_checked); + +if (r 0) { +pa_log_warn(Failed to query the dB value for %s at volume level %li, e-alsa_name, e-min_volume); +return -1; +} + +if (e-direction == PA_ALSA_DIRECTION_OUTPUT) +r = snd_mixer_selem_ask_playback_vol_dB(me, e-max_volume, max_dB_checked); +else +r = snd_mixer_selem_ask_capture_vol_dB(me, e-max_volume, max_dB_checked); + +if (r 0) { +pa_log_warn(Failed to query the dB value for %s at volume level %li, e-alsa_name, e-max_volume); +return -1; +} + +if (min_dB != min_dB_checked || max_dB != max_dB_checked) { +pa_log_warn(Your kernel driver is broken: the reported dB range for %s (from %0.2f dB to %0.2f dB) +doesn't match the dB values at minimum and maximum volume levels: %0.2f dB at level %li, +%0.2f dB at level %li., +e-alsa_name, +min_dB / 100.0, max_dB / 100.0, +min_dB_checked / 100.0, e-min_volume, max_dB_checked / 100.0, e-max_volume); +return -1; +} +} + if (e-has_dB) { #ifdef HAVE_VALGRIND_MEMCHECK_H VALGRIND_MAKE_MEM_DEFINED(min_dB, sizeof(min_dB)); -- 1.7.4.1 ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] More patches for OS X
On Mon, Mar 21, 2011 at 12:39 AM, Daniel Mack zon...@gmail.com wrote: On Sun, Mar 20, 2011 at 6:39 PM, Daniel Mack zon...@gmail.com wrote: Hi, I'm catching up with my work on PulseAudio for OS X and have some patches ready I would like to get merged. Ok, I fixed all the minor issues that were reported and pushed out again. Same URL: git://github.com/zonque/pulseaudio.git osx Does anybody want me to resend the patches to the list or are you fine with checking them from the repository? Daniel ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH 1/2] win32: Simplify dl_search_path code
And add #include sys/stat.h, needed by the code introduced in f7acd4bd. --- src/daemon/daemon-conf.c | 19 ++- 1 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c index 9b530a8..59579d9 100644 --- a/src/daemon/daemon-conf.c +++ b/src/daemon/daemon-conf.c @@ -29,6 +29,7 @@ #include string.h #include unistd.h #include fcntl.h +#include sys/stat.h #ifdef HAVE_SCHED_H #include sched.h @@ -37,6 +38,7 @@ #include pulse/xmalloc.h #include pulse/timeval.h #include pulse/i18n.h +#include pulse/version.h #include pulsecore/core-error.h #include pulsecore/core-util.h @@ -147,6 +149,10 @@ pa_daemon_conf* pa_daemon_conf_new(void) { c = pa_xnewdup(pa_daemon_conf, default_conf, 1); +#ifdef OS_IS_WIN32 +c-dl_search_path = pa_sprintf_malloc(%s PA_PATH_SEP lib PA_PATH_SEP pulse-%d.%d PA_PATH_SEP modules, + pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR); +#else #if defined(__linux__) !defined(__OPTIMIZE__) /* We abuse __OPTIMIZE__ as a check whether we are a debug build @@ -160,19 +166,6 @@ pa_daemon_conf* pa_daemon_conf_new(void) { } else #endif -#ifdef OS_IS_WIN32 -{ -char *t; -char *majorminor = pa_xstrdup(VERSION); -char *toplevel = pa_win32_get_toplevel(NULL); - -if ((t = strchr(majorminor, '-'))) - *t = '\0'; - -c-dl_search_path = pa_sprintf_malloc(%s PA_PATH_SEP lib PA_PATH_SEP pulse-%s PA_PATH_SEP modules, toplevel, majorminor); -pa_xfree(majorminor); -} -#else c-dl_search_path = pa_xstrdup(PA_DLSEARCHPATH); #endif -- 1.7.1 ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH 2/2] Move compile-time checks around pa_run_from_build_tree to core-util
To make the code cleaner and have the checks all in one place. --- src/daemon/daemon-conf.c | 11 +-- src/modules/alsa/alsa-mixer.c | 12 src/pulsecore/core-util.c |3 --- src/pulsecore/core-util.h |5 + 4 files changed, 10 insertions(+), 21 deletions(-) diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c index 59579d9..2872c74 100644 --- a/src/daemon/daemon-conf.c +++ b/src/daemon/daemon-conf.c @@ -144,7 +144,7 @@ static const pa_daemon_conf default_conf = { #endif }; -pa_daemon_conf* pa_daemon_conf_new(void) { +pa_daemon_conf *pa_daemon_conf_new(void) { pa_daemon_conf *c; c = pa_xnewdup(pa_daemon_conf, default_conf, 1); @@ -153,19 +153,10 @@ pa_daemon_conf* pa_daemon_conf_new(void) { c-dl_search_path = pa_sprintf_malloc(%s PA_PATH_SEP lib PA_PATH_SEP pulse-%d.%d PA_PATH_SEP modules, pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR); #else -#if defined(__linux__) !defined(__OPTIMIZE__) - -/* We abuse __OPTIMIZE__ as a check whether we are a debug build - * or not. If we are and are run from the build tree then we - * override the search path to point to our build tree */ - if (pa_run_from_build_tree()) { pa_log_notice(Detected that we are run from the build tree, fixing search path.); c-dl_search_path = pa_xstrdup(PA_BUILDDIR /.libs/); - } else - -#endif c-dl_search_path = pa_xstrdup(PA_DLSEARCHPATH); #endif diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index 51a6cd6..286931f 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -85,7 +85,7 @@ struct pa_alsa_fdlist { void *userdata; }; -static void io_cb(pa_mainloop_api*a, pa_io_event* e, int fd, pa_io_event_flags_t events, void *userdata) { +static void io_cb(pa_mainloop_api *a, pa_io_event *e, int fd, pa_io_event_flags_t events, void *userdata) { struct pa_alsa_fdlist *fdl = userdata; int err; @@ -132,7 +132,7 @@ static void io_cb(pa_mainloop_api*a, pa_io_event* e, int fd, pa_io_event_flags_t snd_mixer_handle_events(fdl-mixer); } -static void defer_cb(pa_mainloop_api*a, pa_defer_event* e, void *userdata) { +static void defer_cb(pa_mainloop_api *a, pa_defer_event *e, void *userdata) { struct pa_alsa_fdlist *fdl = userdata; unsigned num_fds, i; int err, n; @@ -230,7 +230,7 @@ void pa_alsa_fdlist_free(struct pa_alsa_fdlist *fdl) { pa_xfree(fdl); } -int pa_alsa_fdlist_set_mixer(struct pa_alsa_fdlist *fdl, snd_mixer_t *mixer_handle, pa_mainloop_api* m) { +int pa_alsa_fdlist_set_mixer(struct pa_alsa_fdlist *fdl, snd_mixer_t *mixer_handle, pa_mainloop_api *m) { pa_assert(fdl); pa_assert(mixer_handle); pa_assert(m); @@ -2229,9 +2229,7 @@ pa_alsa_path* pa_alsa_path_new(const char *fname, pa_alsa_direction_t direction) items[2].data = p-name; fn = pa_maybe_prefix_path(fname, -#if defined(__linux__) !defined(__OPTIMIZE__) pa_run_from_build_tree() ? PA_BUILDDIR /modules/alsa/mixer/paths/ : -#endif PA_ALSA_PATHS_DIR); r = pa_config_parse(fn, NULL, items, p); @@ -2250,7 +2248,7 @@ fail: return NULL; } -pa_alsa_path* pa_alsa_path_synthesize(const char*element, pa_alsa_direction_t direction) { +pa_alsa_path *pa_alsa_path_synthesize(const char *element, pa_alsa_direction_t direction) { pa_alsa_path *p; pa_alsa_element *e; @@ -3744,9 +3742,7 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel fname = default.conf; fn = pa_maybe_prefix_path(fname, -#if defined(__linux__) !defined(__OPTIMIZE__) pa_run_from_build_tree() ? PA_BUILDDIR /modules/alsa/mixer/profile-sets/ : -#endif PA_ALSA_PROFILE_SETS_DIR); r = pa_config_parse(fn, NULL, items, ps); diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 3eb1242..5ef8480 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -2955,9 +2955,6 @@ pa_bool_t pa_run_from_build_tree(void) { char *rp; pa_bool_t b = FALSE; -/* We abuse __OPTIMIZE__ as a check whether we are a debug build - * or not. */ - if ((rp = pa_readlink(/proc/self/exe))) { b = pa_startswith(rp, PA_BUILDDIR); pa_xfree(rp); diff --git a/src/pulsecore/core-util.h b/src/pulsecore/core-util.h index 80b4739..32641a3 100644 --- a/src/pulsecore/core-util.h +++ b/src/pulsecore/core-util.h @@ -254,8 +254,13 @@ size_t pa_pipe_buf(int fd); void pa_reset_personality(void); +/* We abuse __OPTIMIZE__ as a check whether we are a debug build + * or not. If we are and are run from the build tree then we + * override the search path to point to our build tree */ #if defined(__linux__) !defined(__OPTIMIZE__) pa_bool_t pa_run_from_build_tree(void); +#else +static
Re: [pulseaudio-discuss] [PATCH 2/2] Move compile-time checks around pa_run_from_build_tree to core-util
Is there a better way than #if defined(__linux__) !defined(__OPTIMIZE__) to check for a debug build? By default the CFLAGS contain -g -O2, so __OPTIMIZE__ will not be defined and running uninstalled does not work. Maarten ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
[pulseaudio-discuss] [PATCH] alsa-mixer: Make sure that SND_MIXER_SCHN_UNKNOWN isn't used when indexing e-masks.
SND_MIXER_SCHN_UNKNOWN is defined as -1, so that's not a good array index... --- src/modules/alsa/alsa-mixer.c | 13 +++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c index b425ce5..c9adbb0 100644 --- a/src/modules/alsa/alsa-mixer.c +++ b/src/modules/alsa/alsa-mixer.c @@ -1490,8 +1490,13 @@ static int element_probe(pa_alsa_element *e, snd_mixer_t *m) { e-n_channels = 1; if (!e-override_map) { -for (p = PA_CHANNEL_POSITION_FRONT_LEFT; p PA_CHANNEL_POSITION_MAX; p++) +for (p = PA_CHANNEL_POSITION_FRONT_LEFT; p PA_CHANNEL_POSITION_MAX; p++) { +if (alsa_channel_ids[p] == SND_MIXER_SCHN_UNKNOWN) +continue; + e-masks[alsa_channel_ids[p]][e-n_channels-1] = 0; +} + e-masks[SND_MIXER_SCHN_MONO][e-n_channels-1] = PA_CHANNEL_POSITION_MASK_ALL; } @@ -1531,8 +1536,12 @@ static int element_probe(pa_alsa_element *e, snd_mixer_t *m) { } e-merged_mask = 0; -for (p = PA_CHANNEL_POSITION_FRONT_LEFT; p PA_CHANNEL_POSITION_MAX; p++) +for (p = PA_CHANNEL_POSITION_FRONT_LEFT; p PA_CHANNEL_POSITION_MAX; p++) { +if (alsa_channel_ids[p] == SND_MIXER_SCHN_UNKNOWN) +continue; + e-merged_mask |= e-masks[alsa_channel_ids[p]][e-n_channels-1]; +} } } } -- 1.7.4.1 ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 3/5] osx: add -headerpad_max_install_names to LDFLAGS
2011/3/21 Daniel Mack dan...@zonque.org: On Sun, Mar 20, 2011 at 7:14 PM, Tanu Kaskinen ta...@iki.fi wrote: On Sun, 2011-03-20 at 18:39 +0100, Daniel Mack wrote: This is needed for sufficient padding of library names in linked binaries. --- src/Makefile.am | 5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am index ff98ddb..c182483 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -82,6 +82,11 @@ FOREIGN_CFLAGS = -w MODULE_LDFLAGS = $(AM_LDFLAGS) -module -disable-static -avoid-version $(LDFLAGS_NOUNDEFINED) MODULE_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINOR@.la libpulsecommon-@PA_MAJORMINOR@.la libpulse.la +if OS_IS_DARWIN +AM_LDFLAGS+=-headerpad_max_install_names +MODULE_LDFLAGS+=-headerpad_max_install_names +endif If you put this block before MODULE_LDFLAGS is defined, then you don't need to touch MODULE_LDFLAGS, because they include AM_LDFLAGS automatically. Yes, of course. I'll fix this. Just to reiterate: You don't have to do this. Only appending to AM_LDFLAGS (no need to move) adds it to both. So just drop the MODULE_LDFLAGS+= line of that hunk. You can verify by running a build with make V=1, you'll see that it all just works. Cosmetic: spaces around += would be nice (it seems that it wasn't entirely consistent before either...) I'd rather keep it in sync with the other lines. Someone could come up with a patch to fix them all :) Which other lines? It seems that the only lines in the whole file that don't use spaces are in the if OS_IS_WIN32 block (so probably my bad) With spaces clearly is preferred, so please use that. Daniel Maarten ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [RFC PATCH] Log PCM samples to files
2011/3/21 Vincent Becker vincentx.bec...@intel.com: Hi, I recently created a new PA module (module-log-pcm) which is able to log PCM samples from any source/sink and its corresponding outputs/inputs. For testing audio quality, checking signal processing or verifying the right implementation of a sound device mixed in PA, application fields are many. What is the use case you are specifically interested in? One just needs to give a parameter list depending on what is wished to be logged. During the process, an audio tree, or parts of it, is probed and logged for post-treatment purposes. I'm sorry if I am being stuped here, but wat can the module do that you can't with parec from a monitor source? For design needs, sources and sinks are designated by ends and source outputs/sink inputs by ports. Why introduce the new terminology here? I think it is confusing for people that know pulse already. Or is there perhaps some subtle difference between the pulse concept and your designation for it? Maarten ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] [PATCH 1/2] Log feature: Add a new log target to a file descriptor
2011/3/21 Becker, VincentX vincentx.bec...@intel.com: 'Twas brillig, and Vincent Becker at 18/03/11 10:23 did gyre and gimble: This patch enables logging of text debug messages (pa_log feature) into a file or a device driver. Example : pulseaudio --log-target=file:./mylog.txt Many thanks for your perseverence here. We were beginning to worry we were annoying you too much with constant tweaks for a relatively simple patch. Hi Col, I actually crashed my Linux environment, this is why it took me some time to recover and get back to you. I did actually make a couple extra tweaks on top of this one which I've attached FYI. One of them was to fix the double close that Arun pointed out before and was still in this version. If I've cocked it up, please feel free to publicly humiliate me in a manner of your choosing. No worries! It's cleaner like that I admit. OOOps! I just noticed a naughty integration error of mine. Unluckily, in the process of redelivering, I did not retest so in daemon-conf.c, it is implemented in the wrong function pa_daemon_conf_set_log_level. It should be in the function just above pa_daemon_conf_set_log_target. Both functions look very similar and are one above each other, so there was still a tiny chance to mess up ! Sorry, sorry.. Should I resent by the way a corrected version ? The first patch is already in git master, so you better send a patch against that. Vincent Maarten ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
'Twas brillig, and Maarten Bosmans at 23/03/11 18:36 did gyre and gimble: 2011/3/21 Dark Shadow shadowofdarkn...@gmail.com: On Sun, Mar 20, 2011 at 5:58 PM, Dark Shadow shadowofdarkn...@gmail.com wrote: I have successfully bitstreamed DTS-HD from xbmc through PA but in using the passthrough git branch it doesn't read that config file which causes problems for me forcing a sink. How can I fix this since I have to kill pulseaudio then restart it with pulseaudio --load=module-alsa-sink device=hdmi:1,3 to get hdmi audio working I am running Ubuntu 11.04 Alpha. I figured it out, I copied default.pa into ~/.pulse and it works now. Not preferential in a multi-user environment but it is fine for now. With the feature of lasting through a distro upgrade. That's a workaround, but pulse still should read the system-wide startup script (note that that is different from the config file) What does pulseaudio --dump-config give? Am I missing something here... default.pa is the startup script and if it exists in ~/.pulse it overrides the one in /etc/pulse/. The system-wide one won't be read at all. Even with the daemon.conf file, the same logic is true (even if it would in theory be possible to read both, with the local file overriding the system wide one on a setting-by-setting basis) Perhaps I'm misunderstanding tho' 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] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
On 03/23/11 17:20, Colin Guthrie wrote: 'Twas brillig, and Maarten Bosmans at 23/03/11 18:36 did gyre and gimble: 2011/3/21 Dark Shadowshadowofdarkn...@gmail.com: On Sun, Mar 20, 2011 at 5:58 PM, Dark Shadowshadowofdarkn...@gmail.com wrote: I have successfully bitstreamed DTS-HD from xbmc through PA but in using the passthrough git branch it doesn't read that config file which causes problems for me forcing a sink. How can I fix this since I have to kill pulseaudio then restart it with pulseaudio --load=module-alsa-sink device=hdmi:1,3 to get hdmi audio working I am running Ubuntu 11.04 Alpha. I figured it out, I copied default.pa into ~/.pulse and it works now. Not preferential in a multi-user environment but it is fine for now. With the feature of lasting through a distro upgrade. That's a workaround, but pulse still should read the system-wide startup script (note that that is different from the config file) What does pulseaudio --dump-config give? Am I missing something here... default.pa is the startup script and if it exists in ~/.pulse it overrides the one in /etc/pulse/. The system-wide one won't be read at all. Even with the daemon.conf file, the same logic is true (even if it would in theory be possible to read both, with the local file overriding the system wide one on a setting-by-setting basis) Perhaps I'm misunderstanding tho' Col I'm pretty sure what he means is that daemon.conf isn't being read from /etc/pulse when he doesn't have a ~.pulse/daemon.conf. ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
On Wed, Mar 23, 2011 at 5:20 PM, Colin Guthrie gm...@colin.guthr.ie wrote: 'Twas brillig, and Maarten Bosmans at 23/03/11 18:36 did gyre and gimble: 2011/3/21 Dark Shadow shadowofdarkn...@gmail.com: On Sun, Mar 20, 2011 at 5:58 PM, Dark Shadow shadowofdarkn...@gmail.com wrote: I have successfully bitstreamed DTS-HD from xbmc through PA but in using the passthrough git branch it doesn't read that config file which causes problems for me forcing a sink. How can I fix this since I have to kill pulseaudio then restart it with pulseaudio --load=module-alsa-sink device=hdmi:1,3 to get hdmi audio working I am running Ubuntu 11.04 Alpha. I figured it out, I copied default.pa into ~/.pulse and it works now. Not preferential in a multi-user environment but it is fine for now. With the feature of lasting through a distro upgrade. That's a workaround, but pulse still should read the system-wide startup script (note that that is different from the config file) What does pulseaudio --dump-config give? Am I missing something here... default.pa is the startup script and if it exists in ~/.pulse it overrides the one in /etc/pulse/. The system-wide one won't be read at all. Even with the daemon.conf file, the same logic is true (even if it would in theory be possible to read both, with the local file overriding the system wide one on a setting-by-setting basis) Perhaps I'm misunderstanding tho' Col Pulse stopped reading /etc/pulse before I put the file into ~/.pulse. Here is everything I did Install Ubuntu edit /etc/pulse/default.pa to add my hdmi sink ...everything works for awhile... update to the passthrough git branch to get dts-hd passthrough with xbmc my sink is gone and /etc/pulse/default.pa isn't being read copy just that file into ~/.pulse and the sink starts working again I don't even have a daemon.conf in ~/.pulse ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss
Re: [pulseaudio-discuss] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
'Twas brillig, and Dark Shadow at 23/03/11 23:30 did gyre and gimble: Pulse stopped reading /etc/pulse before I put the file into ~/.pulse. Here is everything I did Install Ubuntu edit /etc/pulse/default.pa to add my hdmi sink ...everything works for awhile... update to the passthrough git branch to get dts-hd passthrough with xbmc my sink is gone and /etc/pulse/default.pa isn't being read copy just that file into ~/.pulse and the sink starts working again I don't even have a daemon.conf in ~/.pulse Ahh that's probably because you compiled the branch that way. You have to pass --sysconfdir=/etc to configure for it to look in that folder. By default (i.e. no arguments to configure) it will be /usr/local/etc 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] Pulseaudio passthrough branch doesn't read /etc/pulse/default.pa
On Wed, Mar 23, 2011 at 5:44 PM, Colin Guthrie gm...@colin.guthr.ie wrote: 'Twas brillig, and Dark Shadow at 23/03/11 23:30 did gyre and gimble: Pulse stopped reading /etc/pulse before I put the file into ~/.pulse. Here is everything I did Install Ubuntu edit /etc/pulse/default.pa to add my hdmi sink ...everything works for awhile... update to the passthrough git branch to get dts-hd passthrough with xbmc my sink is gone and /etc/pulse/default.pa isn't being read copy just that file into ~/.pulse and the sink starts working again I don't even have a daemon.conf in ~/.pulse Ahh that's probably because you compiled the branch that way. You have to pass --sysconfdir=/etc to configure for it to look in that folder. By default (i.e. no arguments to configure) it will be /usr/local/etc Col Thanks that must be it since I just used the basic --prefix=/usr ___ pulseaudio-discuss mailing list pulseaudio-discuss@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss