diff options
author | Johannes Schickel | 2010-01-01 16:57:23 +0000 |
---|---|---|
committer | Johannes Schickel | 2010-01-01 16:57:23 +0000 |
commit | bba2c8ce952b5242e3ff80054f1ac9cc48bcd097 (patch) | |
tree | 3a62d52c8ea2d92d7eefb9ed7e0a3698b4685f2b /sound/flac.cpp | |
parent | 54d9bf4c57d265dd0d0539ed5eb0bfe324427ea7 (diff) | |
download | scummvm-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.cpp | 8 |
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; } |