50 const std::shared_ptr<MediaRecorder>&
rec);
53 void start(std::unique_ptr<dhtnet::IceSocket>
rtp_sock, std::unique_ptr<dhtnet::IceSocket>
rtcp_sock)
override;
70 void adaptQualityAndBitrate();
72 void setNewPacketLoss(
unsigned int newPL);
73 float getPonderateLoss(
float lastLoss);
75 std::unique_ptr<AudioSender> sender_;
76 std::unique_ptr<AudioReceiveThread> receiveThread_;
77 std::shared_ptr<AudioInput> audioInput_;
78 std::shared_ptr<RingBuffer> ringbuffer_;
80 bool muteState_ {
false};
81 unsigned packetLoss_ {10};
82 DeviceParams localAudioParams_;
84 InterruptedThreadLoop rtcpCheckerThread_;
85 void processRtcpChecker();
88 std::chrono::seconds rtcp_checking_interval {4};
90 std::function<
void(
bool)> voiceCallback_;
92 void attachRemoteRecorder(
const MediaStream& ms);
93 void attachLocalRecorder(
const MediaStream& ms);