Commit 0129d1e1 authored by Max Kellermann's avatar Max Kellermann

pcm_convert: support reverse endian input

parent ece6037a
...@@ -269,6 +269,20 @@ pcm_convert(struct pcm_convert_state *state, ...@@ -269,6 +269,20 @@ pcm_convert(struct pcm_convert_state *state,
size_t *dest_size_r, size_t *dest_size_r,
GError **error_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;
}
}
switch (dest_format->format) { switch (dest_format->format) {
case SAMPLE_FORMAT_S16: case SAMPLE_FORMAT_S16:
return pcm_convert_16(state, return pcm_convert_16(state,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment