Skip to content
Snippets Groups Projects
Commit 833fe97b authored by Adrien Béraud's avatar Adrien Béraud
Browse files

AudioInput: initialize wakeUp_ on loop start

In some common cases, switchInput is never called
causing buzy loops.

Change-Id: I364987eeabcc89b2f48e5cc3cf6cbc2125fb6710
parent 40c99f05
No related branches found
No related tags found
No related merge requests found
......@@ -216,6 +216,7 @@ AudioInput::configureFilePlayback(const std::string& path,
Manager::instance().getRingBufferPool().bindHalfDuplexOut(RingBufferPool::DEFAULT_ID, id_);
deviceGuard_ = Manager::instance().startAudioStream(AudioDeviceType::PLAYBACK);
wakeUp_ = std::chrono::steady_clock::now() + MS_PER_PACKET;
playingFile_ = true;
decoder_ = std::move(decoder);
resource_ = path;
......@@ -260,6 +261,7 @@ AudioInput::initFile(const std::string& path)
JAMI_WARN() << "Cannot decode audio from file, switching back to default device";
return initDevice("");
}
wakeUp_ = std::chrono::steady_clock::now() + MS_PER_PACKET;
// have file audio mixed into the local buffer so it gets played
Manager::instance().getRingBufferPool().bindHalfDuplexOut(RingBufferPool::DEFAULT_ID, id_);
......@@ -317,7 +319,7 @@ AudioInput::switchInput(const std::string& resource)
}
futureDevOpts_ = foundDevOpts_.get_future().share();
wakeUp_ = std::chrono::high_resolution_clock::now() + MS_PER_PACKET;
wakeUp_ = std::chrono::steady_clock::now() + MS_PER_PACKET;
lk.unlock();
loop_.start();
if (onSuccessfulSetup_)
......
......@@ -113,7 +113,7 @@ private:
ThreadLoop loop_;
void process();
std::chrono::time_point<std::chrono::high_resolution_clock> wakeUp_;
std::chrono::time_point<std::chrono::steady_clock> wakeUp_;
std::function<void(MediaType, bool)> onSuccessfulSetup_;
std::function<void(const MediaStream& ms)> recorderCallback_;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment