[FFmpeg-cvslog] alsa: add support for more formats.

Carl Eugen Hoyos git at videolan.org
Tue Jul 26 00:53:16 CEST 2011


ffmpeg | branch: release/0.8 | Carl Eugen Hoyos <cehoyos at ag.or.at> | Mon Jun 13 21:16:30 2011 +0200| [bf5ed476ba6315daeff83930787cdf02aa3268e0] | committer: Reinhard Tartler

alsa: add support for more formats.

Specifically, f32, f64, s32, s24, a-law and mu-law.

Signed-off-by: Anton Khirnov <anton at khirnov.net>
(cherry picked from commit 921715edffbba5db8deb26b7ad3cb583ba963d03)

Signed-off-by: Reinhard Tartler <siretart at tauware.de>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bf5ed476ba6315daeff83930787cdf02aa3268e0
---

 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 ff6c9f8..4279790 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;
     }
 }



More information about the ffmpeg-cvslog mailing list