[FFmpeg-cvslog] Support alsa channel reordering for float.
Carl Eugen Hoyos
git at videolan.org
Thu Apr 14 05:10:33 CEST 2011
ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Apr 14 01:20:11 2011 +0200| [460acdf059906da5d378a3414bb9053b401e484d] | committer: Carl Eugen Hoyos
Support alsa channel reordering for float.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=460acdf059906da5d378a3414bb9053b401e484d
---
libavdevice/alsa-audio-common.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/libavdevice/alsa-audio-common.c b/libavdevice/alsa-audio-common.c
index 0e5b997..ce27bcc 100644
--- a/libavdevice/alsa-audio-common.c
+++ b/libavdevice/alsa-audio-common.c
@@ -121,6 +121,9 @@ REORDER_OUT_71(int16, int16_t)
REORDER_OUT_50(int32, int32_t)
REORDER_OUT_51(int32, int32_t)
REORDER_OUT_71(int32, int32_t)
+REORDER_OUT_50(f32, float)
+REORDER_OUT_51(f32, float)
+REORDER_OUT_71(f32, float)
#define REORDER_DUMMY ((void *)1)
@@ -149,6 +152,15 @@ static av_cold ff_reorder_func find_reorder_func(int codec_id,
layout == AV_CH_LAYOUT_7POINT1 ?
out ? alsa_reorder_int32_out_71 : NULL :
NULL :
+ codec_id == CODEC_ID_PCM_F32LE || codec_id == CODEC_ID_PCM_F32BE ?
+ layout == AV_CH_LAYOUT_QUAD ? REORDER_DUMMY :
+ layout == AV_CH_LAYOUT_5POINT0_BACK || layout == AV_CH_LAYOUT_5POINT0 ?
+ out ? alsa_reorder_f32_out_50 : NULL :
+ layout == AV_CH_LAYOUT_5POINT1_BACK || layout == AV_CH_LAYOUT_5POINT1 ?
+ out ? alsa_reorder_f32_out_51 : NULL :
+ layout == AV_CH_LAYOUT_7POINT1 ?
+ out ? alsa_reorder_f32_out_71 : NULL :
+ NULL :
NULL;
}
More information about the ffmpeg-cvslog
mailing list