diff options
Diffstat (limited to 'src/pcm_volume.c')
-rw-r--r-- | src/pcm_volume.c | 36 |
1 files changed, 13 insertions, 23 deletions
diff --git a/src/pcm_volume.c b/src/pcm_volume.c index d6c282c9..7b6e8635 100644 --- a/src/pcm_volume.c +++ b/src/pcm_volume.c @@ -27,6 +27,8 @@ #include <stdint.h> #include <string.h> +#include <libavutil/samplefmt.h> + #undef G_LOG_DOMAIN #define G_LOG_DOMAIN "pcm_volume" @@ -142,10 +144,9 @@ pcm_volume_change_float(float *buffer, const float *end, float volume) } } -bool -pcm_volume(void *buffer, size_t length, - enum sample_format format, - int volume) +bool pcm_volume(void *buffer, size_t length, + enum AVSampleFormat format, + int volume) { if (volume == PCM_VOLUME_1) return true; @@ -157,33 +158,22 @@ pcm_volume(void *buffer, size_t length, const void *end = pcm_end_pointer(buffer, length); switch (format) { - case SAMPLE_FORMAT_UNDEFINED: - /* not implemented */ - return false; - - case SAMPLE_FORMAT_S8: + case AV_SAMPLE_FMT_U8: pcm_volume_change_8(buffer, end, volume); return true; - - case SAMPLE_FORMAT_S16: + case AV_SAMPLE_FMT_S16: pcm_volume_change_16(buffer, end, volume); return true; - - case SAMPLE_FORMAT_S24_P32: - pcm_volume_change_24(buffer, end, volume); - return true; - - case SAMPLE_FORMAT_S32: + case AV_SAMPLE_FMT_S32: pcm_volume_change_32(buffer, end, volume); return true; - - case SAMPLE_FORMAT_FLOAT: + case AV_SAMPLE_FMT_FLT: pcm_volume_change_float(buffer, end, pcm_volume_to_float(volume)); return true; - } + default: + /* not implemented */ + return false; - /* unreachable */ - assert(false); - return false; + } } |