Dennis Heuer | 8 Feb 14:00 2016
Picon

hard channel mapping issue

Hello,

I'm a bit stuck. On my system (chip AD1888 in a VIA 8237R) everything
seems to be detected fine, but I only get front-right and front-left
instead of 5.1. I configured "daemon.conf" to use a correct default
mapping and later also "default.pa" to create a new sink with right
mapping. However, even though all gui tools, and even 'pacmd list', show
it all right, 'pactl stat' shows wrong device mappings in use:

Server Name: pulseaudio
Server Version: 4.0
Default Sample Specification: s16le 6ch 44100Hz
Default Channel Map: front-left,front-left-of-center,front-center,
                     front-right,front-right-of-center,rear-center
Default Sink: alsa_output.pci-0000_00_14.2.analog-surround-51
Default Source: alsa_output.pci-0000_00_14.2.analog-surround-51.monitor

When I use an own defined sink, this sticks to the HDMI-source and
stereo, no matter what device I specify, i.e.:

load-module module-alsa-sink sink_name=my_surround device=hw:1,0 \
channels=6 \
channel_map=front-left,front-right,rear-left,rear-right,front-center,lfe

How can I get in sync the default and the chosen default setting?

---------------------------------------------------------------------
Dennis Heuer
einz <at> verschwendbare-verweise.seinswende.de
_______________________________________________
(Continue reading)

Vlad Nikolyukin | 6 Feb 23:13 2016
Picon

Pulseaudio 8/Bluez5 fails to load module-bluez5-device when running in system-wide mode

I'm running Jessie on Raspberry Pi2. I'm trying to install Pulseaudio 8 from the source, but having problems running it in system mode with Bluez5 with A2DP support.

On startup in system-wide mode, it fails with `"module-bluez5-discover.c: Failed to load module for device /org/bluez/hci0/dev_AC_CF_85_23_8C_78"` error when I connect my phone to bluetooth.

If I simply restart pulseaudio under normal user account (pi) using:

    pulseaudio -vvvv

and connecting the phone, everything works fine and I can play music via A2DP from the phone.

Pulseaudio is setup to run as systemd service in `/etc/systemd/system/pulseaudio.service`:

    /usr/local/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1 --disallow-module-loading

Here is the verbose log output when it fails to load module:

    D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSink, interface=org.bluez.MediaEndpoint1, member=SetConfiguration
    D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_AC_CF_85_23_8C_78/fd3 state changed from disconnected to idle
    D: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device path=/org/bluez/hci0/dev_AC_CF_85_23_8C_78
    W: [pulseaudio] module-bluez5-discover.c: Failed to load module for device /org/bluez/hci0/dev_AC_CF_85_23_8C_78
    D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_AC_CF_85_23_8C_78/fd3 available for profile a2dp_source
    D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Introspectable found, skipping
    D: [pulseaudio] bluez5-util.c: Unknown interface org.bluez.MediaPlayer1 found, skipping
    D: [pulseaudio] bluez5-util.c: Unknown interface org.freedesktop.DBus.Properties found, skipping


Here is the same section when it manages load the module when I run pulseaudio under normal user account ("pi").

    D: [pulseaudio] bluez5-util.c: dbus: path=/MediaEndpoint/A2DPSink, interface=org.bluez.MediaEndpoint1, member=SetConfiguration
    D: [pulseaudio] bluez5-util.c: Transport /org/bluez/hci0/dev_AC_CF_85_23_8C_78/fd6 state changed from disconnected to idle
    D: [pulseaudio] module-bluez5-discover.c: Loading module-bluez5-device path=/org/bluez/hci0/dev_AC_CF_85_23_8C_78
    I: [pulseaudio] module-card-restore.c: Restoring port latency offsets for card bluez_card.AC_CF_85_23_8C_78.
    I: [pulseaudio] card.c: Created 1 "bluez_card.AC_CF_85_23_8C_78"
    D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.CardProfile added for object /org/pulseaudio/core1/card1/profile0
    D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.CardProfile added for object /org/pulseaudio/core1/card1/profile1
    D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.CardProfile added for object /org/pulseaudio/core1/card1/profile2
    D: [pulseaudio] protocol-dbus.c: Interface org.PulseAudio.Core1.Card added for object /org/pulseaudio/core1/card1
    D: [pulseaudio] module-bluez5-device.c: Acquiring transport /org/bluez/hci0/dev_AC_CF_85_23_8C_78/fd6
    I: [pulseaudio] bluez5-util.c: Failed optional acquire of unavailable transport /org/bluez/hci0/dev_AC_CF_85_23_8C_78/fd6
    I: [pulseaudio] module-bluez5-device.c: SBC parameters: allocation=0, subbands=1, blocks=3, bitpool=2
    I: [pulseaudio] source.c: Created source 1 "bluez_source.AC_CF_85_23_8C_78" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
    I: [pulseaudio] source.c:     bluetooth.protocol = "a2dp_source"
    I: [pulseaudio] source.c:     device.description = "Nexus 6P"

The only configuration change that I did to Pulseaudio was in `/etc/pulse/system.pa`, I added this:

    ### Bluetooth Support
    .ifexists module-bluetooth-discover.so
    load-module module-bluetooth-discover
    .endif


I think I configured permissions correctly too:

`pulse` is added to `audio`
`pulse` is added `lp`
`pi` user is added to `pulse-access`

DBUS permissions are set as follows:

    <busconfig>
           <policy user="root">
                    <allow own="org.pulseaudio.Server"/>
                    <allow send_destination="org.bluez"/>
                    <allow send_interface="org.bluez.Manager"/>
            </policy>
            <policy user="pulse">
                    <allow own="org.pulseaudio.Server"/>
                    <allow send_destination="org.bluez"/>
                    <allow send_interface="org.bluez.Manager"/>
            </policy>
            <policy context="default">
                    <deny own="org.pulseaudio.Server"/>
                    <deny send_destination="org.bluez"/>
                    <deny send_interface="org.bluez.Manager"/>
            </policy>
    </busconfig>

My phone is paired and connected to bluetooth stack fine.



Can anyone help to understand why Pulseaudio doesn't want to work with Bluez in system mode ?
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Tanu Kaskinen | 6 Feb 14:35 2016
Picon
Picon
Gravatar

[PATCH] default.pa: remove X11 module examples

Loading X stuff from default.pa is a bad idea, since it doesn't work
if there are multiple X sessions, or PulseAudio is started outside the
X session. Since it's a bad idea, don't encourage it by including
examples that do so.

I also removed the sample loading examples. I don't think the examples
are particularly useful, since nothing uses the loaded samples once
module-x11-bell is removed from the configuration.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=93109
---
 src/daemon/default.pa.in | 31 -------------------------------
 1 file changed, 31 deletions(-)

diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in
index 783e326..7a68653 100755
--- a/src/daemon/default.pa.in
+++ b/src/daemon/default.pa.in
 <at>  <at>  -19,19 +19,6  <at>  <at> 
 # (i.e. not in system mode)
 changequote(`[', `]')dnl Set up m4 quoting

-.nofail
-
-### Load something into the sample cache
-ifelse( <at> OS_IS_WIN32 <at> , 1, [dnl
-load-sample x11-bell %WINDIR%\Media\ding.wav
-load-sample-dir-lazy %WINDIR%\Media\*.wav
-], [dnl
-#load-sample-lazy x11-bell /usr/share/sounds/freedesktop/stereo/bell.oga
-#load-sample-lazy pulse-hotplug /usr/share/sounds/freedesktop/stereo/device-added.oga
-#load-sample-lazy pulse-coldplug /usr/share/sounds/freedesktop/stereo/device-added.oga
-#load-sample-lazy pulse-access /usr/share/sounds/freedesktop/stereo/message.oga
-])dnl
-
 .fail

 ### Automatically restore the volume of streams and devices
 <at>  <at>  -174,24 +161,6  <at>  <at>  load-module module-filter-heuristics
 load-module module-filter-apply
 ])dnl

-ifelse( <at> HAVE_X11 <at> , 1, [dnl
-# X11 modules should not be started from default.pa so that one daemon
-# can be shared by multiple sessions.
-
-### Load X11 bell module
-#load-module module-x11-bell sample=x11-bell
-
-### Register ourselves in the X11 session manager
-#load-module module-x11-xsmp
-
-### Publish connection data in the X11 root window
-#.ifexists module-x11-publish <at> PA_SOEXT <at> 
-#.nofail
-#load-module module-x11-publish
-#.fail
-#.endif
-])dnl
-
 ### Make some devices default
 #set-default-sink output
 #set-default-source input
--

-- 
2.7.0

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
David Henningsson | 4 Feb 06:45 2016

RFC: Switch to HDMI or not?

So, there has been a few bugs related to the new routing, in particular 
[1] which while related to whether or not the actual system has an 
internal speaker or not, also highlights the use case of letting an HDMI 
monitor go to powersave. This will, starting from 8.0, cause sound to be 
rerouted to internal speakers, even after the HDMI monitor comes back 
online.

Here's a recap.

  1) The old situation of playing back audio to an unconnected monitor 
(or powersaved monitor) was not user friendly.

  2) There is no way (AFAIK) we can distinguish between a monitor being 
in powersave mode, or permanently unconnected.

  3) Hence, the proper solution is to switch to analog when the monitor 
is off/powersaved/unconnected and then switch back when it comes back 
online.

  4) The easiest way to do that is, at least after the priority patch 
[2] has been applied, to adjust the port priorities so that HDMI ports 
have a higher priority than analog-speakers. This is also consistent 
with a suggestion from GNOME [3]. However, doing so might instead upset 
people who would like to stay on analog-speakers when their HDMI monitor 
comes back online.

  5) We could then tell those people that they should manually increase 
the priority or analog-speakers in our configuration files, but it could 
be argued that this is not user friendly enough either.

  6) Tanu suggested in [1] to add functionality to remember the latest 
user-selected port and/or profile to module-switch-on-port-available. 
I'm hesitant to that solution, because

  6a) It breaks the main idea of module-switch-on-port-available being 
strictly rule/priority-based, leaving the "remember" feature to the not 
yet finished module-port-manager.

  6b) It seems non-trivial, and I have a gut feeling it will break some 
other use case, that neither of us is thinking about right now.

  6c) I realize neither of 6a) or 6b) are particularly strong arguments 
against actually fixing a problem...

  7) So, this morning I came up with another idea. And this is the RFC 
part of this email. We're not sure whether or not a just 
connected/online monitor has "usable" HDMI audio or not. Hence, maybe 
plugging in a monitor should lead to the HDMI port availability being 
"unknown" rather than "yes"? module-switch-on-port-available will not 
route to something that changes availability from "no" to "unknown".

For this to make sense, we need to add yet another module, which 
determines whether an HDMI port should be "unknown" or "yes" when coming 
back online. If a user manually switches to the HDMI profile then that 
means "yes" from now on, if a user manually switches away then that 
means "unknown" from now on. As a bonus, we could potentially use ELD 
info as a key to a database of "yes" and "unknown" values (this could be 
useful for module-port-manager as well). I'm not sure whether the key 
should be "sink+port", "ELD" or "sink+port+ELD", but probably 
"sink+port+ELD" is the best one considering people with dual monitors. 
What do you think?

  8) Everything said about HDMI applies to DisplayPort as well.

[1] https://bugs.freedesktop.org/show_bug.cgi?id=93946

[2] http://patchwork.freedesktop.org/patch/72053/

[3] https://wiki.gnome.org/Design/SystemSettings/Sound - section 
"Guidelines"

--

-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Nikolay Amiantov | 3 Feb 22:03 2016

Problem with switch-on-connect

Hi all,

I have a laptop with an internal audio output device and wireless
headphones with a USB dongle which registers itself as an another
device. I want fallback device and all current and future audio streams
to automatically switch to headphones when I plug them in. From reading
manuals, it seems I need combination of two modules:

* module-switch-on-connect to switch all current streams and fallback
device to the new one on connect;
* module-stream-restore restore_device=false to forget all device
settings, so all new streams are connected to the fallback device, which
should be headphones.

Alas, it doesn't work for me -- on connection the fallback device is
switched, but not current streams neither future ones. If I kill
pulseaudio and clear ~/.config/pulse things seem to work correctly for
some time, but stop after that! I haven't yet been able to understand
exactly what is needed to happen for this to stop working.

Any ideas what should I do? Thanks in advance!

I use pulseaudio 7.1 on NixOS (a Linux distribution).
My configuration file:
https://github.com/abbradar/dotfiles/blob/master/default.pa

--

-- 
Nikolay.

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Stefan Neufeind | 3 Feb 12:42 2016
Picon

Way to treat (almost) equal sound-devices different?

Hi,

I'm using an external dock which contains sound-output. One such
dock-box at work, one in the home-office. Basically it's usb-connected
with an additional external sound-device in the dock.

Pulseaudio knows when the dock is not connected and falls back to
internal sound-output.

But is there a way to differentiate which of the two docks is connected,
maybe by taking the serial-number of the dock into account?

I didn't find any status of "speakers (not) connected" in pulseaudio for
that device unfortunately. Of course that would work for me as well.

My current idea was that at work where there are no external speakers
connected currently it might want to use the internal sound while at
home it should use the additional output from the dock.

Kind regards,
 Stefan
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Abhishek Gupta | 3 Feb 08:40 2016
Picon

HFP Profile not working in PulseAudio 6

Hello,


My current setup have following versions:

PulseAudio : 6

Ofono: 1.15

bluez5: 5.25


A2DP profile is working fine, I can listen phone media sound through my system, but when I switching to headset profile, I am getting -

root <at> imx6qsabresd:~# pactl set-card-profile bluez_card.34_BB_26_93_BC_B3 headset_audio_gateway
Failure: Input/Output error

I have used one patch, which registers mediaendpoint for HSP and HFP profiles, after applying the patch pulseaudio is now registering mediaendpoint for hsp and hfp but audio is not routed from phone to system, when I make a call to my phone. I have attached that patch with this mail.

ofono log:
Dec 30 07:07:42 imx6qsabresd systemd[1]: Starting Telephony service...
Dec 30 07:07:42 imx6qsabresd ofonod[343]: oFono version 1.15
Dec 30 07:07:42 imx6qsabresd systemd[1]: Started Telephony service.
Feb 03 06:54:52 imx6qsabresd ofonod[343]: Service level connection established
Feb 03 07:19:19 imx6qsabresd ofonod[343]: Service level connection established
Feb 03 07:20:01 imx6qsabresd ofonod[343]: Reject SCO: Agent not registered
Feb 03 07:20:22 imx6qsabresd ofonod[343]: Reject SCO: Agent not registered

Attaching:
pulseaudio.log, bluetooth.log, pactl_list.log, device-info.log, headset-mediapoint.patch

Can you please help me out to make HFP work.


Thanks & Regards,
Abhishek
Attachment (pulseaudio.log): text/x-log, 18 KiB
Attachment (pactl_list.log): text/x-log, 10 KiB
Attachment (device_info.log): text/x-log, 1557 bytes
Attachment (bluetooth.log): text/x-log, 1581 bytes
Attachment (0002-headst-media.patch): text/x-patch, 7725 bytes
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Samiran Sarkar | 3 Feb 05:48 2016

ofono - problem/ bug in the ALSA driver ?- Pulseaudio is not working --

Hi friends ,

Any suggestion how to get out of this kind errors ,


root <at> baytrail32:~/samiran# journalctl -u pulseaudio
-- Logs begin at Sun 2012-01-01 00:00:37 UTC, end at Thu 2015-12-10 10:37:21 UTC. --
Dec 10 10:11:02 baytrail32 pulseaudio[318]: E: [pulseaudio] backend-ofono.c: Deferred setup failed on
fd -1: Transport endpoint is not
Dec 10 10:22:02 baytrail32 pulseaudio[318]: E: [pulseaudio] backend-ofono.c: Failed to register as a
handsfree audio agent with ofono:
Dec 10 10:22:43 baytrail32 pulseaudio[318]: E: [pulseaudio] backend-ofono.c: Deferred setup failed on
fd -1: Transport endpoint is not
Dec 10 10:31:55 baytrail32 pulseaudio[318]: E: [alsa-source-USB Audio] alsa-source.c: ALSA woke us up
to read new data from the device
Dec 10 10:31:55 baytrail32 pulseaudio[318]: E: [alsa-source-USB Audio] alsa-source.c: Most likely
this is a bug in the ALSA driver 'sn
Dec 10 10:31:55 baytrail32 pulseaudio[318]: E: [alsa-source-USB Audio] alsa-source.c: We were woken up
with POLLIN set -- however a su



Thanks
Samiran
::DISCLAIMER:: The contents of this e-mail and any attachment(s) are confidential and intended for the
named recipient(s) only. E-mail transmission is not guaranteed to be secure or error-free as
information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or may
contain viruses in transmission. The e mail and its contents (with or without referred errors) shall
therefore not attach any liability on the originator or HCL or its affiliates. Views or opinions, if any,
presented in this email are solely those of the author and may not necessarily reflect the views or
opinions of HCL or its affiliates. Any form of reproduction, dissemination, copying, disclosure,
modification, distribution and / or publication of this message without the prior written consent of
authorized representative of HCL is strictly prohibited. If you have received this email in error please
delete it and notify the sender immediately. Before opening any email and/or attachments, please check
them for viruses and other defects..
_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
Hajime Fujita | 1 Feb 05:15 2016
Picon

[PATCH v6 00/37] raop2 support for module-raop-sink

From: Hajime Fujita <crisp.fujita <at> nifty.com>

This is basically same as the previous patch series,
with several patches squashed for conciseness, rebased
on the latest master.
http://lists.freedesktop.org/archives/pulseaudio-discuss/2015-October/024547.html

This patch set adds a support for UDP version of RAOP (so called
raop2). Most of the RAOP devices (e.g. AppleTV, AirportExpress,
third party AV receivers) today use UDP version, so this patch
set is expected to support those devices.

Also the patches can be seen from here:
https://github.com/hfujita/pulseaudio-raop2/compare/323dc5bf...hf/raop2-v4-v8.0

Colin Leroy (5):
  rtp: New pa_rtsp_options function
  raop: Fix sink getting destroyed after one use
  raop: fix sequence number overflow
  raop: fix typos
  raop: Fix packet retransmission

Hajime Fujita (11):
  Support IPv6 address in pa_socket_client_new_string()
  rtp: Freeing ioline when disconnecting
  rtp: Introduce pa_rtsp_exec_ready()
  raop: Add UDP protocol handling
  raop: Add address to RAOP device description
  raop: Add IPv6 support
  raop: Silently drop out-of-history retransmission request
  raop: Stop recording when RTSP FLUSH is issued
  raop: Disable is_recording flag when tearing down the connection
  raop: Discard data upon getting EAGAIN on a socket
  raop: Fix memory leaks

Martin Blanchard (17):
  raop: Cosmetic fixes / Match coding style
  raop: Add pulsecore/core-utils a pa_str_in_list function
  raop: Parse server capabilities on discovery
  rtp: Random seq number at the beginning of the session
  raop: Do not send audio before RECORD response
  raop: Better playback resume handling
  raop: Extract encryption related code into a separate file
  raop: Add a MD5 hashing fuction
  raop: Add BA (Basic) and DA (Digest) HTTP authentication helpers
  raop: Add the core implementation of RAOP authentication
  raop: Merge TCP and UDP code paths + refactoring
  raop: Prefer ALAC encoding to raw PCM if supported by server
  raop: Update and standardise source file headers
  raop: Rework packet's store memory management
  raop: Remove unimplemented code (PCM and AAC)
  raop: Correctly wrap RTP packet sequence number
  raop: Add back initial volume RTSP SET_PARAMETER request on connect

Matthias Wabersich (1):
  raop: Packet retransmission support for UDP

Stephen Paul Weber (1):
  raop: Do not flush when RTSP object is not ready

ced2c (2):
  raop: Fix #36: invalid access to freed object
  raop: Fix #37: OOB access in rtsp_auth_cb

 src/Makefile.am                         |    8 +-
 src/modules/raop/base64.c               |  124 ---
 src/modules/raop/base64.h               |   32 -
 src/modules/raop/module-raop-discover.c |  253 +++--
 src/modules/raop/module-raop-sink.c     |  636 +----------
 src/modules/raop/raop-client.c          | 1767 +++++++++++++++++++++++++++++++
 src/modules/raop/raop-client.h          |   83 ++
 src/modules/raop/raop-crypto.c          |  146 +++
 src/modules/raop/raop-crypto.h          |   35 +
 src/modules/raop/raop-packet-buffer.c   |  161 +++
 src/modules/raop/raop-packet-buffer.h   |   40 +
 src/modules/raop/raop-sink.c            |  669 ++++++++++++
 src/modules/raop/raop-sink.h            |   33 +
 src/modules/raop/raop-util.c            |  209 ++++
 src/modules/raop/raop-util.h            |   32 +
 src/modules/raop/raop_client.c          |  563 ----------
 src/modules/raop/raop_client.h          |   42 -
 src/modules/rtp/rtsp_client.c           |  173 ++-
 src/modules/rtp/rtsp_client.h           |   60 +-
 src/pulsecore/core-util.c               |   20 +
 src/pulsecore/core-util.h               |    5 +-
 src/pulsecore/parseaddr.c               |   11 +
 src/pulsecore/parseaddr.h               |    2 +
 src/pulsecore/socket-client.c           |   21 +-
 24 files changed, 3598 insertions(+), 1527 deletions(-)
 delete mode 100644 src/modules/raop/base64.c
 delete mode 100644 src/modules/raop/base64.h
 create mode 100644 src/modules/raop/raop-client.c
 create mode 100644 src/modules/raop/raop-client.h
 create mode 100644 src/modules/raop/raop-crypto.c
 create mode 100644 src/modules/raop/raop-crypto.h
 create mode 100644 src/modules/raop/raop-packet-buffer.c
 create mode 100644 src/modules/raop/raop-packet-buffer.h
 create mode 100644 src/modules/raop/raop-sink.c
 create mode 100644 src/modules/raop/raop-sink.h
 create mode 100644 src/modules/raop/raop-util.c
 create mode 100644 src/modules/raop/raop-util.h
 delete mode 100644 src/modules/raop/raop_client.c
 delete mode 100644 src/modules/raop/raop_client.h

--

-- 
2.5.0

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
ty armour | 31 Jan 23:43 2016

just a friendly request

I am looking for tutorials on how to basically rewrite pulseaudio. how to write drivers for soundcards and how to capture input at a very low level.

As Well I am looking for tutorials on using pulseaudio in synthesizer applications. Tutorials for this would basically be like tutorials on writing guitarix rakkaracck ardour vmpk qsynth etcetera.

I think it would help pulseaudio get developed more, as well it would help people develop their own audio applications.

you could also do tutorials on compiling and using pulseaudio under cygwin too. though you may have to develop cygwin in order to do so. but you could do it, and then you could write software similar to the software mentioned above under cygwin.

itll be an interesteing project for you guys and the tutorials that come out of it will help developers everywhere.

_______________________________________________
pulseaudio-discuss mailing list
pulseaudio-discuss <at> lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
David Henningsson | 29 Jan 20:33 2016

[PATCH] switch-on-port-available: Switch from HDMI to analog; but not the other way around

If you have headphones plugged in and plug in HDMI; you want sound
to stay on headphones.
If you have HDMI plugged in and you plug in headphones; you want sound
to switch to headphones.

Hence we need to take priority into account as well when determining
whether to switch to a new profile or not.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=93903
Signed-off-by: David Henningsson <david.henningsson <at> canonical.com>
---

Please wait for it to be tested before committing it. Thanks.

 src/modules/module-switch-on-port-available.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/modules/module-switch-on-port-available.c b/src/modules/module-switch-on-port-available.c
index 5dd9786..6f4c895 100644
--- a/src/modules/module-switch-on-port-available.c
+++ b/src/modules/module-switch-on-port-available.c
 <at>  <at>  -29,7 +29,7  <at>  <at> 

 #include "module-switch-on-port-available-symdef.h"

-static bool profile_good_for_output(pa_card_profile *profile) {
+static bool profile_good_for_output(pa_card_profile *profile, unsigned prio) {
     pa_sink *sink;
     uint32_t idx;

 <at>  <at>  -49,7 +49,7  <at>  <at>  static bool profile_good_for_output(pa_card_profile *profile) {
         if (!sink->active_port)
             continue;

-        if (sink->active_port->available != PA_AVAILABLE_NO)
+        if ((sink->active_port->available != PA_AVAILABLE_NO) && (sink->active_port->priority >= prio))
             return false;
     }

 <at>  <at>  -88,7 +88,7  <at>  <at>  static int try_to_switch_profile(pa_device_port *port) {
         switch (port->direction) {
             case PA_DIRECTION_OUTPUT:
                 name = profile->output_name;
-                good = profile_good_for_output(profile);
+                good = profile_good_for_output(profile, port->priority);
                 break;

             case PA_DIRECTION_INPUT:
--

-- 
1.9.1

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

Gmane