aboutsummaryrefslogtreecommitdiff
path: root/sound/flac.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2010-01-01 16:57:23 +0000
committerJohannes Schickel2010-01-01 16:57:23 +0000
commitbba2c8ce952b5242e3ff80054f1ac9cc48bcd097 (patch)
tree3a62d52c8ea2d92d7eefb9ed7e0a3698b4685f2b /sound/flac.cpp
parent54d9bf4c57d265dd0d0539ed5eb0bfe324427ea7 (diff)
downloadscummvm-rg350-bba2c8ce952b5242e3ff80054f1ac9cc48bcd097.tar.gz
scummvm-rg350-bba2c8ce952b5242e3ff80054f1ac9cc48bcd097.tar.bz2
scummvm-rg350-bba2c8ce952b5242e3ff80054f1ac9cc48bcd097.zip
Fix getTotalPlayTime for MP3, FLAC, Vorbis and LinearMemoryStream after the latest loop related changes.
svn-id: r46838
Diffstat (limited to 'sound/flac.cpp')
-rw-r--r--sound/flac.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/sound/flac.cpp b/sound/flac.cpp
index 8fc7440ff5..09c7cce7c0 100644
--- a/sound/flac.cpp
+++ b/sound/flac.cpp
@@ -143,7 +143,11 @@ public:
return _streaminfo.channels == 0 || (_lastSampleWritten && _sampleCache.bufFill == 0);
}
- int32 getTotalPlayTime() const { return _totalPlayTime; }
+ int32 getTotalPlayTime() const {
+ if (!_numLoops)
+ return kUnknownPlayTime;
+ return _totalPlayTime * _numLoops;
+ }
bool isStreamDecoderReady() const { return getStreamDecoderState() == FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC ; }
@@ -260,7 +264,7 @@ FlacInputStream::FlacInputStream(Common::SeekableReadStream *inStream, bool disp
int32 seconds = samples / rate;
int32 milliseconds = (1000 * (samples % rate)) / rate;
- _totalPlayTime = (seconds * 1000 + milliseconds) * numLoops;
+ _totalPlayTime = (seconds * 1000 + milliseconds);
} else {
_totalPlayTime = kUnknownPlayTime;
}