diff options
author | Max Horn | 2010-01-08 22:05:12 +0000 |
---|---|---|
committer | Max Horn | 2010-01-08 22:05:12 +0000 |
commit | 7efba850648777d2d562bfccf2f14868816d6391 (patch) | |
tree | 5feb2d3593335133b72bebee12acbcb426a7d886 /graphics/video/avi_decoder.cpp | |
parent | 95726dfe50eae85d0e7675f8891339fb0abb43fd (diff) | |
download | scummvm-rg350-7efba850648777d2d562bfccf2f14868816d6391.tar.gz scummvm-rg350-7efba850648777d2d562bfccf2f14868816d6391.tar.bz2 scummvm-rg350-7efba850648777d2d562bfccf2f14868816d6391.zip |
Switch Tinsel, MADE and some of the video players to QueuedAudioStream
svn-id: r47178
Diffstat (limited to 'graphics/video/avi_decoder.cpp')
-rw-r--r-- | graphics/video/avi_decoder.cpp | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/graphics/video/avi_decoder.cpp b/graphics/video/avi_decoder.cpp index 795c0f34d8..f949d612df 100644 --- a/graphics/video/avi_decoder.cpp +++ b/graphics/video/avi_decoder.cpp @@ -322,7 +322,14 @@ Surface *AviDecoder::getNextFrame() { uint32 chunkSize = _fileStream->readUint32LE(); byte *data = new byte[chunkSize]; _fileStream->read(data, chunkSize); - _audStream->queueBuffer(data, chunkSize); + + byte flags = Audio::Mixer::FLAG_AUTOFREE; + if (_audsHeader.sampleSize == 2) + flags |= Audio::Mixer::FLAG_16BITS | Audio::Mixer::FLAG_LITTLE_ENDIAN; + else + flags |= Audio::Mixer::FLAG_UNSIGNED; + + _audStream->queueBuffer(data, chunkSize, flags); _fileStream->skip(chunkSize & 1); // Alignment } else if (getStreamType(nextTag) == 'dc' || getStreamType(nextTag) == 'id' || getStreamType(nextTag) == 'AM') { // Compressed Frame @@ -424,16 +431,10 @@ Codec *AviDecoder::createCodec() { return NULL; } -Audio::AppendableAudioStream *AviDecoder::createAudioStream() { - byte flags = Audio::Mixer::FLAG_AUTOFREE; +Audio::QueuedAudioStream *AviDecoder::createAudioStream() { if (_wvInfo.tag == AVI_WAVE_FORMAT_PCM) { - if (_audsHeader.sampleSize == 2) - flags |= Audio::Mixer::FLAG_16BITS|Audio::Mixer::FLAG_LITTLE_ENDIAN; - else - flags |= Audio::Mixer::FLAG_UNSIGNED; - - return Audio::makeAppendableAudioStream(AUDIO_RATE, flags); + return Audio::makeQueuedAudioStream(AUDIO_RATE, false); } if (_wvInfo.tag != 0) // No sound |