Permalink
Browse files

Added PCM remapping to all DVD audio renderers

Removed deprecated asound.conf hardcoded codec mappings
Added PulseAudio remapping support
Added ALSA remapping support
Added Win32 Remapping Support - Thanks ArtVandelae

git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@27266 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
  • Loading branch information...
1 parent aa03045 commit 9a13b1427036f7d67615ee9cc8b264ef1c40b610 gnif2 committed Jan 29, 2010
Showing with 828 additions and 664 deletions.
  1. +2 −2 project/VS2008Express/XBMC.vcproj
  2. +16 −130 system/asound.conf
  3. +83 −59 xbmc/cores/AudioRenderers/ALSADirectSound.cpp
  4. +2 −1 xbmc/cores/AudioRenderers/ALSADirectSound.h
  5. +4 −4 xbmc/cores/AudioRenderers/AudioRendererFactory.cpp
  6. +1 −1 xbmc/cores/AudioRenderers/AudioRendererFactory.h
  7. +5 −1 xbmc/cores/AudioRenderers/IAudioRenderer.h
  8. +1 −1 xbmc/cores/AudioRenderers/NullDirectSound.cpp
  9. +1 −1 xbmc/cores/AudioRenderers/NullDirectSound.h
  10. +27 −7 xbmc/cores/AudioRenderers/PulseAudioDirectSound.cpp
  11. +1 −1 xbmc/cores/AudioRenderers/PulseAudioDirectSound.h
  12. +0 −148 xbmc/cores/AudioRenderers/Win32ChannelRemap.cpp
  13. +0 −54 xbmc/cores/AudioRenderers/Win32ChannelRemap.h
  14. +103 −10 xbmc/cores/AudioRenderers/Win32DirectSound.cpp
  15. +6 −4 xbmc/cores/AudioRenderers/Win32DirectSound.h
  16. +93 −6 xbmc/cores/AudioRenderers/Win32WASAPI.cpp
  17. +5 −3 xbmc/cores/AudioRenderers/Win32WASAPI.h
  18. +2 −2 xbmc/cores/dvdplayer/DVDAudio.cpp
  19. +6 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodec.h
  20. +48 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.cpp
  21. +1 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecFFmpeg.h
  22. +75 −128 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.cpp
  23. +7 −6 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibDts.h
  24. +21 −1 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibFaad.cpp
  25. +7 −5 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibFaad.h
  26. +6 −5 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLibMad.h
  27. +53 −77 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLiba52.cpp
  28. +7 −6 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecLiba52.h
  29. +1 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthrough.h
  30. +1 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPassthroughFFmpeg.h
  31. +18 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.cpp
  32. +1 −0 xbmc/cores/dvdplayer/DVDCodecs/Audio/DVDAudioCodecPcm.h
  33. +1 −0 xbmc/cores/dvdplayer/DVDPlayerAudio.cpp
  34. +1 −0 xbmc/cores/dvdplayer/DVDPlayerAudio.h
  35. +3 −1 xbmc/cores/paplayer/PAPlayer.cpp
  36. +1 −0 xbmc/cores/paplayer/PAPlayer.h
  37. +1 −0 xbmc/utils/Makefile
  38. +147 −0 xbmc/utils/PCMRemap.cpp
  39. +70 −0 xbmc/utils/PCMRemap.h
@@ -2114,11 +2114,11 @@
>
</File>
<File
- RelativePath="..\..\xbmc\cores\AudioRenderers\Win32ChannelRemap.cpp"
+ RelativePath="..\..\xbmc\utils\PCMRemap.cpp"
>
</File>
<File
- RelativePath="..\..\xbmc\cores\AudioRenderers\Win32ChannelRemap.h"
+ RelativePath="..\..\xbmc\utils\PCMRemap.h"
>
</File>
<File
View
@@ -1,138 +1,24 @@
-
-# Linux has channel order
-# FL, FR, SL, SR, C, LFE
-# so we remap all channelorders to this
-
-# Windows - FL, FR, C, LFE, BL, BR, (FLC, FRC, BC, SL, SR, TC, TFL, TFC, TFR, TBL, TBC, TBR)
-pcm.xbmc_win51 {
- @args.0 SLAVE
- @args.SLAVE {
- type string
- default "default"
- }
- type route
- slave {
- pcm $SLAVE
- channels 6
- }
- ttable {
- 0.0= 1
- 1.1= 1
- 2.4= 1
- 3.5= 1
- 4.2= 1
- 5.3= 1
- }
-}
-
-pcm.xbmc_win50 {
- @args.0 SLAVE
- @args.SLAVE {
- type string
- default "default"
- }
- type route
- slave {
- pcm $SLAVE
- channels 5
- }
- ttable {
- 0.0= 1
- 1.1= 1
- 2.4= 1
- 3.2= 1
- 4.3= 1
- }
-}
-
-# FL, C, FR, SL, SR, LFE
-pcm.xbmc_ogg51 {
- @args.0 SLAVE
- @args.SLAVE {
- type string
- default "default"
- }
- type route
- slave {
- pcm $SLAVE
- channels 6
- }
- ttable {
- 0.0= 1
- 1.4= 1
- 2.1= 1
- 3.2= 1
- 4.3= 1
- 5.5= 1
- }
-}
-
-pcm.xbmc_ogg50 {
- @args.0 SLAVE
- @args.SLAVE {
- type string
- default "default"
- }
- type route
- slave {
- pcm $SLAVE
- channels 5
- }
- ttable {
- 0.0= 1
- 1.4= 1
- 2.1= 1
- 3.2= 1
- 4.3= 1
- }
-}
-
-# C, FL, FR, SL, SR, LFE
-pcm.xbmc_aac51 {
- @args.0 SLAVE
- @args.SLAVE {
- type string
- default "default"
- }
- type route
- slave {
- pcm $SLAVE
- channels 6
- }
- ttable {
- 0.4= 1
- 1.0= 1
- 2.1= 1
- 3.2= 1
- 4.3= 1
- 5.5= 1
- }
-}
-
-pcm.xbmc_aac50 {
+# downmixing to 2 channels
+pcm.xbmc_71to2 {
@args.0 SLAVE
@args.SLAVE {
type string
default "default"
}
- type route
- slave {
- pcm $SLAVE
- channels 6
- }
- ttable {
- 0.4= 1
- 1.0= 1
- 2.1= 1
- 3.2= 1
- 4.3= 1
- }
-}
-
-# this could potentially be used to encode multichannels
-# to ac3 for passthrough out an spdif
-pcm.xbmc_a52encode {
- type a52
+ type plug
+ slave.pcm $SLAVE
+ slave.channels 2
+ route_policy duplicate
+ ttable.0.0 1 # front left speaker
+ ttable.1.1 1 # front right speaker
+ ttable.2.0 0.7 # rear left speaker
+ ttable.3.1 0.7 # rear right speaker
+ ttable.4.0 0.7 # center to left mapping
+ ttable.4.1 0.7 # center to right mapping
+ ttable.5.0 0.5 # LFE (base) to left mapping
+ ttable.5.1 0.5 # LFE to right mapping
+ ttable.6.0 0.6 # SL to left mapping
+ ttable.7.0 0.6 # SR to right mapping
}
# downmixing to 2 channels
Oops, something went wrong.

0 comments on commit 9a13b14

Please sign in to comment.