From ece6037a1e654ff01e4238df65490edf68a568a7 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 10 Oct 2011 09:30:49 +0200 Subject: pcm_byteswap: add function with sample_format overload --- src/pcm_byteswap.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/pcm_byteswap.c') diff --git a/src/pcm_byteswap.c b/src/pcm_byteswap.c index 4e604c79a..63f116211 100644 --- a/src/pcm_byteswap.c +++ b/src/pcm_byteswap.c @@ -68,3 +68,29 @@ const int32_t *pcm_byteswap_32(struct pcm_buffer *buffer, return buf; } + +const void * +pcm_byteswap(struct pcm_buffer *buffer, enum sample_format format, + const void *src, size_t size) +{ + switch (format) { + case SAMPLE_FORMAT_UNDEFINED: + case SAMPLE_FORMAT_S24: + /* not implemented */ + return NULL; + + case SAMPLE_FORMAT_S8: + return src; + + case SAMPLE_FORMAT_S16: + return pcm_byteswap_16(buffer, src, size); + + case SAMPLE_FORMAT_S24_P32: + case SAMPLE_FORMAT_S32: + return pcm_byteswap_32(buffer, src, size); + } + + /* unreachable */ + assert(false); + return NULL; +} -- cgit v1.2.3