This commit is contained in:
Glenn Maynard
2004-01-11 09:40:07 +00:00
parent cf06498ff3
commit 7237f1012e
+7 -9
View File
@@ -182,7 +182,6 @@ struct madlib_t
Uint8 inbuf[16384], outbuf[8192]; Uint8 inbuf[16384], outbuf[8192];
int outpos; int outpos;
unsigned outleft; unsigned outleft;
int inbytes;
struct mad_stream Stream; struct mad_stream Stream;
struct mad_frame Frame; struct mad_frame Frame;
@@ -308,17 +307,16 @@ int RageSoundReader_MP3::handle_first_frame()
int RageSoundReader_MP3::fill_buffer() int RageSoundReader_MP3::fill_buffer()
{ {
/* Need more data. */ /* Need more data. */
int inbytes = 0;
if( mad->Stream.next_frame != NULL ) if( mad->Stream.next_frame != NULL )
{ {
/* Pull out remaining data from the last buffer. */ /* Pull out remaining data from the last buffer. */
mad->inbytes = mad->Stream.bufend-mad->Stream.next_frame; inbytes = mad->Stream.bufend-mad->Stream.next_frame;
memmove( mad->inbuf, mad->Stream.next_frame, mad->inbytes ); memmove( mad->inbuf, mad->Stream.next_frame, inbytes );
mad->inbuf_filepos += mad->Stream.next_frame - mad->inbuf; mad->inbuf_filepos += mad->Stream.next_frame - mad->inbuf;
} else {
mad->inbytes = 0;
} }
int rc = file.Read( mad->inbuf + mad->inbytes, sizeof (mad->inbuf)-mad->inbytes ); int rc = file.Read( mad->inbuf + inbytes, sizeof (mad->inbuf)-inbytes );
if( rc < 0 ) if( rc < 0 )
{ {
SetError( file.GetError() ); SetError( file.GetError() );
@@ -327,8 +325,8 @@ int RageSoundReader_MP3::fill_buffer()
if ( rc == 0 ) if ( rc == 0 )
return 0; return 0;
mad->inbytes += rc; inbytes += rc;
mad_stream_buffer( &mad->Stream, mad->inbuf, mad->inbytes ); mad_stream_buffer( &mad->Stream, mad->inbuf, inbytes );
return rc; return rc;
} }
@@ -594,7 +592,7 @@ int RageSoundReader_MP3::seek_stream_to_byte( int byte )
mad_stream_finish(&mad->Stream); mad_stream_finish(&mad->Stream);
mad_stream_init(&mad->Stream); mad_stream_init(&mad->Stream);
mad->inbytes = mad->outleft = mad->outpos = 0; mad->outleft = mad->outpos = 0;
mad->inbuf_filepos = byte; mad->inbuf_filepos = byte;