David Henningsson | 31 Mar 14:38 2015

[PATCH 0/3] Multichannel fixes

About the first patch:

I tested and refined a patch previously submitted by Takashi
Sakamoto. It seems like nothing has happened on the udev side so I
suggest we take this one for now. In case udev should improve and get a
model database for the Firewire bus, then we could consider
reverting this.

With all three patches, my FireWire device now shows up like I want
it in the GUI.

Before:

Card #2
	Name: alsa_card.firewire-0x000a9200c9040125
	Driver: module-alsa-card.c
	Owner Module: 8
	Properties:
		alsa.card = "0"
		alsa.card_name = "PreSonus FP10"
		alsa.long_card_name = "Presonus PreSonus FP10 (id:135, rev:1), GUID 000a9200c9040125 at fw1.0, S400"
		alsa.driver_name = "snd_bebob"
		device.bus_path = "pci-0000:03:0e.0"
		sysfs.path = "/devices/pci0000:00/0000:00:14.4/0000:03:0e.0/fw1/fw1.0/sound/card0"
		udev.id = "firewire-0x000a9200c9040125"
		device.bus = "firewire"
		device.vendor.name = "Texas Instruments"
		device.product.name = "Motherboard"
		device.string = "0"
		device.description = "Motherboard"
(Continue reading)

Tanu Kaskinen | 31 Mar 11:39 2015
Picon

[PATCH] sink, source: Fix a volume change leak

When a sink or source is freed, there may be pending volume changes that
didn't get applied before the IO thread got torn down. Those pending
changes need to be freed.

The memory leak was reported here:
http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/23162/focus=23169

Reported-by: Alexander E. Patrakov <patrakov <at> gmail.com>
---
 src/pulsecore/sink.c   | 2 ++
 src/pulsecore/source.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
index dafd1cc..f29a9b7 100644
--- a/src/pulsecore/sink.c
+++ b/src/pulsecore/sink.c
 <at>  <at>  -727,6 +727,8  <at>  <at>  static void sink_free(pa_object *o) {

     pa_log_info("Freeing sink %u \"%s\"", s->index, s->name);

+    pa_sink_volume_change_flush(s);
+
     if (s->monitor_source) {
         pa_source_unref(s->monitor_source);
         s->monitor_source = NULL;
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index eb27621..97f6cd9 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
(Continue reading)

Glenn Golden | 30 Mar 23:54 2015

ThinkPad T-510 audio output mute LED non-workingness

HW: ThinkPad T-510, x86_64
SW: Arch Linux (synched within a week) kernel = 3.19.2, PA 6.0

On the above setup, the mic mute function (invoked via pavucontrol) works as
expected: Click the mute icon, it mutes the mic input, indicates the muted
state by greying out the pavucontrol mic gain control, and illuminates the
little LED on the mic mute button.

But the analogous functionality for muting audio output only does the
first two things, and has no effect on the mute LED. (The LED is always off.)

From googling around, I'm pretty sure that these two particular LEDs are not
directly under user control (e.g. via ACPI) but are somehow bound to the
mute/unmute functionality in the snd-hda-intel driver. This understanding is
based on kernel posts like this:

    https://bugzilla.kernel.org/show_bug.cgi?id=49391

and other similar ones.

Before filing a ticket with the kernel guys, wanted to ask if this
function-LED binding is in any way under control of pulseaudio itself?
In other words, I guess what I'm asking is whether pulseaudio just tells
the driver to "mute the audio", and the driver sets the LED state accordingly,
or whether pulse tells the driver separately to "mute the audio" and also
"turn on the LED".

Knowing the answer to this, I can post a more informative ticket to the
kernel guys. (Or maybe the fix is even in pulseaudio itself?)
_______________________________________________
(Continue reading)

David Henningsson | 30 Mar 15:13 2015

[PATCH v2 1/2] resampler: Allow disabling the LFE filter by setting crossover to 0

When crossover_freq is set to 0, this restores the old behaviour
of letting the LFE channel be the average of the source channels,
without additional processing. This can be useful e g in case the
user already has a hardware crossover.

Signed-off-by: David Henningsson <david.henningsson <at> canonical.com>
---
 man/pulse-daemon.conf.5.xml.in | 2 +-
 src/pulsecore/resampler.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
index bc91a5a..d221585 100644
--- a/man/pulse-daemon.conf.5.xml.in
+++ b/man/pulse-daemon.conf.5.xml.in
 <at>  <at>  -130,7 +130,7  <at>  <at>  License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

     <option>
       <p><opt>lfe-crossover-freq=</opt> The crossover frequency (in Hz) for the
-      LFE filter. Defaults to 120 Hz.</p>
+      LFE filter. Defaults to 120 Hz. Set it to 0 to disable the LFE filter.</p>
     </option>

     <option>
diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
index f5a0e16..2a54cec 100644
--- a/src/pulsecore/resampler.c
+++ b/src/pulsecore/resampler.c
 <at>  <at>  -416,7 +416,7  <at>  <at>  pa_resampler* pa_resampler_new(
     if (r->map_required)
(Continue reading)

David Henningsson | 30 Mar 11:16 2015

[PATCH] resampler: Allow disabling the LFE filter by setting crossover to 0

When crossover_freq is set to 0, this restores the old behaviour
of letting the LFE channel be the average of the source channels,
without additional processing. This can be useful e g in case the
user already has a hardware crossover.

Signed-off-by: David Henningsson <david.henningsson <at> canonical.com>
---
 man/pulse-daemon.conf.5.xml.in | 2 +-
 src/pulsecore/resampler.c      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in
index bc91a5a..d221585 100644
--- a/man/pulse-daemon.conf.5.xml.in
+++ b/man/pulse-daemon.conf.5.xml.in
 <at>  <at>  -130,7 +130,7  <at>  <at>  License along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

     <option>
       <p><opt>lfe-crossover-freq=</opt> The crossover frequency (in Hz) for the
-      LFE filter. Defaults to 120 Hz.</p>
+      LFE filter. Defaults to 120 Hz. Set it to 0 to disable the LFE filter.</p>
     </option>

     <option>
diff --git a/src/pulsecore/resampler.c b/src/pulsecore/resampler.c
index f5a0e16..2a54cec 100644
--- a/src/pulsecore/resampler.c
+++ b/src/pulsecore/resampler.c
 <at>  <at>  -416,7 +416,7  <at>  <at>  pa_resampler* pa_resampler_new(
     if (r->map_required)
(Continue reading)

Raymond Yau | 29 Mar 11:48 2015
Picon

Re: Can't get Pulseadio to playback stream on Raspbian with HifiBerry DAC+

This is my alsa-info.sh

Your ALSA information is located at http://www.alsa-project.org/db/?f=b0fa712883998f34f799364e4240cc8c708eba5d

Does this help?

 

This is my alsa-info.sh



Does this help?

do you have the source code of the audio driver ???



diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c
index bb79e71..e36c2a7 100644
--- a/src/modules/alsa/alsa-util.c
+++ b/src/modules/alsa/alsa-util.c
<at> <at> -481,7 +481,7 <at> <at> int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min, bool peri
         return err;
     }
 
-    if ((err = snd_pcm_sw_params_set_start_threshold(pcm, swparams, (snd_pcm_uframes_t) -1)) < 0) {
+    if ((err = snd_pcm_sw_params_set_start_threshold(pcm, swparams, boundary)) < 0) {
         pa_log_warn("Unable to set start threshold: %s\n", pa_alsa_strerror(err));
         return err;
     }

>
> Okay, on someone's recommendation, I removed the existing version of pulseaudio (2, I think) and compiled a fresh one (5.99.3). Pulse seems to attempt to use the hifiberry, but I still get the following error:
>
> I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] alsa-sink.c: Starting playback.
> I: [alsa-sink-HiFiBerry DAC+ HiFi pcm512x-hifi-0] (alsa-lib)pcm_hw.c: SNDRV_PCM_IOCTL_START failed (-77)
>
> What exactly does this mean? Sorry for the newbie questions.
>

You have to post output of alsa-info.sh

The error occur when pcm state is running when pulseaudio call snd_pcm_start()

Do you know where to find the source code of your audio driver, seem not in
https://git.kernel.org/cgit/linux/kernel/git/tiwai/sound.git/tree/sound

> D: [pulseaudio] alsa-util.c:   start_threshold  : -1

It is because pulseaudio set start_threshold to -1 , this mean first snd_pcm_write() automatically trigger playback to start since

frames written > start_threshold



_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Swd | 29 Mar 09:50 2015
Picon

PulseAudio muted channel - VT1708S - Archlinux

Hello all,

First some details:
I have an VT1708S sound card with a rear panel and and top/front panel 
My Speakers are plugged on the rear panel corresponding to the 
"surround" channel on alsamixer. While I always have my headset plugged 
in on the top panel.

This is not user specific but system wide.

Now the issue;
The Surround channel is always muted when PulseAudio starts, doesn't 
mater if the headset are plugged in or not. I have used alsamixer to 
unmute and run "sudo alsa-store" but it hasn't worked
I also tried to stop PulseAudio Daemon that restore the mixer's level 
but it hasn't work.
This issue has started months ago, but never got around to sort it before.

Thank you for your time
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
David Henningsson | 27 Mar 11:20 2015

[PATCH v2 0/6] Add module dynarray for hooks

v2: pa_module_hook_connect is no longer an inline function.
    Convert some more modules to the new API.

David Henningsson (6):
  module: Add hook dynarray
  module-*-restore: use pa_module_hook_connect
  module-suspend-on-idle: use pa_module_hook_connect
  module-alsa-card: use pa_module_hook_connect
  module-filter-*: use pa_module_hook_connect
  module-switch-*: use pa_module_hook_connect

 src/modules/alsa/module-alsa-card.c           | 26 ++------
 src/modules/module-card-restore.c             | 29 ++-------
 src/modules/module-device-restore.c           | 43 +++----------
 src/modules/module-filter-apply.c             | 52 +++-------------
 src/modules/module-filter-heuristics.c        | 22 ++-----
 src/modules/module-stream-restore.c           | 40 +++---------
 src/modules/module-suspend-on-idle.c          | 89 +++++----------------------
 src/modules/module-switch-on-connect.c        | 12 +---
 src/modules/module-switch-on-port-available.c | 44 +++----------
 src/pulsecore/module.c                        | 16 +++++
 src/pulsecore/module.h                        |  4 ++
 11 files changed, 88 insertions(+), 289 deletions(-)

--

-- 
1.9.1

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
David Henningsson | 27 Mar 10:20 2015

[PATCH 0/2] Module hook dynarray

This idea emerged when writing some code a while ago. If accepted, I'll refactor
some more modules as well.

David Henningsson (2):
  module: Add hook dynarray
  module-*-restore: Use the module's dynarray for hooks

 src/modules/module-card-restore.c   | 29 ++++++-------------------
 src/modules/module-device-restore.c | 43 +++++++------------------------------
 src/modules/module-stream-restore.c | 40 ++++++++--------------------------
 src/pulsecore/module.c              |  9 ++++++++
 src/pulsecore/module.h              |  9 ++++++++
 5 files changed, 41 insertions(+), 89 deletions(-)

--

-- 
1.9.1

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
David Martinez | 27 Mar 07:50 2015
Picon

ALSA modules missing from compiled PA 5.99.3

I tried compiling pulseaudio 5.99.3 on Raspbian (wheezy). Things seemed to have worked well except that I seem to be missing all of the alsa modules. I searched the file system and could not find them. Without them, I can't get hardware playback, right? What can I do?

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Georg Chini | 26 Mar 21:54 2015

[PATCH 0/9] Combine module-role-ducking and module-role-cork (v2)

This is the second version of the consolidation of module-role-cork and
module-role-ducking. Following the feedback I received I moved the code
to stream-interaction.c which will then be used by both modules.
The first four patches are functional changes to module-role-cork, the
other five implement the merging of the two modules.

Georg Chini (9):
  role-cork: Don't ignore streams without media.role
  role-cork: React to mute/cork of trigger streams and to proplist
    changes
  role-cork: allow cork of all non-trigger streams using
    cork_roles=any_role
  role-cork: remove corking on module exit
  role-cork: prepare merge with role-ducking: move most code to
    stream-interaction.c
  role-cork: prepare merge with role-ducking: replace "cork" with
    "interact" where appropriate
  role-cork: more cosmetic changes, changed debug output
  role-cork: add ducking functionality to stream-interaction.c
  role-ducking: let module-role-ducking use the common code in
    stream-interaction.c

 src/Makefile.am                   |   6 +-
 src/modules/module-role-cork.c    | 256 +-----------------------
 src/modules/module-role-ducking.c | 261 +------------------------
 src/modules/stream-interaction.c  | 402 ++++++++++++++++++++++++++++++++++++++
 src/modules/stream-interaction.h  |  21 ++
 5 files changed, 433 insertions(+), 513 deletions(-)
 create mode 100644 src/modules/stream-interaction.c
 create mode 100644 src/modules/stream-interaction.h

--

-- 
2.1.4

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Gmane