Re: [Ekiga-devel-list] Pls don't require exclusive Alsa audio device access, use snd_pcm_dmix_open ()



thomas schorpp wrote:
thomas schorpp wrote:
since dmix is enabled by libasound2 by default for cards not supporting h/w mixing.

skype can access the audio device using snd_pcm_dmix_open () if other app has already opened it, ekiga throws error msgboxes.

skype      5089   skype  mem    CHR 116,24       7792 /dev/snd/pcmC0D0c
skype      5089   skype  mem    CHR 116,16       7784 /dev/snd/pcmC0D0p
kio_file   5422 schorpp    0r   CHR    1,3        956 /dev/null
kio_uiser  6025 schorpp    0r   CHR    1,3        956 /dev/null
iceape-bi 30161 schorpp  mem    CHR 116,16       7784 /dev/snd/pcmC0D0p
iceape-bi 30161 schorpp    0r   CHR    1,3        956 /dev/null
iceape-bi 30161 schorpp   66r   CHR 116,33       7473 /dev/snd/timer
iceape-bi 30161 schorpp   67u   CHR 116,16       7784 /dev/snd/pcmC0D0p


y
tom


hmm. takeback. future removal warning in alsa lib doc. well for experiments (in ptlib plugin):

Index: sound_alsa.cxx
===================================================================
--- sound_alsa.cxx      (Revision 18763)
+++ sound_alsa.cxx      (Arbeitskopie)
@@ -344,13 +344,15 @@
    }
  }

- if (snd_pcm_open (&os_handle, real_device_name, stream, SND_PCM_NONBLOCK) < 0) { + if (snd_pcm_open (&os_handle, real_device_name, stream, SND_PCM_NONBLOCK) < 0)

-    PTRACE (1, "ALSA\tOpen Failed");
-    return FALSE;
-  }
-  else
-    snd_pcm_nonblock (os_handle, 0);
+ if (_snd_pcm_dmix_open (&os_handle, real_device_name, snd_config_t* root, snd_config_t* sconf, stream, SND_PCM_NONBLOCK) < 0) {
+
+      PTRACE (1, "ALSA\tOpen Failed");
+      return FALSE;
+    }
+    else
+      snd_pcm_nonblock (os_handle, 0);

  /* save internal parameters */
  device = real_device_name;

i cant find any sample code for the missing params, google is full of alsa user issues ;)

y
tom


@alsa devs
any hints?



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]