Commit 4d1d6f7a authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

Support s32 output via alsa audio device.

parent efec2d7b
...@@ -36,6 +36,8 @@ ...@@ -36,6 +36,8 @@
static av_cold snd_pcm_format_t codec_id_to_pcm_format(int codec_id) static av_cold snd_pcm_format_t codec_id_to_pcm_format(int codec_id)
{ {
switch(codec_id) { switch(codec_id) {
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_S16LE: return SND_PCM_FORMAT_S16_LE; 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_S16BE: return SND_PCM_FORMAT_S16_BE;
case CODEC_ID_PCM_S8: return SND_PCM_FORMAT_S8; case CODEC_ID_PCM_S8: return SND_PCM_FORMAT_S8;
...@@ -83,6 +85,8 @@ static void alsa_reorder_ ## NAME ## _out_71(const void *in_v, void *out_v, int ...@@ -83,6 +85,8 @@ static void alsa_reorder_ ## NAME ## _out_71(const void *in_v, void *out_v, int
REORDER_OUT_51(s16, int16_t) REORDER_OUT_51(s16, int16_t)
REORDER_OUT_71(s16, int16_t) REORDER_OUT_71(s16, int16_t)
REORDER_OUT_51(s32, int32_t)
REORDER_OUT_71(s32, int32_t)
#define REORDER_DUMMY ((void *)1) #define REORDER_DUMMY ((void *)1)
...@@ -98,6 +102,12 @@ static av_cold ff_reorder_func find_reorder_func(int codec_id, ...@@ -98,6 +102,12 @@ static av_cold ff_reorder_func find_reorder_func(int codec_id,
layout == AV_CH_LAYOUT_7POINT1 ? layout == AV_CH_LAYOUT_7POINT1 ?
out ? alsa_reorder_s16_out_71 : NULL : out ? alsa_reorder_s16_out_71 : NULL :
NULL : NULL :
codec_id == CODEC_ID_PCM_S32LE || codec_id == CODEC_ID_PCM_S32BE ?
layout == AV_CH_LAYOUT_5POINT1_BACK || layout == AV_CH_LAYOUT_5POINT1 ?
out ? alsa_reorder_s32_out_51 : NULL :
layout == AV_CH_LAYOUT_7POINT1 ?
out ? alsa_reorder_s32_out_71 : NULL :
NULL :
NULL; NULL;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment