summaryrefslogtreecommitdiffstats
path: root/src/core/renderer/content_renderer_client_qt.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2022-02-03 14:23:23 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2022-03-29 14:52:16 +0200
commitdb59a3096b4f44aaacabdc5b455fbc0a3a6b8fb1 (patch)
treec51729c2139b69f8a1c1d43a1e303b1a09de50b6 /src/core/renderer/content_renderer_client_qt.cpp
parent81dfb46bd381cbb0d5d1071c418846ab3ed97a9a (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.cpp54
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;