sink: Change EnqueueSamples to take a pointer to a buffer instead of a std::vector

This commit is contained in:
MerryMage
2016-08-31 16:55:10 +01:00
parent 87893e6d68
commit 0ef4185644
5 changed files with 9 additions and 9 deletions

View File

@ -71,14 +71,12 @@ unsigned int SDL2Sink::GetNativeSampleRate() const {
return impl->sample_rate;
}
void SDL2Sink::EnqueueSamples(const std::vector<s16>& samples) {
void SDL2Sink::EnqueueSamples(const s16* samples, size_t sample_count) {
if (impl->audio_device_id <= 0)
return;
ASSERT_MSG(samples.size() % 2 == 0, "Samples must be in interleaved stereo PCM16 format (size must be a multiple of two)");
SDL_LockAudioDevice(impl->audio_device_id);
impl->queue.emplace_back(samples);
impl->queue.emplace_back(samples, samples + sample_count * 2);
SDL_UnlockAudioDevice(impl->audio_device_id);
}