在代码中我看到
switch (rtcParameters.degradation_preference) {
case webrtc::DegradationPreference::MAINTAIN_FRAMERATE:
parameters.degradationPreference = RTCRtpParameters::DegradationPreference::MaintainFramerate;
break;
case webrtc::DegradationPreference::MAINTAIN_RESOLUTION:
parameters.degradationPreference = RTCRtpParameters::DegradationPreference::MaintainResolution;
break;
case webrtc::DegradationPreference::BALANCED:
parameters.degradationPreference = RTCRtpParameters::DegradationPreference::Balanced;
break;
};
选择
BALANCED
选项时,内部行为是什么?
我翻阅了开源文档并搜索了网络,但没有找到相关信息。如果有人能指出我正确的地方,我将不胜感激。
使用包含原始源的 Chromiums 代码搜索比 Apple 的副本更有帮助:https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/api/rtp_parameters.h;l= 88;drc=d31d2d07343b6515b61bb4b7f7c4ce32bd7e38d4 它是两个选项的混合,保持帧速率或分辨率。
具体实现可以看这里