aboutsummaryrefslogtreecommitdiff
path: root/src/audio_format.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_format.c')
-rw-r--r--src/audio_format.c14
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;
+ }
+}