Author: tv
Date: Tue Feb 13 12:21:03 2007
New Revision: 120337

Added:
   packages/cooker/libalsa2/current/SOURCES/alsa-usb.diff
Modified:
   packages/cooker/libalsa2/current/SPECS/libalsa2.spec

Log:
add a configuration file for USB audio devices: enable dmix-ing and proper 5.1 
routing for USB audio devices

Added: packages/cooker/libalsa2/current/SOURCES/alsa-usb.diff
==============================================================================
--- (empty file)
+++ packages/cooker/libalsa2/current/SOURCES/alsa-usb.diff      Tue Feb 13 
12:21:03 2007
@@ -0,0 +1,341 @@
+enable dmix-ing and proper 5.1 routing for USB audio devices
+
+add a configuration file for USB audio devices
+diff -r 8e3a1a77bb84 -r 038e10f8332b src/conf/cards/USB-Audio.conf
+--- /dev/null  Thu Jan 01 00:00:00 1970 +0000
++++ b/src/conf/cards/USB-Audio.conf    Tue Feb 13 09:01:31 2007 +0100
+@@ -0,0 +1,334 @@
++#
++#  USB-Audio.conf - configuration for USB Audio devices
++#
++#
++#  DO NO EDIT; this is an internal ALSA file.
++#  If you want to add your own definitions, put them into /etc/asound.conf or
++#  ~/.asoundrc, with "cards." before the "USB-Audio", e.g.:
++#
++#  cards.USB-Audio.pcm.use_dmix."NoiseBlaster 3000" no
++#
++#  If your device requires such a definition to work correctly, please report 
it
++#  to <[email protected]>.
++
++
++# If a device has sample formats not supported by dmix, dmix can be disabled
++# here.
++USB-Audio.pcm.use_dmix {
++      "AudioPhile" no    # uses big-endian 24-bit samples
++}
++
++# If a device does not have a four-channel mode for the front/rear outputs,
++# other modes can be selected here.
++# six_channels       - for devices that route the last two of the four 
channels
++#                      to the center/LFE outputs
++# two_stereo_devices - for devices that have two stereo audio interfaces
++USB-Audio.pcm.surround40_type {
++      "AudioPhile" two_stereo_devices
++      "OmniStudio" two_stereo_devices
++      "Quattro" two_stereo_devices
++      "SB Audigy 2 NX" six_channels
++}
++
++# If a device does not use the first PCM device for digital data, the device
++# number for the iec958 device can be changed here.
++USB-Audio.pcm.iec958_device {
++      # "NoiseBlaster 3000" 42
++}
++
++
++# If a device requires non-standard definitions for front, surround40,
++# surround51, surround71 or iec958, they can be defined here.
++
++# USB-Audio."NoiseBlaster 3000".pcm.surround51 {
++#     @args [ CARD ]
++#     @args.CARD { type string }
++#     ...
++# }
++
++
++################################################################################
++
++<confdir:pcm/front.conf>
++
++USB-Audio.pcm.front.0 {
++      @args [ CARD ]
++      @args.CARD { type string }
++      @func refer
++      name {
++              @func concat
++              strings [
++                      "cards.USB-Audio."
++                      { @func card_name card $CARD }
++                      ".pcm.front:CARD=" $CARD
++              ]
++      }
++      default {
++              # We could use softvol, but the driver might have guessed a
++              # wrong name for the real volume control.
++              type hw
++              card $CARD
++              device 0
++      }
++}     
++
++USB-Audio.pcm.default {
++      @args [ CARD ]
++      @args.CARD { type string }
++      type asym
++      playback.pcm {
++              type plug
++              slave.pcm {
++                      @func refer
++                      name {
++                              @func concat
++                              strings [
++                                      
"cards.USB-Audio.pcm.default_playback_dmix_"
++                                      {
++                                              @func refer
++                                              name {
++                                                      @func concat
++                                                      strings [
++                                                              
"cards.USB-Audio.pcm.use_dmix."
++                                                              { @func 
card_name card $CARD }
++                                                      ]
++                                              }
++                                              default yes
++                                      }
++                                      ":CARD=" $CARD
++                              ]
++                      }
++              }
++      }
++      capture.pcm {
++              type plug
++              slave.pcm {
++                      @func concat
++                      strings [ "dsnoop:" $CARD ]
++              }
++      }
++}
++
++USB-Audio.pcm.default_playback_dmix_yes {
++      @args [ CARD ]
++      @args.CARD { type string }
++      @func concat
++      strings [ "dmix:" $CARD ]
++}
++
++USB-Audio.pcm.default_playback_dmix_no {
++      @args [ CARD ]
++      @args.CARD { type string }
++      type hw
++      card $CARD
++      device 0
++}
++
++<confdir:pcm/surround40.conf>
++
++USB-Audio.pcm.surround40.0 {
++      @args [ CARD ]
++      @args.CARD { type string }
++      @func refer
++      name {
++              @func concat
++              strings [
++                      "cards.USB-Audio."
++                      { @func card_name card $CARD }
++                      ".pcm.surround40:CARD=" $CARD
++              ]
++      }
++      default {
++              @func refer
++              name {
++                      @func concat
++                      strings [
++                              "cards.USB-Audio.pcm.surround40_"
++                              {
++                                      @func refer
++                                      name {
++                                              @func concat
++                                              strings [
++                                                      
"cards.USB-Audio.pcm.surround40_type."
++                                                      { @func card_name card 
$CARD }
++                                              ]
++                                      }
++                                      default default
++                              }
++                              ":CARD=" $CARD
++                      ]
++              }
++      }
++}
++
++USB-Audio.pcm.surround40_default {
++      @args [ CARD ]
++      @args.CARD { type string }
++      type hw
++      card $CARD
++      device 0
++}
++
++USB-Audio.pcm.surround40_six_channels {
++      @args [ CARD ]
++      @args.CARD { type string }
++      type route
++      ttable.0.0 1
++      ttable.1.1 1
++      ttable.2.4 1
++      ttable.3.5 1
++      slave {
++              pcm {
++                      type hw
++                      card $CARD
++                      device 0
++              }
++              channels 6
++      }
++}
++
++USB-Audio.pcm.surround40_two_stereo_devices {
++      @args [ CARD ]
++      @args.CARD { type string }
++      type route
++      ttable.0.0 1
++      ttable.1.1 1
++      ttable.2.2 1
++      ttable.3.3 1
++      slave.pcm {
++              type multi
++              slaves {
++                      a {
++                              pcm {
++                                      type hw
++                                      card $CARD
++                                      device 0
++                              }
++                              channels 2
++                      }
++                      b {
++                              pcm {
++                                      type hw
++                                      card $CARD
++                                      device 1
++                              }
++                              channels 2
++                      }
++              }
++              bindings [
++                      { slave a channel 0 }
++                      { slave a channel 1 }
++                      { slave b channel 0 }
++                      { slave b channel 1 }
++              ]
++      }
++}
++
++<confdir:pcm/surround41.conf>
++<confdir:pcm/surround50.conf>
++<confdir:pcm/surround51.conf>
++
++USB-Audio.pcm.surround51.0 {
++      @args [ CARD ]
++      @args.CARD { type string }
++      @func refer
++      name {
++              @func concat
++              strings [
++                      "cards.USB-Audio."
++                      { @func card_name card $CARD }
++                      ".pcm.surround51:CARD=" $CARD
++              ]
++      }
++      default {
++              type route
++              ttable.0.0 1
++              ttable.1.1 1
++              ttable.2.4 1
++              ttable.3.5 1
++              ttable.4.2 1
++              ttable.5.3 1
++              slave {
++                      pcm {
++                              type hw
++                              card $CARD
++                              device 0
++                      }
++                      channels 6
++              }
++      }
++}
++
++<confdir:pcm/surround71.conf>
++
++USB-Audio.pcm.surround71.0 {
++      @args [ CARD ]
++      @args.CARD { type string }
++      @func refer
++      name {
++              @func concat
++              strings [
++                      "cards.USB-Audio."
++                      { @func card_name card $CARD }
++                      ".pcm.surround71:CARD=" $CARD
++              ]
++      }
++      default {
++              type route
++              ttable.0.0 1
++              ttable.1.1 1
++              ttable.2.4 1
++              ttable.3.5 1
++              ttable.4.2 1
++              ttable.5.3 1
++              ttable.6.6 1
++              ttable.7.7 1
++              slave {
++                      pcm {
++                              type hw
++                              card $CARD
++                              device 0
++                      }
++                      channels 8
++              }
++      }
++}
++
++<confdir:pcm/iec958.conf>
++
++USB-Audio.pcm.iec958.0 {
++      @args [ CARD AES0 AES1 AES2 AES3 ]
++      @args.CARD { type string }
++      @args.AES0 { type integer }
++      @args.AES1 { type integer }
++      @args.AES2 { type integer }
++      @args.AES3 { type integer }
++      @func refer
++      name {
++              @func concat
++              strings [
++                      "cards.USB-Audio."
++                      { @func card_name card $CARD }
++                      ".pcm.iec958:CARD=" $CARD
++                      ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" 
$AES3
++              ]
++      }
++      default {
++              # FIXME: we cannot set the AES parameters
++              type hw
++              card $CARD
++              device {
++                      @func refer
++                      name {
++                              @func concat
++                              strings [
++                                      "cards.USB-Audio.pcm.iec958_device."
++                                      { @func card_name card $CARD }
++                              ]
++                      }
++                      default 0
++              }
++      }
++}
++
++# vim: ft=alsaconf

Modified: packages/cooker/libalsa2/current/SPECS/libalsa2.spec
==============================================================================
--- packages/cooker/libalsa2/current/SPECS/libalsa2.spec        (original)
+++ packages/cooker/libalsa2/current/SPECS/libalsa2.spec        Tue Feb 13 
12:21:03 2007
@@ -16,6 +16,7 @@
 Release:       %mkrel 1
 %endif
 Source0:       ftp://ftp.alsa-project.org/pub/lib/%{fname}.tar.bz2
+Patch0:                alsa-usb.diff
 
 License:       GPL
 Epoch:         2
@@ -126,6 +127,7 @@
 
 %prep
 %setup -q -n %fname
+%patch0 -p1
 
 %build
 %configure2_5x --enable-shared --enable-static

Reply via email to