void QueuingAudioStreamImpl::queueAudioStream(AudioStream *stream, DisposeAfterUse::Flag disposeAfterUse) { assert(!_finished); if ((stream->getRate() != getRate()) || (stream->isStereo() != isStereo())) error("QueuingAudioStreamImpl::queueAudioStream: stream has mismatched parameters"); Common::StackLock lock(_mutex); _queue.push(StreamHolder(stream, disposeAfterUse)); }
void QueuingAudioStreamImpl::queueAudioStream(AudioStream *stream, bool disposeAfterUse) { if (_finished) throw Common::Exception("QueuingAudioStreamImpl::queueAudioStream(): Trying to queue another audio stream, but the QueuingAudioStream is finished."); if ((stream->getRate() != getRate()) || (stream->getChannels() != getChannels())) throw Common::Exception("QueuingAudioStreamImpl::queueAudioStream(): stream has mismatched parameters"); Common::StackLock lock(_mutex); _queue.push(StreamHolder(stream, disposeAfterUse)); }