mirror of
https://github.com/badaix/snapcast.git
synced 2025-07-15 07:35:41 +02:00
flac and ogg decoding on big endian
This commit is contained in:
parent
eb328564ad
commit
b29fadc465
3 changed files with 10 additions and 4 deletions
|
@ -22,6 +22,7 @@
|
|||
#include <FLAC/stream_decoder.h>
|
||||
#include "flacDecoder.h"
|
||||
#include "common/snapException.h"
|
||||
#include "common/endian.h"
|
||||
#include "common/log.h"
|
||||
|
||||
|
||||
|
@ -163,10 +164,13 @@ FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder
|
|||
|
||||
pcmChunk->payload = (char*)realloc(pcmChunk->payload, pcmChunk->payloadSize + bytes);
|
||||
|
||||
int16_t* pcm = (int16_t*)(pcmChunk->payload + pcmChunk->payloadSize);
|
||||
for(size_t i = 0; i < frame->header.blocksize; i++)
|
||||
{
|
||||
memcpy(pcmChunk->payload + pcmChunk->payloadSize + 4*i, (char*)(buffer[0] + i), 2);
|
||||
memcpy(pcmChunk->payload + pcmChunk->payloadSize + 4*i+2, (char*)(buffer[1] + i), 2);
|
||||
pcm[2*i] = SWAP_16((int16_t)(buffer[0][i]));
|
||||
pcm[2*i + 1] = SWAP_16((int16_t)(buffer[1][i]));
|
||||
// memcpy(pcmChunk->payload + pcmChunk->payloadSize + 4*i, (char*)(buffer[0] + i), 2);
|
||||
// memcpy(pcmChunk->payload + pcmChunk->payloadSize + 4*i+2, (char*)(buffer[1] + i), 2);
|
||||
}
|
||||
pcmChunk->payloadSize += bytes;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue