mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00
m130 merge fixes
This commit is contained in:
parent
9280d4e8f0
commit
72d638d9de
51 changed files with 143 additions and 53 deletions
|
@ -78,7 +78,8 @@ std::unique_ptr<voe::ChannelReceiveInterface> CreateChannelReceive(
|
|||
config.jitter_buffer_max_target_delay_ms,
|
||||
// RingRTC change to configure the RTCP report interval.
|
||||
config.rtcp_report_interval_ms,
|
||||
config.enable_non_sender_rtt, config.decoder_factory, config.codec_pair_id,
|
||||
config.enable_non_sender_rtt,
|
||||
config.decoder_factory, config.codec_pair_id,
|
||||
std::move(config.frame_decryptor), config.crypto_options,
|
||||
std::move(config.frame_transformer));
|
||||
}
|
||||
|
|
|
@ -826,10 +826,11 @@ void AudioSendStream::RemoveBitrateObserver() {
|
|||
std::optional<AudioSendStream::TargetAudioBitrateConstraints>
|
||||
AudioSendStream::GetMinMaxBitrateConstraints() const {
|
||||
if (config_.min_bitrate_bps < 0 || config_.max_bitrate_bps < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Config is invalid: min_bitrate_bps="
|
||||
<< config_.min_bitrate_bps
|
||||
<< "; max_bitrate_bps=" << config_.max_bitrate_bps
|
||||
<< "; both expected greater or equal to 0";
|
||||
<< config_.min_bitrate_bps
|
||||
<< "; max_bitrate_bps=" << config_.max_bitrate_bps
|
||||
<< "; both expected greater or equal to 0";
|
||||
return std::nullopt;
|
||||
}
|
||||
TargetAudioBitrateConstraints constraints{
|
||||
|
|
|
@ -141,6 +141,7 @@ bool ShouldDisableRedAndUlpfec(bool flexfec_enabled,
|
|||
// Note that this is not the case with FlexFEC.
|
||||
if (nack_enabled && IsUlpfecEnabled() &&
|
||||
!PayloadTypeSupportsSkippingFecPackets(rtp_config.payload_name, trials)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Transmitting payload type without picture ID using "
|
||||
"NACK+ULPFEC is a waste of bandwidth since ULPFEC packets "
|
||||
|
@ -150,6 +151,7 @@ bool ShouldDisableRedAndUlpfec(bool flexfec_enabled,
|
|||
|
||||
// Verify payload types.
|
||||
if (IsUlpfecEnabled() ^ IsRedEnabled()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Only RED or only ULPFEC enabled, but not both. Disabling both.";
|
||||
should_disable_red_and_ulpfec = true;
|
||||
|
|
|
@ -487,8 +487,8 @@ class FakeVoiceMediaReceiveChannel
|
|||
std::optional<int> GetBaseMinimumPlayoutDelayMs(uint32_t ssrc) const override;
|
||||
|
||||
// RingRTC change to get audio levels
|
||||
absl::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() override {
|
||||
return absl::nullopt;
|
||||
std::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() override {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
bool GetStats(VoiceMediaReceiveInfo* info,
|
||||
|
|
|
@ -952,7 +952,7 @@ class VoiceMediaReceiveChannelInterface : public MediaReceiveChannelInterface {
|
|||
std::unique_ptr<webrtc::AudioSinkInterface> sink) = 0;
|
||||
|
||||
// RingRTC change to get audio levels
|
||||
virtual absl::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() = 0;
|
||||
virtual std::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() = 0;
|
||||
|
||||
virtual bool GetStats(VoiceMediaReceiveInfo* stats, bool reset_legacy) = 0;
|
||||
virtual void SetReceiveNackEnabled(bool enabled) = 0;
|
||||
|
|
|
@ -59,6 +59,7 @@ void Init(AudioDeviceModule* adm) {
|
|||
RTC_LOG(LS_ERROR) << "Failed to query stereo playout.";
|
||||
}
|
||||
if (adm->SetStereoPlayout(available) != 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed to set stereo playout mode.";
|
||||
}
|
||||
}
|
||||
|
@ -79,6 +80,7 @@ void Init(AudioDeviceModule* adm) {
|
|||
RTC_LOG(LS_ERROR) << "Failed to query stereo recording.";
|
||||
}
|
||||
if (adm->SetStereoRecording(available) != 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed to set stereo recording mode.";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3612,6 +3612,7 @@ void WebRtcVideoReceiveChannel::WebRtcVideoReceiveStream::OnFrame(
|
|||
estimated_remote_start_ntp_time_ms_ = frame.ntp_time_ms() - elapsed_time_ms;
|
||||
|
||||
if (sink_ == NULL) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "VideoReceiveStreamInterface not connected to a VideoSink.";
|
||||
return;
|
||||
|
@ -3912,9 +3913,10 @@ void WebRtcVideoReceiveChannel::ClearRecordableEncodedFrameCallback(
|
|||
if (stream) {
|
||||
stream->ClearRecordableEncodedFrameCallback();
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Absent receive stream; ignoring clearing encoded "
|
||||
"frame sink for ssrc "
|
||||
<< ssrc;
|
||||
"frame sink for ssrc "
|
||||
<< ssrc;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -438,6 +438,8 @@ std::vector<Codec> LegacyCollectCodecs(
|
|||
}
|
||||
|
||||
// Add CN codecs after "proper" audio codecs.
|
||||
// RingRTC change to disable comfort noise codecs.
|
||||
#if 0
|
||||
for (const auto& cn : generate_cn) {
|
||||
if (cn.second) {
|
||||
cricket::Codec cn_codec = CreateAudioCodec({kCnCodecName, cn.first, 1});
|
||||
|
@ -447,8 +449,10 @@ std::vector<Codec> LegacyCollectCodecs(
|
|||
out.push_back(cn_codec);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
// Add telephone-event codecs last.
|
||||
// RingRTC change to disable telephone-event codecs.
|
||||
#if 0
|
||||
for (const auto& dtmf : generate_dtmf) {
|
||||
if (dtmf.second) {
|
||||
cricket::Codec dtmf_codec =
|
||||
|
@ -459,6 +463,7 @@ std::vector<Codec> LegacyCollectCodecs(
|
|||
out.push_back(dtmf_codec);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return out;
|
||||
}
|
||||
|
||||
|
@ -2519,6 +2524,7 @@ bool WebRtcVoiceReceiveChannel::SetOutputVolume(uint32_t ssrc, double volume) {
|
|||
__func__, ssrc, volume);
|
||||
const auto it = recv_streams_.find(ssrc);
|
||||
if (it == recv_streams_.end()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << rtc::StringFormat(
|
||||
"WRVMC::%s => (WARNING: no receive stream for SSRC %u)", __func__,
|
||||
ssrc);
|
||||
|
@ -2875,13 +2881,13 @@ bool WebRtcVoiceReceiveChannel::MaybeDeregisterUnsignaledRecvStream(
|
|||
}
|
||||
|
||||
// RingRTC change to get audio levels
|
||||
absl::optional<cricket::ReceivedAudioLevel> WebRtcVoiceReceiveChannel::GetReceivedAudioLevel() {
|
||||
std::optional<cricket::ReceivedAudioLevel> WebRtcVoiceReceiveChannel::GetReceivedAudioLevel() {
|
||||
RTC_DCHECK_RUN_ON(worker_thread_);
|
||||
if (recv_streams_.empty()) {
|
||||
RTC_LOG(LS_WARNING)
|
||||
<< "Attempting to GetReceivedAudioLevel for channel with no receiving streams."
|
||||
<< " mid_=" << mid_;
|
||||
return absl::nullopt;
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
auto kv = recv_streams_.begin();
|
||||
|
|
|
@ -432,7 +432,7 @@ class WebRtcVoiceReceiveChannel final
|
|||
void SetReceiveNonSenderRttEnabled(bool enabled) override;
|
||||
|
||||
// RingRTC change to get audio levels
|
||||
absl::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() override;
|
||||
std::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel() override;
|
||||
|
||||
private:
|
||||
bool SetOptions(const AudioOptions& options);
|
||||
|
|
|
@ -396,6 +396,7 @@ int16_t WebRtcOpus_SetForceChannels(OpusEncInst* inst, size_t num_channels) {
|
|||
}
|
||||
}
|
||||
|
||||
// RingRTC change to detect if an encoded packet contains speech or not.
|
||||
int32_t WebRtcOpus_GetInDtx(OpusEncInst* inst) {
|
||||
if (!inst) {
|
||||
return -1;
|
||||
|
|
|
@ -320,6 +320,21 @@ int32_t WebRtcOpus_GetBandwidth(OpusEncInst* inst);
|
|||
*/
|
||||
int16_t WebRtcOpus_SetBandwidth(OpusEncInst* inst, int32_t bandwidth);
|
||||
|
||||
// RingRTC change to detect if an encoded packet contains speech or not.
|
||||
/*
|
||||
* WebRtcOpus_GetInDtx(...)
|
||||
*
|
||||
* Gets the DTX state of the encoder.
|
||||
*
|
||||
* Input:
|
||||
* - inst : Encoder context
|
||||
*
|
||||
* Return value : -1 - Error.
|
||||
* 1 - Last encoded frame was comfort noise update during DTX.
|
||||
* 0 - Last encoded frame was encoded with encoder not in DTX.
|
||||
*/
|
||||
int32_t WebRtcOpus_GetInDtx(OpusEncInst* inst);
|
||||
|
||||
/*
|
||||
* WebRtcOpus_SetForceChannels(...)
|
||||
*
|
||||
|
|
|
@ -542,8 +542,9 @@ AudioDeviceWindowsCore::~AudioDeviceWindowsCore() {
|
|||
<< "AudioDeviceWindowsCore::~AudioDeviceWindowsCore()"
|
||||
" failed to free the loaded Avrt DLL module correctly";
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "AudioDeviceWindowsCore::~AudioDeviceWindowsCore()"
|
||||
" the Avrt DLL module is now unloaded";
|
||||
" the Avrt DLL module is now unloaded";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1011,6 +1011,7 @@ HRESULT GetSharedModeMixFormat(IAudioClient* client,
|
|||
// Verify that the reported format can be mixed by the audio engine in
|
||||
// shared mode.
|
||||
if (!wrapped_format.IsPcm() && !wrapped_format.IsFloat()) {
|
||||
// RingRTC change to pass the mix_format for multi-channel.
|
||||
RTC_LOG(LS_ERROR)
|
||||
<< "Only pure PCM or float audio streams can be mixed in shared mode";
|
||||
return AUDCLNT_E_UNSUPPORTED_FORMAT;
|
||||
|
@ -1019,6 +1020,7 @@ HRESULT GetSharedModeMixFormat(IAudioClient* client,
|
|||
// Log a warning for the rare case where `mix_format` only contains a
|
||||
// stand-alone WAVEFORMATEX structure but don't return.
|
||||
if (!wrapped_format.IsExtensible()) {
|
||||
// RingRTC change to pass the mix_format for multi-channel.
|
||||
RTC_LOG(LS_WARNING)
|
||||
<< "The returned format contains no extended information. "
|
||||
"The size is "
|
||||
|
@ -1056,6 +1058,7 @@ bool IsFormatSupported(IAudioClient* client,
|
|||
} else if ((error.Error() == S_FALSE) && (closest_match != nullptr)) {
|
||||
// Call succeeded with a closest match to the specified format. This log can
|
||||
// only be triggered for shared mode.
|
||||
// RingRTC change to pass the mix_format for multi-channel.
|
||||
RTC_LOG(LS_WARNING) << "No exact match, closest: "
|
||||
<< WaveFormatToString(closest_match.Get());
|
||||
} else if ((error.Error() == AUDCLNT_E_UNSUPPORTED_FORMAT) &&
|
||||
|
|
|
@ -95,6 +95,7 @@ InputVolumeStatsReporter::InputVolumeStatsReporter(InputVolumeType type)
|
|||
.update_average = CreateAverageHistogram(type, "UpdateAverage")}),
|
||||
cannot_log_stats_(!histograms_.AllPointersSet()) {
|
||||
if (cannot_log_stats_) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Will not log any `" << MetricNamePrefix(type)
|
||||
<< "*` histogram stats.";
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
#include <list>
|
||||
#include <memory>
|
||||
#include <optional>
|
||||
// RingRTC change to make it possible to share an APM.
|
||||
#include <set>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
|
|
@ -359,6 +359,7 @@ void GoogCcNetworkController::ClampConstraints() {
|
|||
min_data_rate_ = std::max(min_data_rate_, min_total_allocated_bitrate_);
|
||||
}
|
||||
if (max_data_rate_ < min_data_rate_) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "max bitrate smaller than min bitrate";
|
||||
max_data_rate_ = min_data_rate_;
|
||||
}
|
||||
|
|
|
@ -254,6 +254,7 @@ TransportFeedbackAdapter::ProcessTransportFeedbackInner(
|
|||
});
|
||||
|
||||
if (failed_lookups > 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Failed to lookup send time for " << failed_lookups << " packet"
|
||||
<< (failed_lookups > 1 ? "s" : "")
|
||||
|
|
|
@ -310,6 +310,7 @@ TimeDelta PacingController::UpdateTimeAndGetElapsed(Timestamp now) {
|
|||
TimeDelta elapsed_time = now - last_process_time_;
|
||||
last_process_time_ = now;
|
||||
if (elapsed_time > kMaxElapsedTime) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Elapsed time (" << ToLogString(elapsed_time)
|
||||
<< ") longer than expected, limiting to "
|
||||
<< ToLogString(kMaxElapsedTime);
|
||||
|
|
|
@ -171,6 +171,7 @@ void PacketRouter::SendPacket(std::unique_ptr<RtpPacketToSend> packet,
|
|||
uint32_t ssrc = packet->Ssrc();
|
||||
auto it = send_modules_map_.find(ssrc);
|
||||
if (it == send_modules_map_.end()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Failed to send packet, matching RTP module not found "
|
||||
"or transport error. SSRC = "
|
||||
|
|
|
@ -342,10 +342,12 @@ std::optional<TimeDelta> RTCPReceiver::OnPeriodicRttUpdate(Timestamp newer_than,
|
|||
// Check for expired timers and if so, log and reset.
|
||||
Timestamp now = env_.clock().CurrentTime();
|
||||
if (RtcpRrTimeoutLocked(now)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG_F(LS_INFO) << "Timeout: No RTCP RR received.";
|
||||
} else if (RtcpRrSequenceNumberTimeoutLocked(now)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG_F(LS_INFO) << "Timeout: No increase in RTCP RR extended "
|
||||
"highest sequence number.";
|
||||
"highest sequence number.";
|
||||
}
|
||||
} else {
|
||||
// Report rtt from receiver.
|
||||
|
|
|
@ -365,8 +365,9 @@ void RTPSender::OnReceivedNack(
|
|||
const int32_t bytes_sent = ReSendPacket(seq_no);
|
||||
if (bytes_sent < 0) {
|
||||
// Failed to send one Sequence number. Give up the rest in this nack.
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed resending RTP packet " << seq_no
|
||||
<< ", Discard rest of packets.";
|
||||
<< ", Discard rest of packets.";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -711,6 +711,7 @@ bool RTPSenderVideo::SendVideo(int payload_type,
|
|||
|
||||
if (first_frame) {
|
||||
if (i == 0) {
|
||||
// RingRTC change to log more information around video capture
|
||||
RTC_LOG(LS_WARNING)
|
||||
<< "Sent first RTP packet of the first video frame for the stream (pre-pacer): ssrc=" << ssrc << ", initial resolution=" << video_header.width << "x" << video_header.height;
|
||||
}
|
||||
|
|
|
@ -271,8 +271,9 @@ std::vector<uint16_t> NackRequester::GetNackBatch(NackFilterOptions options) {
|
|||
++it->second.retries;
|
||||
it->second.sent_at_time = now;
|
||||
if (it->second.retries >= kMaxNackRetries) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Sequence number " << it->second.seq_num
|
||||
<< " removed from NACK list due to max retries.";
|
||||
<< " removed from NACK list due to max retries.";
|
||||
it = nack_list_.erase(it);
|
||||
} else {
|
||||
++it;
|
||||
|
|
|
@ -168,11 +168,12 @@ RtpVp8RefFinder::FrameDecision RtpVp8RefFinder::ManageFrameInternal(
|
|||
|
||||
if (!(AheadOf<uint16_t, kFrameIdLength>(frame->Id(),
|
||||
layer_info_it->second[layer]))) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Frame with picture id " << frame->Id()
|
||||
<< " and packet range [" << frame->first_seq_num()
|
||||
<< ", " << frame->last_seq_num()
|
||||
<< "] already received, "
|
||||
" dropping frame.";
|
||||
<< " and packet range [" << frame->first_seq_num()
|
||||
<< ", " << frame->last_seq_num()
|
||||
<< "] already received, "
|
||||
" dropping frame.";
|
||||
return kDrop;
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateUdpSocket(
|
|||
return NULL;
|
||||
}
|
||||
if (BindSocket(socket, address, min_port, max_port) < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "UDP bind failed with error " << socket->GetError();
|
||||
delete socket;
|
||||
return NULL;
|
||||
|
@ -73,6 +74,7 @@ AsyncListenSocket* BasicPacketSocketFactory::CreateServerTcpSocket(
|
|||
}
|
||||
|
||||
if (BindSocket(socket, local_address, min_port, max_port) < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "TCP bind failed with error " << socket->GetError();
|
||||
delete socket;
|
||||
return NULL;
|
||||
|
@ -98,9 +100,11 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket(
|
|||
// is mostly redundant in the first place. The socket will be bound when we
|
||||
// call Connect() instead.
|
||||
if (local_address.IsAnyIP()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "TCP bind failed with error " << socket->GetError()
|
||||
<< "; ignoring since socket is using 'any' address.";
|
||||
<< "; ignoring since socket is using 'any' address.";
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "TCP bind failed with error " << socket->GetError();
|
||||
delete socket;
|
||||
return NULL;
|
||||
|
@ -152,6 +156,7 @@ AsyncPacketSocket* BasicPacketSocketFactory::CreateClientTcpSocket(
|
|||
}
|
||||
|
||||
if (socket->Connect(remote_address) < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "TCP connect failed with error " << socket->GetError();
|
||||
delete socket;
|
||||
return NULL;
|
||||
|
|
|
@ -439,6 +439,7 @@ void Connection::OnSendStunPacket(const void* data,
|
|||
auto err =
|
||||
port_->SendTo(data, size, remote_candidate_.address(), options, false);
|
||||
if (err < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString()
|
||||
<< ": Failed to send STUN ping "
|
||||
" err="
|
||||
|
@ -777,6 +778,7 @@ void Connection::SendResponseMessage(const StunMessage& response) {
|
|||
rtc::PacketType::kIceConnectivityCheckResponse;
|
||||
auto err = port_->SendTo(buf.Data(), buf.Length(), addr, options, false);
|
||||
if (err < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": Failed to send "
|
||||
<< StunMethodToString(response.type())
|
||||
<< ", to=" << addr.ToSensitiveString() << ", err=" << err
|
||||
|
@ -1655,6 +1657,7 @@ void Connection::MaybeUpdateLocalCandidate(StunRequest* request,
|
|||
const StunAddressAttribute* addr =
|
||||
response->GetAddress(STUN_ATTR_XOR_MAPPED_ADDRESS);
|
||||
if (!addr) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Connection::OnConnectionRequestResponse - "
|
||||
"No MAPPED-ADDRESS or XOR-MAPPED-ADDRESS found in the "
|
||||
|
|
|
@ -1364,6 +1364,7 @@ void P2PTransportChannel::AddRemoteCandidate(const Candidate& candidate) {
|
|||
} else {
|
||||
// The candidate belongs to the next generation. Its pwd will be set
|
||||
// when the new remote ICE credentials arrive.
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "A remote candidate arrives with an unknown ufrag: "
|
||||
<< candidate.username();
|
||||
|
|
|
@ -98,6 +98,7 @@ class StunBindingRequest : public StunRequest {
|
|||
}
|
||||
}
|
||||
void OnTimeout() override {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Binding request timed out from "
|
||||
<< port_->GetLocalAddress().ToSensitiveString() << " ("
|
||||
<< port_->Network()->name() << ")";
|
||||
|
@ -201,6 +202,7 @@ bool UDPPort::Init() {
|
|||
socket_ = socket_factory()->CreateUdpSocket(
|
||||
rtc::SocketAddress(Network()->GetBestIP(), 0), min_port(), max_port());
|
||||
if (!socket_) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": UDP socket creation failed";
|
||||
return false;
|
||||
}
|
||||
|
@ -290,6 +292,7 @@ int UDPPort::SendTo(const void* data,
|
|||
// TODO(webrtc:9622): Use general rate limiting mechanism once it exists.
|
||||
if (send_error_count_ < kSendErrorLogLimit) {
|
||||
++send_error_count_;
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": UDP send of " << size
|
||||
<< " bytes to host "
|
||||
<< addr.ToSensitiveNameAndAddressString()
|
||||
|
@ -439,6 +442,7 @@ void UDPPort::OnResolveResult(const rtc::SocketAddress& input, int error) {
|
|||
rtc::SocketAddress resolved;
|
||||
if (error != 0 || !resolver_->GetResolvedAddress(
|
||||
input, Network()->GetBestIP().family(), &resolved)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString()
|
||||
<< ": StunPort: stun host lookup received error "
|
||||
<< error;
|
||||
|
@ -590,6 +594,7 @@ void UDPPort::OnSendPacket(const void* data, size_t size, StunRequest* req) {
|
|||
options.info_signaled_after_sent.packet_type = rtc::PacketType::kStunMessage;
|
||||
CopyPortInformationToPacketInfo(&options.info_signaled_after_sent);
|
||||
if (socket_->SendTo(data, size, sreq->server_addr(), options) < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG_ERR_EX(LS_INFO, socket_->GetError())
|
||||
<< "UDP send of " << size << " bytes to host "
|
||||
<< sreq->server_addr().ToSensitiveNameAndAddressString()
|
||||
|
|
|
@ -436,6 +436,7 @@ void TurnPort::PrepareAddress() {
|
|||
<< ProtoToString(server_address_.proto) << " @ "
|
||||
<< server_address_.address.ToSensitiveNameAndAddressString();
|
||||
if (!CreateTurnClientSocket()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString()
|
||||
<< ": Failed to create TURN client socket";
|
||||
OnAllocateError(STUN_ERROR_SERVER_NOT_REACHABLE,
|
||||
|
@ -544,12 +545,14 @@ void TurnPort::OnSocketConnect(rtc::AsyncPacketSocket* socket) {
|
|||
return socket_address.ipaddr() == addr;
|
||||
})) {
|
||||
if (socket->GetLocalAddress().IsLoopbackIP()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": Socket is bound to the address:"
|
||||
<< socket_address.ToSensitiveNameAndAddressString()
|
||||
<< ", rather than an address associated with network:"
|
||||
<< Network()->ToString()
|
||||
<< ". Still allowing it since it's localhost.";
|
||||
} else if (IPIsAny(Network()->GetBestIP())) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< ToString() << ": Socket is bound to the address:"
|
||||
<< socket_address.ToSensitiveNameAndAddressString()
|
||||
|
@ -558,6 +561,7 @@ void TurnPort::OnSocketConnect(rtc::AsyncPacketSocket* socket) {
|
|||
<< ". Still allowing it since it's the 'any' address"
|
||||
", possibly caused by multiple_routes being disabled.";
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": Socket is bound to the address:"
|
||||
<< socket_address.ToSensitiveNameAndAddressString()
|
||||
<< ", rather than an address associated with network:"
|
||||
|
@ -581,6 +585,7 @@ void TurnPort::OnSocketConnect(rtc::AsyncPacketSocket* socket) {
|
|||
}
|
||||
|
||||
void TurnPort::OnSocketClose(rtc::AsyncPacketSocket* socket, int error) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString()
|
||||
<< ": Connection with server failed with error: "
|
||||
<< error;
|
||||
|
@ -898,6 +903,7 @@ void TurnPort::ResolveTurnAddress(const rtc::SocketAddress& address) {
|
|||
if (result.GetError() != 0 ||
|
||||
!result.GetResolvedAddress(Network()->GetBestIP().family(),
|
||||
&resolved_address)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": TURN host lookup received error "
|
||||
<< result.GetError();
|
||||
error_ = result.GetError();
|
||||
|
@ -919,6 +925,7 @@ void TurnPort::OnSendStunPacket(const void* data,
|
|||
options.info_signaled_after_sent.packet_type = rtc::PacketType::kTurnMessage;
|
||||
CopyPortInformationToPacketInfo(&options.info_signaled_after_sent);
|
||||
if (Send(data, size, options) < 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << ToString() << ": Failed to send TURN message, error: "
|
||||
<< socket_->GetError();
|
||||
}
|
||||
|
@ -1479,6 +1486,7 @@ void TurnAllocateRequest::OnErrorResponse(StunMessage* response) {
|
|||
}
|
||||
|
||||
void TurnAllocateRequest::OnTimeout() {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << port_->ToString() << ": TURN allocate request "
|
||||
<< rtc::hex_encode(id()) << " timeout";
|
||||
port_->OnAllocateRequestTimeout();
|
||||
|
@ -1647,6 +1655,7 @@ void TurnRefreshRequest::OnErrorResponse(StunMessage* response) {
|
|||
}
|
||||
|
||||
void TurnRefreshRequest::OnTimeout() {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << port_->ToString() << ": TURN refresh timeout "
|
||||
<< rtc::hex_encode(id());
|
||||
port_->OnRefreshError();
|
||||
|
@ -1704,6 +1713,7 @@ void TurnCreatePermissionRequest::OnResponse(StunMessage* response) {
|
|||
|
||||
void TurnCreatePermissionRequest::OnErrorResponse(StunMessage* response) {
|
||||
int error_code = response->GetErrorCodeValue();
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << port_->ToString()
|
||||
<< ": Received TURN create permission error response, id="
|
||||
<< rtc::hex_encode(id()) << ", code=" << error_code
|
||||
|
@ -1906,6 +1916,7 @@ void TurnEntry::OnCreatePermissionError(StunMessage* response, int code) {
|
|||
} else {
|
||||
bool found = port_->FailAndPruneConnection(ext_addr_);
|
||||
if (found) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Received TURN CreatePermission error response, "
|
||||
"code="
|
||||
<< code << "; pruned connection.";
|
||||
|
|
|
@ -1032,6 +1032,7 @@ void BasicPortAllocatorSession::OnCandidateReady(Port* port,
|
|||
// Discarding any candidate signal if port allocation status is
|
||||
// already done with gathering.
|
||||
if (!data->inprogress()) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Discarding candidate because port is already done gathering.";
|
||||
return;
|
||||
|
|
|
@ -983,7 +983,7 @@ void VoiceChannel::GetCapturedAudioLevel(cricket::AudioLevel* captured_out) {
|
|||
}
|
||||
|
||||
// RingRTC change to get audio levels
|
||||
absl::optional<cricket::ReceivedAudioLevel> VoiceChannel::GetReceivedAudioLevel() {
|
||||
std::optional<cricket::ReceivedAudioLevel> VoiceChannel::GetReceivedAudioLevel() {
|
||||
RTC_DCHECK_RUN_ON(worker_thread());
|
||||
return voice_media_receive_channel()->GetReceivedAudioLevel();
|
||||
}
|
||||
|
|
|
@ -418,7 +418,7 @@ class VoiceChannel : public BaseChannel {
|
|||
|
||||
// RingRTC change to get audio levels
|
||||
void GetCapturedAudioLevel(cricket::AudioLevel* captured_out);
|
||||
absl::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel();
|
||||
std::optional<cricket::ReceivedAudioLevel> GetReceivedAudioLevel();
|
||||
|
||||
private:
|
||||
// overrides from BaseChannel
|
||||
|
|
|
@ -823,6 +823,7 @@ void VideoRtpSender::AttachTrack() {
|
|||
|
||||
rtc::scoped_refptr<DtmfSenderInterface> VideoRtpSender::GetDtmfSender() const {
|
||||
RTC_DCHECK_RUN_ON(signaling_thread_);
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Tried to get DTMF sender from video sender.";
|
||||
return nullptr;
|
||||
}
|
||||
|
|
|
@ -154,6 +154,7 @@ bool RtpTransport::SendPacket(bool rtcp,
|
|||
// TODO: webrtc:361124449 - Remove SetReadyToSend if field trial
|
||||
// WebRTC-SetReadyToSendFalseIfSendFail succeed 2024-12-01.
|
||||
if (transport->GetError() == ENOTCONN) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Got ENOTCONN from transport.";
|
||||
SetReadyToSend(rtcp, false);
|
||||
}
|
||||
|
@ -204,6 +205,7 @@ void RtpTransport::DemuxPacket(rtc::CopyOnWriteBuffer packet,
|
|||
}
|
||||
|
||||
if (!rtp_demuxer_.OnRtpPacket(parsed_packet)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed to demux RTP packet: "
|
||||
<< RtpDemuxer::DescribePacket(parsed_packet);
|
||||
NotifyUnDemuxableRtpPacketReceived(parsed_packet);
|
||||
|
|
|
@ -124,8 +124,8 @@ class MediaContentDescription {
|
|||
}
|
||||
|
||||
// RingRTC: Allow out-of-band / "manual" key negotiation.
|
||||
const absl::optional<CryptoParams>& crypto() const { return crypto_; }
|
||||
void set_crypto(const absl::optional<CryptoParams>& crypto) {
|
||||
const std::optional<CryptoParams>& crypto() const { return crypto_; }
|
||||
void set_crypto(const std::optional<CryptoParams>& crypto) {
|
||||
crypto_ = crypto;
|
||||
}
|
||||
void set_manually_specify_keys(bool b) { manually_specify_keys_ = b;}
|
||||
|
@ -271,7 +271,7 @@ class MediaContentDescription {
|
|||
std::string bandwidth_type_ = kApplicationSpecificBandwidth;
|
||||
|
||||
// RingRTC: Allow out-of-band / "manual" key negotiation.
|
||||
absl::optional<CryptoParams> crypto_;
|
||||
std::optional<CryptoParams> crypto_;
|
||||
bool manually_specify_keys_ = false;
|
||||
std::vector<webrtc::RtpExtension> rtp_header_extensions_;
|
||||
bool rtp_header_extensions_set_ = false;
|
||||
|
|
|
@ -135,11 +135,12 @@ void SrtpTransport::OnRtpPacketReceived(const rtc::ReceivedPacket& packet) {
|
|||
// bad packets.
|
||||
const int kFailureLogThrottleCount = 100;
|
||||
if (decryption_failure_count_ % kFailureLogThrottleCount == 0) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed to unprotect RTP packet: size=" << len
|
||||
<< ", seqnum=" << ParseRtpSequenceNumber(payload)
|
||||
<< ", SSRC=" << ParseRtpSsrc(payload)
|
||||
<< ", previous failure count: "
|
||||
<< decryption_failure_count_;
|
||||
<< ", seqnum=" << ParseRtpSequenceNumber(payload)
|
||||
<< ", SSRC=" << ParseRtpSsrc(payload)
|
||||
<< ", previous failure count: "
|
||||
<< decryption_failure_count_;
|
||||
}
|
||||
++decryption_failure_count_;
|
||||
return;
|
||||
|
@ -163,8 +164,9 @@ void SrtpTransport::OnRtcpPacketReceived(const rtc::ReceivedPacket& packet) {
|
|||
if (!UnprotectRtcp(data, len, &len)) {
|
||||
int type = -1;
|
||||
cricket::GetRtcpType(data, len, &type);
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Failed to unprotect RTCP packet: size=" << len
|
||||
<< ", type=" << type;
|
||||
<< ", type=" << type;
|
||||
return;
|
||||
}
|
||||
payload.SetSize(len);
|
||||
|
|
|
@ -64,7 +64,7 @@ class MockVoiceMediaReceiveChannelInterface
|
|||
(std::unique_ptr<webrtc::AudioSinkInterface> sink),
|
||||
(override));
|
||||
// RingRTC change to get audio levels
|
||||
MOCK_METHOD(absl::optional<cricket::ReceivedAudioLevel>,
|
||||
MOCK_METHOD(std::optional<cricket::ReceivedAudioLevel>,
|
||||
GetReceivedAudioLevel,
|
||||
(),
|
||||
(override));
|
||||
|
|
|
@ -38,7 +38,7 @@ class VideoSource : public rtc::AdaptedVideoTrackSource {
|
|||
|
||||
bool is_screencast() const override;
|
||||
|
||||
absl::optional<bool> needs_denoising() const override;
|
||||
std::optional<bool> needs_denoising() const override;
|
||||
};
|
||||
|
||||
} // namespace rffi
|
||||
|
|
|
@ -53,7 +53,7 @@ class RingRTCAudioDeviceModule : public AudioDeviceModule {
|
|||
uint32_t current_mic_level,
|
||||
bool key_pressed,
|
||||
uint32_t& new_mic_level,
|
||||
absl::optional<int64_t> estimated_capture_time_ns);
|
||||
std::optional<int64_t> estimated_capture_time_ns);
|
||||
|
||||
// RingRTC function that forwards to the underlying `callback_` to receive
|
||||
// output data, if a callback has been specified.
|
||||
|
@ -161,7 +161,7 @@ class RingRTCAudioDeviceModule : public AudioDeviceModule {
|
|||
|
||||
// Used to generate RTC stats. If not implemented, RTCAudioPlayoutStats will
|
||||
// not be present in the stats.
|
||||
absl::optional<Stats> GetStats() const override { return absl::nullopt; }
|
||||
std::optional<Stats> GetStats() const override { return std::nullopt; }
|
||||
|
||||
// Only supported on iOS.
|
||||
#if defined(WEBRTC_IOS)
|
||||
|
|
|
@ -58,7 +58,7 @@ void VideoSource::OnOutputFormatRequest(int width, int height, int fps) {
|
|||
if (width > 0 && height > 0 && fps > 0) {
|
||||
video_adapter()->OnOutputFormatRequest(std::make_pair(width, height), width * height, fps);
|
||||
} else {
|
||||
video_adapter()->OnOutputFormatRequest(absl::nullopt, absl::nullopt, absl::nullopt);
|
||||
video_adapter()->OnOutputFormatRequest(std::nullopt, std::nullopt, std::nullopt);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,8 +74,8 @@ bool VideoSource::is_screencast() const {
|
|||
return false;
|
||||
}
|
||||
|
||||
absl::optional<bool> VideoSource::needs_denoising() const {
|
||||
return absl::nullopt;
|
||||
std::optional<bool> VideoSource::needs_denoising() const {
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
RUSTEXPORT void Rust_setAudioTrackEnabled(
|
||||
|
|
|
@ -56,7 +56,7 @@ class RingRTCVideoEncoderFactory : public VideoEncoderFactory {
|
|||
const SdpVideoFormat& format) override {
|
||||
if (format.IsCodecInList(
|
||||
factory_.GetSupportedFormats())) {
|
||||
if (absl::optional<SdpVideoFormat> original_format =
|
||||
if (std::optional<SdpVideoFormat> original_format =
|
||||
FuzzyMatchSdpVideoFormat(factory_.GetSupportedFormats(),
|
||||
format)) {
|
||||
// Create a simulcast enabled encoder
|
||||
|
@ -71,7 +71,7 @@ class RingRTCVideoEncoderFactory : public VideoEncoderFactory {
|
|||
|
||||
CodecSupport QueryCodecSupport(
|
||||
const SdpVideoFormat& format,
|
||||
absl::optional<std::string> scalability_mode) const override {
|
||||
std::optional<std::string> scalability_mode) const override {
|
||||
auto original_format =
|
||||
FuzzyMatchSdpVideoFormat(factory_.GetSupportedFormats(), format);
|
||||
return original_format
|
||||
|
|
|
@ -195,8 +195,9 @@ SocketAddress PhysicalSocket::GetLocalAddress() const {
|
|||
if (result >= 0) {
|
||||
SocketAddressFromSockAddrStorage(addr_storage, &address);
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "GetLocalAddress: unable to get local addr, socket="
|
||||
<< s_;
|
||||
<< s_;
|
||||
}
|
||||
return address;
|
||||
}
|
||||
|
@ -210,6 +211,7 @@ SocketAddress PhysicalSocket::GetRemoteAddress() const {
|
|||
if (result >= 0) {
|
||||
SocketAddressFromSockAddrStorage(addr_storage, &address);
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "GetRemoteAddress: unable to get remote addr, socket=" << s_;
|
||||
}
|
||||
|
@ -239,8 +241,9 @@ int PhysicalSocket::Bind(const SocketAddress& bind_addr) {
|
|||
RTC_LOG(LS_VERBOSE) << "Binding socket to loopback address"
|
||||
<< " failed; result: " << static_cast<int>(result);
|
||||
} else {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Binding socket to network address"
|
||||
<< " failed; result: " << static_cast<int>(result);
|
||||
<< " failed; result: " << static_cast<int>(result);
|
||||
// If a network binding was attempted and failed, we should stop here
|
||||
// and not try to use the socket. Otherwise, we may end up sending
|
||||
// packets with an invalid source address.
|
||||
|
@ -728,6 +731,7 @@ int PhysicalSocket::TranslateOption(Option opt, int* slevel, int* sopt) {
|
|||
}
|
||||
break;
|
||||
#else
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Socket::OPT_DSCP not supported.";
|
||||
return -1;
|
||||
#endif
|
||||
|
|
|
@ -402,9 +402,10 @@ rtc::NetworkBindingResult AndroidNetworkMonitor::BindSocketToNetwork(
|
|||
return rtc::NetworkBindingResult::SUCCESS;
|
||||
}
|
||||
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "BindSocketToNetwork got error: " << rv
|
||||
<< " addr: " << address.ToSensitiveString()
|
||||
<< " ifname: " << if_name;
|
||||
<< " addr: " << address.ToSensitiveString()
|
||||
<< " ifname: " << if_name;
|
||||
if (rv == ENONET) {
|
||||
return rtc::NetworkBindingResult::NETWORK_CHANGED;
|
||||
}
|
||||
|
|
|
@ -1014,9 +1014,9 @@ class AndroidAudioDeviceModuleOboe : public AudioDeviceModule {
|
|||
}
|
||||
|
||||
// Used to generate RTC stats.
|
||||
absl::optional<Stats> GetStats() const override {
|
||||
std::optional<Stats> GetStats() const override {
|
||||
// Returning nullopt because stats are not supported in this implementation.
|
||||
return absl::nullopt;
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
private:
|
||||
|
|
|
@ -419,8 +419,8 @@ void PeerConnectionDelegateAdapter::OnRemoveTrack(
|
|||
if (!config) {
|
||||
return nil;
|
||||
}
|
||||
|
||||
if (self = [super init]) {
|
||||
self = [super init];
|
||||
if (self) {
|
||||
_nativeConstraints = constraints.nativeConstraints;
|
||||
CopyConstraintsIntoRtcConfiguration(_nativeConstraints.get(), config.get());
|
||||
// RingRTC changes for low-level FFI
|
||||
|
|
|
@ -330,6 +330,7 @@ AudioDeviceModuleIOS::AudioDeviceModuleIOS(bool bypass_voice_processing,
|
|||
return -1;
|
||||
}
|
||||
if (audio_device_->SetStereoPlayout(enable)) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "stereo playout is not supported";
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -299,8 +299,9 @@ bool VoiceProcessingAudioUnit::Initialize(Float64 sample_rate) {
|
|||
UInt32 agc_is_enabled = 0;
|
||||
result = GetAGCState(vpio_unit_, &agc_is_enabled);
|
||||
if (result != noErr) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTCLogInfo(@"Failed to get AGC state (1st attempt). "
|
||||
"Error=%ld.",
|
||||
"Error=%ld.",
|
||||
(long)result);
|
||||
// Example of error code: kAudioUnitErr_NoConnection (-10876).
|
||||
// All error codes related to audio units are negative and are therefore
|
||||
|
|
|
@ -41,6 +41,7 @@ void BufferedFrameDecryptor::ManageEncryptedFrame(
|
|||
switch (DecryptFrame(encrypted_frame.get())) {
|
||||
case FrameDecision::kStash:
|
||||
if (stashed_frames_.size() >= kMaxStashedFrames) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Encrypted frame stash full poping oldest item.";
|
||||
stashed_frames_.pop_front();
|
||||
}
|
||||
|
|
|
@ -377,6 +377,7 @@ size_t LimitSimulcastLayerCount(size_t min_num_layers,
|
|||
/*enable_lowres_bitrate_interpolation=*/false, codec)
|
||||
.max_layers);
|
||||
if (max_num_layers > reduced_num_layers) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Reducing simulcast layer count from "
|
||||
<< max_num_layers << " to " << reduced_num_layers;
|
||||
return reduced_num_layers;
|
||||
|
|
|
@ -55,8 +55,9 @@ int32_t VideoRenderFrames::AddFrame(VideoFrame&& new_frame) {
|
|||
// really slow system never renders any frames.
|
||||
if (!incoming_frames_.empty() &&
|
||||
new_frame.render_time_ms() + kOldRenderTimestampMS < time_now) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Too old frame, timestamp="
|
||||
<< new_frame.rtp_timestamp();
|
||||
<< new_frame.rtp_timestamp();
|
||||
++frames_dropped_;
|
||||
return -1;
|
||||
}
|
||||
|
@ -69,9 +70,10 @@ int32_t VideoRenderFrames::AddFrame(VideoFrame&& new_frame) {
|
|||
}
|
||||
|
||||
if (new_frame.render_time_ms() < last_render_time_ms_) {
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "Frame scheduled out of order, render_time="
|
||||
<< new_frame.render_time_ms()
|
||||
<< ", latest=" << last_render_time_ms_;
|
||||
<< new_frame.render_time_ms()
|
||||
<< ", latest=" << last_render_time_ms_;
|
||||
// For more details, see bug:
|
||||
// https://bugs.chromium.org/p/webrtc/issues/detail?id=7253
|
||||
++frames_dropped_;
|
||||
|
|
|
@ -828,6 +828,7 @@ void VideoReceiveStream2::OnDecodableFrameTimeout(TimeDelta wait) {
|
|||
rtp_video_stream_receiver_.IsDecryptable())) {
|
||||
std::optional<uint32_t> last_timestamp =
|
||||
rtp_video_stream_receiver_.LastReceivedFrameRtpTimestamp();
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO) << "No decodable frame in " << wait
|
||||
<< " requesting keyframe. Last RTP timestamp "
|
||||
<< (last_timestamp ? rtc::ToString(*last_timestamp)
|
||||
|
@ -922,6 +923,7 @@ int VideoReceiveStream2::DecodeAndMaybeDispatchEncodedFrame(
|
|||
if (decode_result < WEBRTC_VIDEO_CODEC_OK) {
|
||||
// Asynchronous decoders may delay error reporting, potentially resulting in
|
||||
// error reports reflecting issues that occurred several frames back.
|
||||
// RingRTC change to reduce log noise.
|
||||
RTC_LOG(LS_INFO)
|
||||
<< "Failed to decode frame. Return code: " << decode_result
|
||||
<< ", SSRC: " << remote_ssrc()
|
||||
|
|
Loading…
Reference in a new issue