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:
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(