diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-06-13 21:16:30 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2011-06-23 08:49:48 +0200 |
commit | 921715edffbba5db8deb26b7ad3cb583ba963d03 (patch) | |
tree | 218f907807dac4853575f69333a6c0d7ffdfcf42 | |
parent | 8986fddc2bab92bd7d77a123ac70c4fb70c96c7c (diff) | |
download | ffmpeg-921715edffbba5db8deb26b7ad3cb583ba963d03.tar.gz |
alsa: add support for more formats.
Specifically, f32, f64, s32, s24, a-law and mu-law.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavdevice/alsa-audio-common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c index ff6c9f875d..4279790ddc 100644 --- a/libavdevice/alsa-audio-common.c +++ b/libavdevice/alsa-audio-common.c @@ -36,9 +36,19 @@ static av_cold snd_pcm_format_t codec_id_to_pcm_format(int codec_id) { switch(codec_id) { + case CODEC_ID_PCM_F64LE: return SND_PCM_FORMAT_FLOAT64_LE; + case CODEC_ID_PCM_F64BE: return SND_PCM_FORMAT_FLOAT64_BE; + case CODEC_ID_PCM_F32LE: return SND_PCM_FORMAT_FLOAT_LE; + case CODEC_ID_PCM_F32BE: return SND_PCM_FORMAT_FLOAT_BE; + case CODEC_ID_PCM_S32LE: return SND_PCM_FORMAT_S32_LE; + case CODEC_ID_PCM_S32BE: return SND_PCM_FORMAT_S32_BE; + case CODEC_ID_PCM_S24LE: return SND_PCM_FORMAT_S24_3LE; + case CODEC_ID_PCM_S24BE: return SND_PCM_FORMAT_S24_3BE; case CODEC_ID_PCM_S16LE: return SND_PCM_FORMAT_S16_LE; case CODEC_ID_PCM_S16BE: return SND_PCM_FORMAT_S16_BE; case CODEC_ID_PCM_S8: return SND_PCM_FORMAT_S8; + case CODEC_ID_PCM_MULAW: return SND_PCM_FORMAT_MU_LAW; + case CODEC_ID_PCM_ALAW: return SND_PCM_FORMAT_A_LAW; default: return SND_PCM_FORMAT_UNKNOWN; } } |