aboutsummaryrefslogtreecommitdiff
path: root/graphics/video/avi_decoder.cpp
diff options
context:
space:
mode:
authorMax Horn2010-01-08 22:05:12 +0000
committerMax Horn2010-01-08 22:05:12 +0000
commit7efba850648777d2d562bfccf2f14868816d6391 (patch)
tree5feb2d3593335133b72bebee12acbcb426a7d886 /graphics/video/avi_decoder.cpp
parent95726dfe50eae85d0e7675f8891339fb0abb43fd (diff)
downloadscummvm-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.cpp19
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