Hi guys,

I think I figured out a way to get the Bluetooth sound routed through my
USB headphones, though it is somewhat "hacky." I guess it will do for a
demo.

There seems to be a ton of pulseaudio settings that either work differently
on other distros or just don't work consistently at all.

You can apparently set the default sink/source from the
default.paconfiguration file, but it will seemingly have no effect on
Tizen.

The solution provided here also does not seem to work:
https://bbs.archlinux.org/viewtopic.php?id=164868

The only way I was able to make it work was by forcing the unloading of the
built-in module. udev discovery is usually assigned module index 0 and the
built-in audio index 1. So we add the following line to our default.pa:

unload-module 1

This will unload the module containing the built-in audio and bluetooth
audio will now be routed through the next available alsa card, our USB
headset.

We can probably add a complicated udev rule or something or we can just run
a pulseaudio test app to try and figure out exactly what's going. Thanks
for all your help!

Zoltan


On Wed, May 14, 2014 at 9:49 AM, Podolyak, Zoltan <
[email protected]> wrote:

> Yes, this is true. It's definitely not started by initiating an audio
> session through Bluetooth. I then tried searching in the source itself for
> how it's being started and the only place I found is the area around this:
>
>
> /webkit-efl/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
>
> This will initiate a new DBUS session somewhere down deep that will
> presumably launch pulse. As far as I can tell though, this code is not
> manipulated by any part of the Bluez/ofono pair. Nor should it be.
>
> Zoltan
>
>
> On Wed, May 14, 2014 at 9:38 AM, Jones, Brian J 
> <[email protected]>wrote:
>
>>  On a quick side note, to my knowledge pulseaudio is never up at boot.
>> This is intentional as it helps speed up the boot time.  PulseAudio should
>> however be launched when requested, I think there is an issue with it not
>> being started for phone related tasks ATM.
>>
>>
>>
>> *From:* IVI [mailto:[email protected]] *On Behalf Of *Podolyak,
>> Zoltan
>> *Sent:* Wednesday, May 14, 2014 9:16 AM
>> *To:* [email protected]
>> *Subject:* Fwd: ofono/pulseaudio/bluez5
>>
>>
>>
>>
>>
>> Hello Jaska,
>>
>>
>>
>> Thanks for your reply. I will try to be a bit more specific about what my
>> problem is.
>>
>>
>>
>> I'm using the Plantronics_Plantronics_C420 USB headset with microphone.
>> I'm aware that there's no pre-amp on the NDiS. It actually took me quite a
>> while to just get the system to use the headset for our Music Player app.
>> What I ended up doing is setting these settings in my
>> /etc/pulse/client.conf file.
>>
>>
>>
>> default-sink =
>> alsa_output.usb-Plantronics_Plantronics_C420-00-C420.analog-stereo
>>
>> default-source =
>> alsa_input.usb-Plantronics_Plantronics_C420-00-C420.analog-mono
>>
>>
>>
>> With this setting, our Music Player uses the USB headset.
>>
>>
>>
>> I also verified the microphone with alsa tools such as aplay/arecord.
>> This works fine.
>>
>>
>>
>> I'm definitely using default.pa when loading through the service file.
>> Here's what it looks like:
>>
>>
>>
>> [Unit]
>>
>> Description=pulseaudio sound server
>>
>>
>>
>> [Service]
>>
>> ExecStart=/usr/bin/su app -c
>> "DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/5000/dbus/user_bus_socket
>> /usr/bin/pulseaudio --start --log-target=syslog"
>>
>> Restart=always
>>
>>
>>
>> [Install]
>>
>> WantedBy=multi-user.target
>>
>>
>>
>> So it's being loaded exactly how it would be loaded by webkit.
>>
>>
>>
>> My problem is, that when trying to make a call through my Bluetooth
>> paired device, the audio still defaults to the built-in analog device. I
>> verified this by connecting a regular headphone to the audio line-in jack.
>> I do however, hear static on the USB headphone since that's loaded by
>> default through my client.conf.
>>
>>
>>
>> My guess is that Bluetooth uses different PA settings or something
>> because udev is detecting the audio drivers at PA startup. Here's the top
>> part of the output from the pacmd list-modules command:
>>
>>
>>
>>     index: 0
>>
>>         name: <module-udev-detect>
>>
>>         argument: <>
>>
>>         used: -1
>>
>>         load once: yes
>>
>>         properties:
>>
>>                 module.author = "Lennart Poettering"
>>
>>                 module.description = "Detect available audio hardware and
>> load matching drivers"
>>
>>                 module.version = "4.0-rebootstrapped"
>>
>>     index: 1
>>
>>         name: <module-alsa-card>
>>
>>         argument: <device_id="1" name="pci-0000_00_1b.0"
>> card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes
>> fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes
>> card_properties="module-udev-detect.discovered=1">
>>
>>         used: 0
>>
>>         load once: no
>>
>>         properties:
>>
>>                 module.author = "Lennart Poettering"
>>
>>                 module.description = "ALSA Card"
>>
>>                 module.version = "4.0-rebootstrapped"
>>
>>     index: 2
>>
>>         name: <module-alsa-card>
>>
>>         argument: <device_id="0"
>> name="usb-Plantronics_Plantronics_C420-00-C420"
>> card_name="alsa_card.usb-Plantronics_Plantronics_C420-00-C420"
>> namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no
>> deferred_volume=yes use_ucm=yes
>> card_properties="module-udev-detect.discovered=1">
>>
>>         used: 0
>>
>>         load once: no
>>
>>         properties:
>>
>>                 module.author = "Lennart Poettering"
>>
>>                 module.description = "ALSA Card"
>>
>>                 module.version = "4.0-rebootstrapped"
>>
>>     index: 3
>>
>>         name: <module-bluez5-discover>
>>
>>         argument: <>
>>
>>         used: -1
>>
>>         load once: yes
>>
>>         properties:
>>
>>                 module.author = "João Paulo Rechi Vita"
>>
>>                 module.description = "Detect available BlueZ 5 Bluetooth
>> audio devices and load BlueZ 5 Bluetooth audio drivers"
>>
>>                 module.version = "4.0-rebootstrapped"
>>
>>
>>
>> I'm going to try setting the default-sink/source to the USB headset from
>> default.pa and see what happens. I also tried commenting out the udev
>> detection, but the results were the same.
>>
>>
>>
>> The other strange thing is that I had this working through the USB
>> headset on Friday. I played around with dLeyna a little bit and ever since
>> then, BT only wants to use the built-in audio. I don't get it.
>>
>>
>>
>> Thanks for your help!
>>
>>
>>
>> Regards,
>>
>> Zoltan
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> On Tue, May 13, 2014 at 11:59 PM, Uimonen, Jaska <[email protected]>
>> wrote:
>>
>> Hello Zoltan,
>>
>> I have not used the ndis166 for a while, so I might not have all the
>> facts correct... I had also little bit trouble figuring out what you
>> are really trying to do.
>>
>> First, you should check, that despite your own .service files you
>> are loading pulseaudio with the default.pa configuration file. This you
>> can easily check by seeing if pulseaudio-module-murphy-ivi
>> (policy/routing)
>> module is loaded (pactl list modules). Otherwise you might be missing
>> some automatic routing stuff... and then I can't help you too much :)
>>
>> Second, what kind of headset you are trying to connect (wired with
>> separate mic
>> and headphones, some phone headset with combined jack, usb, bluetooth)?
>> As I remember ndis166 has only line in, so no microphone pre-amplifier.
>> So with wired
>> headset either you should use external preamp or shout like a mad man to
>> hear
>> anything (the levels are _really_ low). Also it might be that in ndis166
>> alsa is not even
>> reporting "mic" to exist, so we are not routing there ever. Some phone
>> headset
>> with combined jack will just not work at all (the mic part). Could you try
>> connecting usb headset? That's probably the easiest input/output device
>> for testing the phone functionality.
>>
>> br,
>> Jaska
>>
>> ________________________________________
>> From: IVI [[email protected]] on behalf of Podolyak, Zoltan [
>> [email protected]]
>> Sent: Tuesday, May 13, 2014 9:25 PM
>> To: [email protected]
>> Subject: ofono/pulseaudio/bluez5
>>
>>
>> Hello Everyone,
>>
>> I've been playing around with ofono/pulseaudio/bluez5 recently, trying to
>> get audio working over Bluetooth through our HTML5 Phone app. I noticed
>> that pulseaudio is currently not started by default so I created a
>> systemctl service file to start it up at boot time. My understanding is
>> that currently GStreamer starts it somehow through webkit. I'm not sure if
>> there's a better solution out there, such as launching it through ofono or
>> something.
>>
>> Anyway, the problem I'm having is that even though I hard coded the
>> default sink/sources in PA to use the headset (I verified this works by
>> launching the Music Player app), Bluetooth audio is always routed through
>> the on-board sound card. I'm using an NDiS 166 and this has no on-board
>> microphone that we can use for testing.
>>
>> I know it's possible to route it through the headset because I had it
>> working with some phones last week. However, after playing with DLNA and
>> other audio stuff, it seems to be forever stuck on the on-board audio. I
>> tried deleting PA settings files and the like, to no avail.
>>
>> Does anyone know where the sound source/sink is saved for BT? I'm using
>> the newest versions of ofono/pulseaudio. Thanks!
>>
>> Regards,
>> Zoltan
>>
>> ---------------------------------------------------------------------
>> Intel Finland Oy
>> Registered Address: PL 281, 00181 Helsinki
>> Business Identity Code: 0357606 - 4
>> Domiciled in Helsinki
>>
>> 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.
>>
>>
>>
>>
>>
>
>
_______________________________________________
IVI mailing list
[email protected]
https://lists.tizen.org/listinfo/ivi

Reply via email to