[LIVE] Audio locked for other softwares
#1
Hi, I'm a new xbmc live user ( coming from win 7) and really happy with it.

I've been trying to install other softwares I used to use with windows.
I tried sdlmame and had no sound , no big deal.

Now I try to have a working SqueezeSlave installation and have no sound as XBMC seems to lock the Audio Device or , when I first start SqueezeSlave, XBMC can not initialize the audio device.
Is there a way to make this work ? TIA
Reply
#2
I'm trying to get the zsnes emulator working, and I am getting no sound. If I kill X and run zsnes in the terminal, I can get sound. When I start X back up, xbmc has no sound, but zsnes through the advanced launcher does have sound.

I think our problems are related somehow. I'm using a revo 3700 with hdmi running straight to my tv for sound. I've tried these things so far, they haven't worked for me, but maybe they will for you.

-sudo apt-get install libsdl1.2debian-all (or you can try -alsa, -sdl, -edl)
-in the .asoundrc file in your *youruser*/.xbmc folder, put this line defaults.pcm.device 3 (for me it was 3, try running aplay -l and find your active device number)

Hope this helps some, try to post if you find anything that may be helpful.
Reply
#3
thanks, installing libsdl didn't change anything and I don't have a .asoundrc file.


I've also seen this post but I don't have OSS installed.
Reply
#4
if you dont have a .asoundrc file then you should create one, they aren't there by default because they aren't necessary for every install.
Reply
#5
doesn't work with .asoundrc file neither.
Reply
#6
there's nothing that works , as soon as squeezeslave runs, xbmc fails to initialize the audio device.
Reply
#7
I was able to get my xbmc to 'share' the audio device.

use
Code:
aplay -l
to figure out your correct card and device number

In my asound.conf file (/etc/asound.conf) I have this:

Code:
pcm.!default            { type                  plug;
                          slave.pcm             "dmix0"; }
ctl.!default            { type hw; card 1; device 3; }

pcm.dsp0                { type                  plug;
                          slave.pcm             "dmix0"; }
ctl.dsp0                { type hw; card 1; device 3; }
ctl.mixer0              { type hw; card 1; device 3; }

pcm.dmix0               { type                  dmix;
                          ipc_key               13759;

                          slave.pcm             "hw:1,3";
                          slave.channels        2;

                          slave.rate            48000;
                          slave.period_size     4096;
                          slave.buffer_size     16384;

                          slave.period_time     84000;
                          slave.buffer_time     340000;

                          # Map only the first two channels
                          bindings.0            0;
                          bindings.1            1; }

I found the information Here and just had to adapt it slightly.
Reply
#8
thank you ! that did work as expected !
Reply
#9
Not to bump an old thread, but I am using the above (post 7) in my asound.conf (on Openelec, Shuttle XS35GT with plughw 1,7) - I set my xbmc outputs to dmix0 and all seems to work well, except this seems to break files with TrueHD (which get mapped down to DTS core) - all my other files seem ok, but these give me a message that xbmc failed to open audio device.

My asound.conf was previously this (with xbmc outputs bothset to custom plughw:1,7), and it works for ALL files (but wouldn't let me share the audio device with SqueezeSlave) - any idea how to merge the two to get shared device AND TrueHD working??

Code:
# asound.conf for Shuttle XS35GT
# http://forum.xbmc.org/showpost.php?p=635394&postcount=330
# in XBMC, set "audio output device" to custom
# insert "pcm.both" into the text box

pcm.!default {
    type plug
    slave {
        pcm both
    }
}

pcm.both {
    type route
    slave {
        pcm multi
        channels 4
    }
    ttable.0.0 1.0
    ttable.1.1 1.0
    ttable.0.2 1.0
    ttable.1.3 1.0
}

pcm.multi {
    type multi
    slaves.a {
        pcm tv
        channels 2
    }
    slaves.b {
        pcm receiver
        channels 2
    }
    bindings.0.slave a
    bindings.0.channel 0
    bindings.1.slave a
    bindings.1.channel 1
    bindings.2.slave b
    bindings.2.channel 0
    bindings.3.slave b
    bindings.3.channel 1
}

pcm.receiver {
    type hw
    card 0
    device 0
    channels 2
}

pcm.tv {
    type hw
    card 1
    device 7
    channels 2
}
Addons I wrote &/or maintain:
OzWeather (Australian BOM weather) | Check Previous Episode | Playback Resumer | Unpause Jumpback | XSqueezeDisplay | (Legacy - XSqueeze & XZen)
Sorry, no help w/out a *full debug log*.
Reply
#10
I based an asound.conf off of k3ilbasa's example above and have this working fairly well. I'm using the optical output on a Zotac HD-ID11 and I changed the hardware device, of course, and then passed the dmix device to squeezeslave. With that I can switch between the two apps without having to kill either one. Pausing squeezeslave works well enough to free the device for XBMC. I'm finding that it's working exactly as I need it to.
Reply

Logout Mark Read Team Forum Stats Members Help
[LIVE] Audio locked for other softwares0