summaryrefslogtreecommitdiffstats
path: root/libao2/ao_alsa.c
diff options
context:
space:
mode:
authorcladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-02-10 09:20:08 +0000
committercladisch <cladisch@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-02-10 09:20:08 +0000
commit508d589e216395e82630e166ca7f01deff522984 (patch)
treecea962089fe9ffc94dbe9910acbb4f8105164bd7 /libao2/ao_alsa.c
parent7bb5f4e13874f62dc5dd1b51cbc81bd5062584b5 (diff)
downloadmpv-508d589e216395e82630e166ca7f01deff522984.tar.bz2
mpv-508d589e216395e82630e166ca7f01deff522984.tar.xz
This adds support for more sample formats (U32, float BE, mu/A-law).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17572 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libao2/ao_alsa.c')
-rw-r--r--libao2/ao_alsa.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/libao2/ao_alsa.c b/libao2/ao_alsa.c
index a541448721..f4819f9b9a 100644
--- a/libao2/ao_alsa.c
+++ b/libao2/ao_alsa.c
@@ -325,6 +325,12 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_S16_BE:
alsa_format = SND_PCM_FORMAT_S16_BE;
break;
+ case AF_FORMAT_U32_LE:
+ alsa_format = SND_PCM_FORMAT_U32_LE;
+ break;
+ case AF_FORMAT_U32_BE:
+ alsa_format = SND_PCM_FORMAT_U32_BE;
+ break;
case AF_FORMAT_S32_LE:
alsa_format = SND_PCM_FORMAT_S32_LE;
break;
@@ -334,6 +340,15 @@ static int init(int rate_hz, int channels, int format, int flags)
case AF_FORMAT_FLOAT_LE:
alsa_format = SND_PCM_FORMAT_FLOAT_LE;
break;
+ case AF_FORMAT_FLOAT_BE:
+ alsa_format = SND_PCM_FORMAT_FLOAT_BE;
+ break;
+ case AF_FORMAT_MU_LAW:
+ alsa_format = SND_PCM_FORMAT_MU_LAW;
+ break;
+ case AF_FORMAT_A_LAW:
+ alsa_format = SND_PCM_FORMAT_A_LAW;
+ break;
default:
alsa_format = SND_PCM_FORMAT_MPEG; //? default should be -1