diff options
author | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-04-14 01:20:11 +0200 |
---|---|---|
committer | Carl Eugen Hoyos <cehoyos@ag.or.at> | 2011-04-14 03:33:10 +0200 |
commit | 460acdf059906da5d378a3414bb9053b401e484d (patch) | |
tree | 54127505262a952b003cb4260cc1f033a15d4c36 | |
parent | e2049edb4e6663c658d888ae0cf3632607333e12 (diff) | |
download | ffmpeg-460acdf059906da5d378a3414bb9053b401e484d.tar.gz |
Support alsa channel reordering for float.
-rw-r--r-- | 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 0e5b9974aa..ce27bcc074 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; } |