Skip to content

Commit c330a4c

Browse files
committed
0.1.5
1 parent 5682a22 commit c330a4c

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/SourceMixer.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,10 @@ static void asmd_capture(void* param, obs_source_t* sourceIn, const struct audio
194194

195195
source->fifoBuffer.setSize(numChannels, fifoSize);
196196

197-
source->tempBuffer.resize(fifoSize, 0.0f);
197+
{
198+
std::scoped_lock lock(asmd->captureCallbackMutex);
199+
source->tempBuffer.resize(fifoSize, 0.0f);
200+
}
198201

199202
if (!(muted && source->postMute))
200203
{
@@ -233,8 +236,6 @@ static void asmd_capture(void* param, obs_source_t* sourceIn, const struct audio
233236
}
234237
}
235238

236-
// TODO
237-
doThisCallback = false;
238239
if (!doThisCallback)
239240
{
240241
asmd->doRawCallback = true;
@@ -260,10 +261,7 @@ static void asmd_capture(void* param, obs_source_t* sourceIn, const struct audio
260261

261262
auto numReady = source.fifoBuffer.getNumReady();
262263

263-
if (numReady < frames && source.isActive.load(std::memory_order_acquire))
264-
// if (numReady < frames)
265-
// if (numReady < frames &&
266-
// audio_data->timestamp - source.last_callback_time < 2.0 * frames / sampleRate * 1000000000)
264+
if (numReady < 2 * frames && source.isActive.load(std::memory_order_acquire))
267265
return;
268266
}
269267

@@ -297,7 +295,7 @@ static void asmd_capture(void* param, obs_source_t* sourceIn, const struct audio
297295
{
298296
auto numReady = source.fifoBuffer.getNumReady();
299297

300-
if (numReady != frames)
298+
if (numReady < frames || numReady > 2 * frames)
301299
{
302300
source.fifoBuffer.reset();
303301

0 commit comments

Comments
 (0)