Linux ALSA audio output overriden by iplayer
#1
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.
Reply
#2
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.]
Reply
#3
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.
Reply
#4
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
Reply

Logout Mark Read Team Forum Stats Members Help
ALSA audio output overriden by iplayer0