diff options
author | Max Kellermann <max@duempel.org> | 2012-03-21 19:25:52 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2012-03-21 19:31:04 +0100 |
commit | 8c5ebdff360021a25b43418d3cd60ea975f5e245 (patch) | |
tree | 5780d19719f2493741fd11777bc39baf5361935b /src/pcm_convert.c | |
parent | 1c84f324a13bcc3d7fbd84f8d59398b1c801247a (diff) | |
download | mpd-8c5ebdff360021a25b43418d3cd60ea975f5e245.tar.gz mpd-8c5ebdff360021a25b43418d3cd60ea975f5e245.tar.xz mpd-8c5ebdff360021a25b43418d3cd60ea975f5e245.zip |
audio_format: remove the reverse_endian attribute
Eliminate support for reverse endian samples from the MPD core. This
moves a lot of complexity to the plugins that really need it (only
ALSA and CDIO currently).
Diffstat (limited to '')
-rw-r--r-- | src/pcm_convert.c | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/src/pcm_convert.c b/src/pcm_convert.c index 4721d2496..fbdfe5e91 100644 --- a/src/pcm_convert.c +++ b/src/pcm_convert.c @@ -21,7 +21,6 @@ #include "pcm_convert.h" #include "pcm_channels.h" #include "pcm_format.h" -#include "pcm_byteswap.h" #include "pcm_pack.h" #include "audio_format.h" #include "glib_compat.h" @@ -45,7 +44,6 @@ void pcm_convert_init(struct pcm_convert_state *state) pcm_buffer_init(&state->format_buffer); pcm_buffer_init(&state->pack_buffer); pcm_buffer_init(&state->channels_buffer); - pcm_buffer_init(&state->byteswap_buffer); } void pcm_convert_deinit(struct pcm_convert_state *state) @@ -56,7 +54,6 @@ void pcm_convert_deinit(struct pcm_convert_state *state) pcm_buffer_deinit(&state->format_buffer); pcm_buffer_deinit(&state->pack_buffer); pcm_buffer_deinit(&state->channels_buffer); - pcm_buffer_deinit(&state->byteswap_buffer); } void @@ -164,11 +161,6 @@ pcm_convert_16(struct pcm_convert_state *state, return NULL; } - if (dest_format->reverse_endian) { - buf = pcm_byteswap_16(&state->byteswap_buffer, buf, len); - assert(buf != NULL); - } - *dest_size_r = len; return buf; } @@ -219,11 +211,6 @@ pcm_convert_24(struct pcm_convert_state *state, return NULL; } - if (dest_format->reverse_endian) { - buf = pcm_byteswap_32(&state->byteswap_buffer, buf, len); - assert(buf != NULL); - } - *dest_size_r = len; return buf; } @@ -261,8 +248,7 @@ pcm_convert_24_packed(struct pcm_convert_state *state, size_t dest_size = num_samples * 3; uint8_t *dest = pcm_buffer_get(&state->pack_buffer, dest_size); - pcm_pack_24(dest, buffer, buffer + num_samples, - dest_format->reverse_endian); + pcm_pack_24(dest, buffer, buffer + num_samples); *dest_size_r = dest_size; return dest; @@ -314,11 +300,6 @@ pcm_convert_32(struct pcm_convert_state *state, return buf; } - if (dest_format->reverse_endian) { - buf = pcm_byteswap_32(&state->byteswap_buffer, buf, len); - assert(buf != NULL); - } - *dest_size_r = len; return buf; } @@ -335,12 +316,6 @@ pcm_convert_float(struct pcm_convert_state *state, assert(dest_format->format == SAMPLE_FORMAT_FLOAT); - if (src_format->reverse_endian || dest_format->reverse_endian) { - g_set_error_literal(error_r, pcm_convert_quark(), 0, - "Reverse endian not supported"); - return NULL; - } - /* convert channels first, hoping the source format is supported (float is not) */ @@ -392,20 +367,6 @@ pcm_convert(struct pcm_convert_state *state, size_t *dest_size_r, GError **error_r) { - if (src_format->reverse_endian) { - /* convert to host byte order, because all of our - conversion libraries assume host byte order */ - - src = pcm_byteswap(&state->byteswap_buffer, src_format->format, - src, src_size); - if (src == NULL) { - g_set_error(error_r, pcm_convert_quark(), 0, - "PCM byte order change of format '%s' is not implemented", - sample_format_to_string(src_format->format)); - return NULL; - } - } - struct audio_format float_format; if (src_format->format == SAMPLE_FORMAT_DSD) { size_t f_size; |