galeon zwisa gdy /dev/dsp jest zajęte

Michal Kochanowicz michal w michal.waw.pl
Czw, 7 Lut 2002, 23:46:58 CET


On Thu, Feb 07, 2002 at 09:29:42PM +0100, Michal Kochanowicz wrote:
> programy. Jeśli ktoś jest zainteresowany mogę przygotować patch albo
> wogóle wrzócić do CVS.
            ^ tia...
Załączam patch na plik /etc/rc.d/init.d/alsasound. Jest to diff pomiędzy
tym co jest w CVS a tym co mam u siebie. Drugi plik to używany przeze
mnie /etc/sysconfig/alsa-oss-pcm.

Jeśli nie będzie sprzeciwów, to wrzucę to do CVS.
-- 
--= Michal Kochanowicz==--==--==BOFH==--==--==michal w michal.waw.pl =--
--= finger me for PGP public key or visit http://michal.waw.pl/PGP =--
--==--==--==--==--==-- Vodka. Connecting people.--==--==--==--==--==--
A chodzenie po górach SSIE!!!
-------------- następna część ---------
# <#|*> <Playback|Capture> <app_name> <fragments> <fragment_size> [<options>]
0 Playback galeon 0 0 non-block
* Playback mozilla 0 0 non-block
* Playback netscape-communicator 0 0 non-block
-------------- następna część ---------
--- /home/misiek/CVS/pld/SOURCES/alsasound	Sat Aug 25 15:10:49 2001
+++ alsasound	Thu Feb  7 23:40:21 2002
@@ -46,14 +46,26 @@
   if OLDLOGLEV=$(cat /proc/sys/kernel/printk | awk '{print $1}' 2> /dev/null); then
   	/sbin/loglevel 1
   fi
-  cat $MODULES_CONF | grep -v "off" | \
-    grep -E "^alias.+snd-card-[[:digit:]]" | \
-    awk '{print $3}' | \
+  awk '$1 = "alias" && $3 != "off" && ($2 ~ /^snd-card-[0-9]$/ || $2 ~ /^sound-service-[0-9]-[0-9]+$/) {print $2}' < $MODULES_CONF | \
     while read line; do \
       show "Starting sound driver: $line " ; \
       /sbin/modprobe $line; \
       ok; \
     done
+  #
+  # set (non-)blocking state of pcm devices
+  #
+  for card in /proc/asound/[0-9]; do
+    card=`echo $card | awk '{ sub(/^.*\//, ""); print $0 }'`
+    for dev in /proc/asound/$card/pcmD[0-9]o; do
+      dev=`echo $dev | awk '{ sub(/^.*pcmD/, ""); sub(/o$/, ""); print $0 }'`
+      show "Setting up blocking state for card $card device $dev"
+      echo "Playback erase" > /proc/asound/$card/pcmD${dev}o
+      echo "Capture erase" > /proc/asound/$card/pcmD${dev}o
+      awk -v CARD=$card '($1 ~ CARD || $1 ~ /\*/) { $1 = ""; sub(/^ /, ""); print $0}' < /etc/sysconfig/alsa-oss-pcm > /proc/asound/$card/pcmD${dev}o
+      ok
+    done
+  done
   if [ -n "$OLDLOGLEV" ]; then
 	/sbin/loglevel "$OLDLOGLEV"
   fi


Więcej informacji o liście dyskusyjnej pld-devel-pl