diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-02-03 14:23:23 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2022-03-29 14:52:16 +0200 |
commit | db59a3096b4f44aaacabdc5b455fbc0a3a6b8fb1 (patch) | |
tree | c51729c2139b69f8a1c1d43a1e303b1a09de50b6 /src/core/renderer/content_renderer_client_qt.cpp | |
parent | 81dfb46bd381cbb0d5d1071c418846ab3ed97a9a (diff) |
Adaptations for Chrome 96
Change-Id: I40039658762b8788a0be57bd186efab71f3e4448
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Diffstat (limited to 'src/core/renderer/content_renderer_client_qt.cpp')
-rw-r--r-- | src/core/renderer/content_renderer_client_qt.cpp | 54 |
1 files changed, 44 insertions, 10 deletions
diff --git a/src/core/renderer/content_renderer_client_qt.cpp b/src/core/renderer/content_renderer_client_qt.cpp index e407c4f2c..24a2eefbe 100644 --- a/src/core/renderer/content_renderer_client_qt.cpp +++ b/src/core/renderer/content_renderer_client_qt.cpp @@ -505,8 +505,8 @@ media::SupportedCodecs GetVP9Codecs(const std::vector<media::VideoCodecProfile> supported_vp9_codecs |= media::EME_CODEC_VP9_PROFILE2; break; default: - DVLOG(1) << "Unexpected " << GetCodecName(media::VideoCodec::kCodecVP9) - << " profile: " << GetProfileName(profile); + DVLOG(1) << "Unexpected " << media::GetCodecName(media::VideoCodec::kVP9) + << " profile: " << media::GetProfileName(profile); break; } } @@ -514,6 +514,35 @@ media::SupportedCodecs GetVP9Codecs(const std::vector<media::VideoCodecProfile> return supported_vp9_codecs; } +#if BUILDFLAG(ENABLE_PLATFORM_HEVC) +SupportedCodecs GetHevcCodecs(const std::vector<media::VideoCodecProfile> &profiles) +{ + // If no profiles are specified, then all are supported. + if (profiles.empty()) { + return media::EME_CODEC_HEVC_PROFILE_MAIN | + media::EME_CODEC_HEVC_PROFILE_MAIN10; + } + + media::SupportedCodecs supported_hevc_codecs = media::EME_CODEC_NONE; + for (const auto& profile : profiles) { + switch (profile) { + case media::HEVCPROFILE_MAIN: + supported_hevc_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN; + break; + case media::HEVCPROFILE_MAIN10: + supported_hevc_codecs |= media::EME_CODEC_HEVC_PROFILE_MAIN10; + break; + default: + DVLOG(1) << "Unexpected " << media::GetCodecName(media::VideoCodec::kHEVC) + << " profile: " << media::GetProfileName(profile); + break; + } + } + + return supported_hevc_codecs; +} +#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC) + static media::SupportedCodecs GetSupportedCodecs(const media::CdmCapability& capability, bool is_secure) { @@ -521,17 +550,17 @@ static media::SupportedCodecs GetSupportedCodecs(const media::CdmCapability& cap for (const auto& codec : capability.audio_codecs) { switch (codec) { - case media::AudioCodec::kCodecOpus: + case media::AudioCodec::kOpus: supported_codecs |= media::EME_CODEC_OPUS; break; - case media::AudioCodec::kCodecVorbis: + case media::AudioCodec::kVorbis: supported_codecs |= media::EME_CODEC_VORBIS; break; - case media::AudioCodec::kCodecFLAC: + case media::AudioCodec::kFLAC: supported_codecs |= media::EME_CODEC_FLAC; break; #if BUILDFLAG(USE_PROPRIETARY_CODECS) - case media::AudioCodec::kCodecAAC: + case media::AudioCodec::kAAC: supported_codecs |= media::EME_CODEC_AAC; break; #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) @@ -543,20 +572,25 @@ static media::SupportedCodecs GetSupportedCodecs(const media::CdmCapability& cap for (const auto &codec : capability.video_codecs) { switch (codec.first) { - case media::VideoCodec::kCodecVP8: + case media::VideoCodec::kVP8: supported_codecs |= media::EME_CODEC_VP8; break; - case media::VideoCodec::kCodecVP9: + case media::VideoCodec::kVP9: supported_codecs |= GetVP9Codecs(codec.second); break; - case media::VideoCodec::kCodecAV1: + case media::VideoCodec::kAV1: supported_codecs |= media::EME_CODEC_AV1; break; #if BUILDFLAG(USE_PROPRIETARY_CODECS) - case media::VideoCodec::kCodecH264: + case media::VideoCodec::kH264: supported_codecs |= media::EME_CODEC_AVC1; break; #endif // BUILDFLAG(USE_PROPRIETARY_CODECS) +#if BUILDFLAG(ENABLE_PLATFORM_HEVC) + case media::VideoCodec::kHEVC: + supported_codecs |= GetHevcCodecs(codec.second); + break; +#endif // BUILDFLAG(ENABLE_PLATFORM_HEVC) default: DVLOG(1) << "Unexpected supported codec: " << GetCodecName(codec.first); break; |