Kodi Community Forum

Full Version: ALSA audio output overriden by iplayer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,
I am running a raspberry pi with a hifiberry DAC with
"XBMC (14.0-ALPHA1 Git:7bffdd1). Platform: ARM Linux 32-bit"
which I installed 2 days ago.
I have installed the iplayer add-on, which works fine.

I can get output via the hifiberry DAC from a file (I used get_iplayer on a different system to grab a BBC iplayer .m4a file and copied it over to a usb file store on the RPi. I then played it successfully through the DAC.

However, when I select an iplayer radio programme, e.g. radio4 live, the audio goes to the hdmi output and not to the hifiberry.


Below is all the information I thought might be relevant. I will post a normal xbmc.log as I could not manage to get a loglevel 1 log: see below for what I tried.


1) I have the audio setting in the system->settings->system set to the hifiberry.

2) I have installed an /etc/modules-load.d/hifiberry.conf:
snd_soc_bcm2708
snd_soc_bcm2708_i2s
bcm2708_dmaengine
snd_soc_pcm5102a
snd_soc_hifiberry_dac

3) the output of lsmod looks fine:-

Module Size Used by
fuse 75117 2
snd_soc_wm8804 7028 0
snd_soc_pcm512x 7382 0
lirc_rpi 6060 3
lirc_dev 7877 1 lirc_rpi
rc_core 12803 1 lirc_dev
snd_soc_hifiberry_dac 1740 0
snd_soc_pcm5102a 1058 1
bcm2708_dmaengine 4978 1
virt_dma 1566 1 bcm2708_dmaengine
snd_soc_bcm2708_i2s 5274 2
snd_soc_core 101471 5 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_hifiberry_dac,snd_soc_pcm5102a,snd_soc_bcm2708_i2s
snd_compress 7048 1 snd_soc_core
regmap_i2c 1161 3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
snd_pcm_dmaengine 2851 1 snd_soc_core
regmap_spi 1465 3 snd_soc_pcm512x,snd_soc_wm8804,snd_soc_core
regmap_mmio 1945 1 snd_soc_bcm2708_i2s
snd_pcm 62352 3 snd_soc_core,snd_soc_hifiberry_dac,snd_pcm_dmaengine
snd_timer 17716 1 snd_pcm
snd 41580 4 snd_soc_core,snd_timer,snd_pcm,snd_compress

4)I have also installed an /storage/.xbmc/userdata/advancedsettings.xml file:-

<advancedsettings>
<loglevel hide="true">1</loglevel>
<audiooutput>
<audiodevice>ALSA:sysdefault:CARD=sndrpihifiberry</audiodevice>
</audiooutput>
<audio>
<defaultplayer>paplayer</defaultplayer>
</audio>
<video>
<defaultplayer>dvdplayer</defaultplayer>
<defaultdvdplayer>dvdplayer</defaultdvdplayer>
</video>
</advancedsettings>

Query: Running with this seems to have not updated the .../temp/xbmc.log at all, i.e. the xmbc.log in the .xmbc/temp directory is one for the previous session.
I notice that the xmbc.log file shows that /usr/share/xml/system/advancedsettings.xml is read but does not show that .xmbc/userdata/advancedsettings.xml being read.


5)The <audiooutput> section of .xbmc/userdata/guisettings.xml which I set through the GUI is:-
<audiooutput>
<ac3passthrough default="true">true</ac3passthrough>
<ac3transcode default="true">false</ac3transcode>
<audiodevice>ALSA:@</audiodevice>
<channels default="true">1</channels>
<config default="true">2</config>
<dtshdpassthrough default="true">false</dtshdpassthrough>
<dtspassthrough default="true">false</dtspassthrough>
<dualaudio default="true">false</dualaudio>
<eac3passthrough default="true">false</eac3passthrough>
<guisoundmode default="true">1</guisoundmode>
<normalizelevels default="true">true</normalizelevels>
<passthrough default="true">false</passthrough>
<passthroughdevice default="true">PI:HDMI</passthroughdevice>
<processquality default="true">30</processquality>
<samplerate default="true">48000</samplerate>
<stereoupmix default="true">false</stereoupmix>
<streamsilence default="true">1</streamsilence>
<truehdpassthrough default="true">false</truehdpassthrough>
</audiooutput>

I have a standard xbmc.log that I will upload but I can;t seem to get a loglevel 1 report since the //xbmc/system/advancesettings.xml file is a read-only file even for root.
The URL for the log post is http://xbmclogs.com/show.php?id=209551

[I couldn't use the log uploader as I restarted xbmc since last making a test, but I had copied that log.]
Well the log shows:
Code:
<defaultplayer>omxplayer</defaultplayer>

and sure enough omxplayer is used:
Code:
13:38:08 105.510155 T:3058295392  NOTICE: COMXPlayer: Opening: rtmp://cp60686.live.edgefcs.net:1935

You don't seem to have a valid .xbmc/userdata/advancedsettings.xml
Code:
13:36:52  28.796181 T:3058295392  NOTICE: No settings file to load (special://masterprofile/advancedsettings.xml)

so that is what you need to fix. (Although I can't tell why it is not read from the log). What does
Code:
ls -l ~/.xbmc/userdata/advancedsettings.xml
report?

BTW, where did you get your xbmc image from?
My understanding was that official openelec and milhouse builds have:
Code:
<defaultdvdplayer>dvdplayer</defaultdvdplayer>

which your build doesn't.
Thanks for the very fast response.

I used this source:-
http://snapshots.openelec.tv/OpenELEC_He...5520e3.tar

I realise that this might not be appropriate so I have now installed
http://openelec.mirrors.uk2.net/OpenELEC...-4.0.2.tar

This gave the same problems but I gave more consideration to the advancedsettings and discovered I had misses the final "s" in advancedsettings.xml (sigh!).
So this problem has been resolved. Sorry about this.

In passing I still find that the log shows that the image still sets up omxplayer:-

"Starting XBMC (13.1-BETA2 Git:a6a2713). Platform: ARM Linux 32-bit
NOTICE: Using Release XBMC x32 build, compiled May 19 2014 by GCC 4.9.0 for ARM Linux 32-bit 3.14.4
NOTICE: Running on Linux 32-bit (OpenELEC (official) - Version: 4.0.2, 3.14.4 armv6l)
.
.
<video>
<defaultplayer>omxplayer</defaultplayer>
<defaultdvdplayer>omxplayer</defaultdvdplayer>
<busydialogdelayms>750</busydialogdelayms>
</video>
"
Not that causes me any problem now my advancedsettings is loaded.

THANKS OF YOUR HELP AND SORRY FOR WASTING YOUR TIME