[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