mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Support s32 output via alsa audio device.
This commit is contained in:
parent
efec2d7b35
commit
4d1d6f7a3c
@ -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
|
|||||||
|
|
||||||
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,
|
|||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user