diff options
author | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-02-25 09:28:17 +0100 |
---|---|---|
committer | Christian Gmeiner <christian.gmeiner@gmail.com> | 2009-02-25 09:28:17 +0100 |
commit | 035a7ca0d73ccfa8af3fc4041f1e3a3029798ff6 (patch) | |
tree | e2ebc87b491ec84178ce74f402fb779039117f95 /dxr3audio-alsa.c | |
parent | e900f1d40ca151d6c5a7aa976971325d13416f02 (diff) | |
download | vdr-plugin-dxr3-035a7ca0d73ccfa8af3fc4041f1e3a3029798ff6.tar.gz vdr-plugin-dxr3-035a7ca0d73ccfa8af3fc4041f1e3a3029798ff6.tar.bz2 |
alsa: enhance device name to support differen card numbers
Diffstat (limited to 'dxr3audio-alsa.c')
-rw-r--r-- | dxr3audio-alsa.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/dxr3audio-alsa.c b/dxr3audio-alsa.c index c0350de..87012d5 100644 --- a/dxr3audio-alsa.c +++ b/dxr3audio-alsa.c @@ -22,13 +22,23 @@ using namespace std; #include "dxr3audio-alsa.h" +#include "dxr3configdata.h" void cAudioAlsa::openDevice() { - string device = "default"; + // generate alsa card name + int card = cDxr3ConfigData::Instance().GetDxr3Card(); + string cardname = "EM8300"; + + if (card > 0) { + cardname.append("_" + card); + } + string device = "default:CARD=" + cardname; + + releaseDevice(); - dsyslog("opening alsa device %s", device.c_str()); + dsyslog("[dxr3-audio-alsa] opening device %s", device.c_str()); int err = snd_pcm_open(&handle, device.c_str(), SND_PCM_STREAM_PLAYBACK, 0); if (err < 0) { |