libwebrtc的DegradationPreference::Balanced有什么作用?

问题描述 投票:0回答:1

我正在集成来自 https://opensource.apple.com/source/WebCore/WebCore-7604.5.6/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp.auto.html.

的开源 libwebrtc

在代码中我看到

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
选项时,内部行为是什么?

我翻阅了开源文档并搜索了网络,但没有找到相关信息。如果有人能指出我正确的地方,我将不胜感激。

webrtc graceful-degradation openwebrtc
1个回答
0
投票

使用包含原始源的 Chromiums 代码搜索比 Apple 的副本更有帮助:https://source.chromium.org/chromium/chromium/src/+/main:third_party/webrtc/api/rtp_parameters.h;l= 88;drc=d31d2d07343b6515b61bb4b7f7c4ce32bd7e38d4 它是两个选项的混合,保持帧速率或分辨率。

具体实现可以看这里

© www.soinside.com 2019 - 2024. All rights reserved.