libobs/media-io: Reset audio array for each input

The audio data would get overwritten and become invalid if there was
more than one input
This commit is contained in:
jp9000 2015-12-27 11:19:36 -08:00
parent 3c68196c5c
commit 20db7649aa

View file

@ -147,17 +147,16 @@ static inline void do_audio_output(struct audio_output *audio,
struct audio_mix *mix = &audio->mixes[mix_idx];
struct audio_data data;
for (size_t i = 0; i < audio->planes; i++)
data.data[i] = (uint8_t*)mix->buffer[i];
data.frames = frames;
data.timestamp = timestamp;
pthread_mutex_lock(&audio->input_mutex);
for (size_t i = mix->inputs.num; i > 0; i--) {
struct audio_input *input = mix->inputs.array+(i-1);
for (size_t i = 0; i < audio->planes; i++)
data.data[i] = (uint8_t*)mix->buffer[i];
data.frames = frames;
data.timestamp = timestamp;
if (resample_audio_output(input, &data))
input->callback(input->param, mix_idx, &data);
}