diff --git a/src/media/audio/audio_input.cpp b/src/media/audio/audio_input.cpp index eae1587e7b3eca1de821bc9ec1e70b13955be3a8..64f869b82c5aa01caecd4b8810f709b70f3420da 100644 --- a/src/media/audio/audio_input.cpp +++ b/src/media/audio/audio_input.cpp @@ -30,6 +30,8 @@ namespace ring { +static constexpr auto MS_PER_PACKET = std::chrono::milliseconds(20); + AudioInput::AudioInput(const std::string& id) : id_(id), loop_([] { return true; }, @@ -62,12 +64,12 @@ AudioInput::process() auto& mainBuffer = Manager::instance().getRingBufferPool(); auto bufferFormat = mainBuffer.getInternalAudioFormat(); - // compute number of samples contained in a frame with duration msPerPacket_ - const auto samplesPerPacket = msPerPacket_ * bufferFormat.sample_rate; + // compute number of samples contained in a frame with duration MS_PER_PACKET + const auto samplesPerPacket = MS_PER_PACKET * bufferFormat.sample_rate; const std::size_t samplesToGet = std::chrono::duration_cast<std::chrono::seconds>(samplesPerPacket).count(); if (mainBuffer.availableForGet(id_) < samplesToGet - && not mainBuffer.waitForDataAvailable(id_, samplesToGet, msPerPacket_)) { + && not mainBuffer.waitForDataAvailable(id_, samplesToGet, MS_PER_PACKET)) { return; } diff --git a/src/media/audio/audio_input.h b/src/media/audio/audio_input.h index 2eba6d8b18d86175785b0761045e7b31834a8d35..54319ed4ee4a6e5ae4899425a7d703b8d1b9d077 100644 --- a/src/media/audio/audio_input.h +++ b/src/media/audio/audio_input.h @@ -22,15 +22,15 @@ #pragma once #include <future> + #include "audio/audiobuffer.h" -#include "media/media_recorder.h" -#include "audio/resampler.h" +#include "media_device.h" +#include "media_buffer.h" +#include "threadloop.h" namespace ring { -class MediaRecorder; -} -namespace ring { +class MediaRecorder; class AudioInput { @@ -51,8 +51,6 @@ private: AudioBuffer micData_; bool muteState_ = false; - const std::chrono::milliseconds msPerPacket_ {20}; - ThreadLoop loop_; void process(); };