use BIGENDIAN for ov_read, instead of changing endianness unneccessarily

git-svn-id: https://svn.musicpd.org/mpd/trunk@232 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
Warren Dukes 2004-03-09 21:42:08 +00:00
parent 197c046b02
commit 8d95265cc8
1 changed files with 8 additions and 5 deletions

View File

@ -31,6 +31,12 @@
#include <string.h>
#include <vorbis/vorbisfile.h>
#ifdef WORDS_BIGENDIAN
#define OGG_DECODE_USE_BIGENDIAN 1
#else
#define OGG_DECODE_USE_BIGENDIAN 0
#endif
int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
{
OggVorbis_File vf;
@ -77,7 +83,8 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
}
ret = ov_read(&vf,chunk+chunkpos,
CHUNK_SIZE-chunkpos,
0,2,1,
OGG_DECODE_USE_BIGENDIAN,
2,1,
&current_section);
if(ret<=0) eof = 1;
else chunkpos+=ret;
@ -89,10 +96,6 @@ int ogg_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc)
}
if(dc->stop) break;
else if(dc->seek) continue;
#ifdef WORDS_BIGENDIAN
pcm_changeBufferEndianness(chunk,CHUNK_SIZE,
af->bits);
#endif
memcpy(cb->chunks+cb->end*CHUNK_SIZE,
chunk,chunkpos);
cb->chunkSize[cb->end] = chunkpos;