diff options
Diffstat (limited to 'src/audio_format.c')
-rw-r--r-- | src/audio_format.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/audio_format.c b/src/audio_format.c index 45d94a85..dc46604f 100644 --- a/src/audio_format.c +++ b/src/audio_format.c @@ -22,6 +22,8 @@ #include <assert.h> #include <stdio.h> +#include <libavutil/samplefmt.h> + void audio_format_mask_apply(struct audio_format *af, const struct audio_format *mask) @@ -85,3 +87,15 @@ audio_format_to_string(const struct audio_format *af, return s->buffer; } + +enum AVSampleFormat sample_fmt_native_to_libav(enum sample_format sample_fmt) +{ + switch (sample_fmt) { + case SAMPLE_FORMAT_S8: return AV_SAMPLE_FMT_U8; + case SAMPLE_FORMAT_S16: return AV_SAMPLE_FMT_S16; + case SAMPLE_FORMAT_S24_P32: + case SAMPLE_FORMAT_S32: return AV_SAMPLE_FMT_S32; + case SAMPLE_FORMAT_FLOAT: return AV_SAMPLE_FMT_FLT; + default: return AV_SAMPLE_FMT_NONE; + } +} |