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/smk_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/smk_decoder.cpp')
-rw-r--r-- | graphics/video/smk_decoder.cpp | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/graphics/video/smk_decoder.cpp b/graphics/video/smk_decoder.cpp index 8952f553b7..551b75b828 100644 --- a/graphics/video/smk_decoder.cpp +++ b/graphics/video/smk_decoder.cpp @@ -465,15 +465,7 @@ bool SmackerDecoder::loadFile(const char *fileName) { _header.audioInfo[i].sampleRate = audioInfo & 0xFFFFFF; if (_header.audioInfo[i].hasAudio && i == 0) { - byte flags = 0; - - if (_header.audioInfo[i].is16Bits) - flags = flags | Audio::Mixer::FLAG_16BITS; - - if (_header.audioInfo[i].isStereo) - flags = flags | Audio::Mixer::FLAG_STEREO; - - _audioStream = Audio::makeAppendableAudioStream(_header.audioInfo[i].sampleRate, flags); + _audioStream = Audio::makeQueuedAudioStream(_header.audioInfo[0].sampleRate, _header.audioInfo[0].isStereo); } } @@ -578,8 +570,14 @@ bool SmackerDecoder::decodeNextFrame() { delete[] soundBuffer; } else { // Uncompressed audio (PCM) - _audioStream->queueBuffer(soundBuffer, chunkSize); - // The sound buffer will be deleted by AppendableAudioStream + byte flags = 0; + if (_header.audioInfo[0].is16Bits) + flags = flags | Audio::Mixer::FLAG_16BITS; + if (_header.audioInfo[0].isStereo) + flags = flags | Audio::Mixer::FLAG_STEREO; + + _audioStream->queueBuffer(soundBuffer, chunkSize, flags); + // The sound buffer will be deleted by QueuedAudioStream } if (!_audioStarted) { @@ -827,8 +825,13 @@ void SmackerDecoder::queueCompressedBuffer(byte *buffer, uint32 bufferSize, for (int k = 0; k < numBytes; k++) delete audioTrees[k]; - _audioStream->queueBuffer(unpackedBuffer, unpackedSize); - // unpackedBuffer will be deleted by AppendableAudioStream + byte flags = 0; + if (_header.audioInfo[0].is16Bits) + flags = flags | Audio::Mixer::FLAG_16BITS; + if (_header.audioInfo[0].isStereo) + flags = flags | Audio::Mixer::FLAG_STEREO; + _audioStream->queueBuffer(unpackedBuffer, unpackedSize, flags); + // unpackedBuffer will be deleted by QueuedAudioStream } void SmackerDecoder::unpackPalette() { |