tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 8410c12bb1b6e4b62bc61dc0a514def1afe605c7
parent 384c97bf1e2e3fc9a6a376c63594a8fb13f9f574
Author: Andreas Pehrson <apehrson@mozilla.com>
Date:   Wed,  3 Dec 2025 19:40:20 +0000

Bug 1995481 - Improve bitrate logging. r=bwc

Differential Revision: https://phabricator.services.mozilla.com/D274918

Diffstat:
Mdom/media/webrtc/libwebrtcglue/VideoConduit.cpp | 8++++++++
Mdom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp | 13+++++++++----
Mdom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp | 2++
3 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp b/dom/media/webrtc/libwebrtcglue/VideoConduit.cpp @@ -960,6 +960,14 @@ void WebrtcVideoConduit::OnControlConfigChange() { mEncoderConfig.number_of_streams, "Each video substream must have a corresponding ssrc."); mEncoderConfig.video_stream_factory = CreateVideoStreamFactory(); + for (const auto& stream : mEncoderConfig.simulcast_layers) { + CSFLogDebug( + LOGTAG, + "%s Reconfigure with simulcast stream maxFps=%d, " + "bitrate=[%dkbps, %dkbps, %dkbps]", + __FUNCTION__, stream.max_framerate, stream.min_bitrate_bps / 1000, + stream.target_bitrate_bps / 1000, stream.max_bitrate_bps / 1000); + } mSendStream->ReconfigureVideoEncoder(mEncoderConfig.Copy()); } if (sendSourceUpdateNeeded && mTrackSource) { diff --git a/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp b/dom/media/webrtc/libwebrtcglue/VideoStreamFactory.cpp @@ -223,15 +223,20 @@ std::vector<webrtc::VideoStream> VideoStreamFactory::CreateEncoderStreams( __FUNCTION__, encoding.rid.c_str()); } - CSFLogInfo(LOGTAG, "%s Stream with RID %s maxFps=%d (global max fps = %u)", - __FUNCTION__, encoding.rid.c_str(), video_stream.max_framerate, - (unsigned)mMaxFramerateForAllStreams); - SelectBitrates({video_stream.width, video_stream.height}, mMinBitrate, mStartBitrate, SaturatingCast<int>(encoding.constraints.maxBr), mPrefMaxBitrate, mNegotiatedMaxBitrate, video_stream); + CSFLogInfo(LOGTAG, + "%s Stream with RID %s maxFps=%d (global max fps = %u), " + "bitrate=[%dkbps, %dkbps, %dkbps]", + __FUNCTION__, encoding.rid.c_str(), video_stream.max_framerate, + (unsigned)mMaxFramerateForAllStreams, + video_stream.min_bitrate_bps / 1000, + video_stream.target_bitrate_bps / 1000, + video_stream.max_bitrate_bps / 1000); + video_stream.bitrate_priority = aConfig.bitrate_priority; video_stream.max_qp = kQpMax; diff --git a/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp b/dom/media/webrtc/libwebrtcglue/WebrtcGmpVideoCodec.cpp @@ -491,6 +491,8 @@ int32_t WebrtcGmpVideoEncoder::SetRates_g(uint32_t aOldBitRateKbps, return WEBRTC_VIDEO_CODEC_ERROR; } + GMP_LOG_DEBUG("GMP Encoder %p setting rate %ukbps", this, aNewBitRateKbps); + mNeedKeyframe |= (aOldBitRateKbps == 0 && aNewBitRateKbps != 0); GMPErr err = mGMP->SetRates(