[Scummvm-cvs-logs] SF.net SVN: scummvm: [25788] scummvm/trunk/sound/mp3.cpp

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Feb 22 15:07:13 CET 2007


Revision: 25788
          http://scummvm.svn.sourceforge.net/scummvm/?rev=25788&view=rev
Author:   fingolfin
Date:     2007-02-22 06:07:12 -0800 (Thu, 22 Feb 2007)

Log Message:
-----------
cleanup

Modified Paths:
--------------
    scummvm/trunk/sound/mp3.cpp

Modified: scummvm/trunk/sound/mp3.cpp
===================================================================
--- scummvm/trunk/sound/mp3.cpp	2007-02-22 12:25:30 UTC (rev 25787)
+++ scummvm/trunk/sound/mp3.cpp	2007-02-22 14:07:12 UTC (rev 25788)
@@ -43,17 +43,21 @@
 
 class MP3InputStream : public AudioStream {
 protected:
+	Common::SeekableReadStream *_inStream;
+	bool _disposeAfterUse;
+	
+	uint _numLoops;
+	uint _posInFrame;
+	bool _eos;
+	
+	const mad_timer_t _startTime;
+	const mad_timer_t _endTime;
+	mad_timer_t _totalTime;
+	
 	mad_stream _stream;
 	mad_frame _frame;
 	mad_synth _synth;
 
-	const mad_timer_t _startTime;	
-	const mad_timer_t _endTime;
-	mad_timer_t _totalTime;
-	
-	Common::SeekableReadStream *_inStream;
-	bool _disposeAfterUse;
-	
 	enum {
 		BUFFER_SIZE = 5 * 8192
 	};
@@ -61,10 +65,6 @@
 	// This buffer contains a slab of input data
 	byte _buf[BUFFER_SIZE + MAD_BUFFER_GUARD];
 
-	uint _numLoops;
-	uint _posInFrame;
-	bool _eos;
-	
 public:
 	MP3InputStream(Common::SeekableReadStream *inStream,
 	               bool dispose,
@@ -73,8 +73,6 @@
 	               uint numLoops = 1);
 	~MP3InputStream();
 	
-	bool init();
-	
 	int readBuffer(int16 *buffer, const int numSamples);
 
 	bool endOfData() const		{ return _eos; }
@@ -90,12 +88,12 @@
 MP3InputStream::MP3InputStream(Common::SeekableReadStream *inStream, bool dispose, mad_timer_t start, mad_timer_t end, uint numLoops) :
 	_inStream(inStream),
 	_disposeAfterUse(dispose),
-	_startTime(start),
-	_endTime(end),
-	_totalTime(mad_timer_zero),
 	_numLoops(numLoops),
 	_posInFrame(0),
-	_eos(false) {
+	_eos(false),
+	_startTime(start),
+	_endTime(end),
+	_totalTime(mad_timer_zero) {
 
 	// Make sure that either start < end, or end is zero (indicating "play until end")
 	assert(mad_timer_compare(_startTime, _endTime) < 0 || mad_timer_sign(_endTime) == 0);
@@ -183,7 +181,7 @@
 				continue;
 
 			// If an end time is specified and we are past it, stop
-			if (mad_timer_sign(_endTime) > 0 && mad_timer_compare(_totalTime, _endTime) > 0) {
+			if (mad_timer_sign(_endTime) > 0 && mad_timer_compare(_totalTime, _endTime) >= 0) {
 				_eos = true;
 				break;
 			}
@@ -211,7 +209,7 @@
 		}
 	
 		if (_eos) {
-			// If looping is enabled, try again
+			// If looping is enabled, rewind to the start
 			if (_numLoops == 0 || --_numLoops > 0)
 				rewind();
 		}
@@ -326,9 +324,7 @@
 		mad_timer_set(&end, endTime / 1000, endTime % 1000, 1000);
 	}
 
-	MP3InputStream *mp3Stream = new MP3InputStream(stream, disposeAfterUse, start, end, numLoops);
-	
-	return mp3Stream;
+	return new MP3InputStream(stream, disposeAfterUse, start, end, numLoops);
 }
 
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list