Switch SCUMM from AppendableAudioStream to QueuingAudioStream

svn-id: r47183
This commit is contained in:
Max Horn 2010-01-08 22:10:19 +00:00
parent f720d99b0a
commit c489259353
7 changed files with 11 additions and 11 deletions

View File

@ -202,7 +202,7 @@ void IMuseDigital::saveOrLoad(Serializer *ser) {
track->mixerFlags |= kFlagLittleEndian;
#endif
track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
track->stream = Audio::makeQueuingAudioStream(freq, track->mixerFlags & kFlagStereo);
_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan());
_mixer->pauseHandle(track->mixChanHandle, true);
@ -344,7 +344,7 @@ void IMuseDigital::callback() {
curFeedSize = feedSize;
if (_mixer->isReady()) {
track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize);
track->stream->queueBuffer(tmpSndBufferPtr, curFeedSize, makeMixerFlags(track->mixerFlags));
track->regionOffset += curFeedSize;
} else
delete[] tmpSndBufferPtr;

View File

@ -172,7 +172,7 @@ void IMuseDigital::startSound(int soundId, const char *soundName, int soundType,
track->dataMod12Bit = otherTrack->dataMod12Bit;
}
track->stream = Audio::makeAppendableAudioStream(freq, makeMixerFlags(track->mixerFlags));
track->stream = Audio::makeQueuingAudioStream(freq, track->mixerFlags & kFlagStereo);
_mixer->playInputStream(track->getType(), &track->mixChanHandle, track->stream, -1, track->getVol(), track->getPan());
}
@ -372,7 +372,7 @@ Track *IMuseDigital::cloneToFadeOutTrack(Track *track, int fadeDelay) {
fadeTrack->volFadeUsed = true;
// Create an appendable output buffer
fadeTrack->stream = Audio::makeAppendableAudioStream(_sound->getFreq(fadeTrack->soundDesc), makeMixerFlags(fadeTrack->mixerFlags));
fadeTrack->stream = Audio::makeQueuingAudioStream(_sound->getFreq(fadeTrack->soundDesc), track->mixerFlags & kFlagStereo);
_mixer->playInputStream(track->getType(), &fadeTrack->mixChanHandle, fadeTrack->stream, -1, fadeTrack->getVol(), fadeTrack->getPan());
fadeTrack->used = true;

View File

@ -76,7 +76,7 @@ struct Track {
ImuseDigiSndMgr::SoundDesc *soundDesc; // sound handle used by iMuse sound manager
Audio::SoundHandle mixChanHandle; // sound mixer's channel handle
Audio::AppendableAudioStream *stream; // sound mixer's audio stream handle for *.la1 and *.bun
Audio::QueuingAudioStream *stream; // sound mixer's audio stream handle for *.la1 and *.bun
Track() : soundId(-1), used(false), stream(NULL) {
}

View File

@ -122,12 +122,12 @@ bool SmushMixer::handleFrame() {
if (_mixer->isReady()) {
// Stream the data
if (!_channels[i].stream) {
_channels[i].stream = Audio::makeAppendableAudioStream(_channels[i].chan->getRate(), flags);
_channels[i].stream = Audio::makeQueuingAudioStream(_channels[i].chan->getRate(), stereo);
_mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_channels[i].handle, _channels[i].stream);
}
_mixer->setChannelVolume(_channels[i].handle, vol);
_mixer->setChannelBalance(_channels[i].handle, pan);
_channels[i].stream->queueBuffer(data, size); // The stream will free the buffer for us
_channels[i].stream->queueBuffer(data, size, flags); // The stream will free the buffer for us
} else
delete[] data;
}

View File

@ -44,7 +44,7 @@ private:
int id;
SmushChannel *chan;
Audio::SoundHandle handle;
Audio::AppendableAudioStream *stream;
Audio::QueuingAudioStream *stream;
} _channels[NUM_CHANNELS];
int _soundFrequency;

View File

@ -469,10 +469,10 @@ void SmushPlayer::handleIACT(int32 subSize, Common::SeekableReadStream &b) {
} while (--count);
if (!_IACTstream) {
_IACTstream = Audio::makeAppendableAudioStream(22050, Audio::Mixer::FLAG_STEREO | Audio::Mixer::FLAG_16BITS);
_IACTstream = Audio::makeQueuingAudioStream(22050, true);
_vm->_mixer->playInputStream(Audio::Mixer::kSFXSoundType, &_IACTchannel, _IACTstream);
}
_IACTstream->queueBuffer(output_data, 0x1000);
_IACTstream->queueBuffer(output_data, 0x1000, Audio::Mixer::FLAG_STEREO | Audio::Mixer::FLAG_16BITS);
bsize -= len;
d_src += len;

View File

@ -65,7 +65,7 @@ private:
uint32 _frame;
Audio::SoundHandle _IACTchannel;
Audio::AppendableAudioStream *_IACTstream;
Audio::QueuingAudioStream *_IACTstream;
Audio::SoundHandle _compressedFileSoundHandle;
bool _compressedFileMode;