chromium/media/base/supported_types.cc

// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "media/base/supported_types.h"

#include "base/command_line.h"
#include "base/feature_list.h"
#include "base/logging.h"
#include "base/no_destructor.h"
#include "base/notreached.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "media/base/media.h"
#include "media/base/media_client.h"
#include "media/base/media_switches.h"
#include "media/media_buildflags.h"
#include "media/mojo/buildflags.h"
#include "ui/gfx/hdr_metadata.h"

#if BUILDFLAG(ENABLE_LIBVPX)
// TODO(dalecurtis): This technically should not be allowed in media/base. See
// TODO below about moving outside of base.
#include "third_party/libvpx/source/libvpx/vpx/vp8dx.h"      // nogncheck
#include "third_party/libvpx/source/libvpx/vpx/vpx_codec.h"  // nogncheck
#endif

#if BUILDFLAG(IS_ANDROID)
#include "base/android/build_info.h"

// TODO(dalecurtis): This include is not allowed by media/base since
// media/base/android is technically a different component. We should move
// supported_types*.{cc,h} out of media/base to fix this.
#include "media/base/android/media_codec_util.h"  // nogncheck
#endif

#if BUILDFLAG(IS_WIN)
#include "base/win/windows_version.h"
#endif

namespace media {

namespace {

template <typename T>
class SupplementalProfileCache {};

SupplementalProfileCache<VideoCodecProfile>* GetSupplementalProfileCache() {}

SupplementalProfileCache<AudioType>* GetSupplementalAudioTypeCache() {}

bool IsSupportedHdrMetadata(const VideoType& type) {}

bool IsColorSpaceSupported(const VideoColorSpace& color_space) {}

#if !BUILDFLAG(USE_PROPRIETARY_CODECS)
bool IsVideoCodecProprietary(VideoCodec codec) {}

bool IsAudioCodecProprietary(AudioCodec codec) {}
#endif  // !BUILDFLAG(USE_PROPRIETARY_CODECS)

bool IsHevcProfileSupported(const VideoType& type) {}

bool IsVp9ProfileSupported(const VideoType& type) {}

bool IsAV1Supported(const VideoType& type) {}

bool IsAACSupported(const AudioType& type) {}

bool IsDolbyVisionProfileSupported(const VideoType& type) {}

bool IsDolbyAc3Eac3Supported(const AudioType& type) {}

bool IsDolbyAc4Supported(const AudioType& type) {}

}  // namespace

bool IsSupportedAudioType(const AudioType& type) {}

bool IsSupportedVideoType(const VideoType& type) {}

// TODO(chcunningham): Add platform specific logic for Android (move from
// MimeUtilInternal).
bool IsDefaultSupportedVideoType(const VideoType& type) {}

bool IsDefaultSupportedAudioType(const AudioType& type) {}

bool IsBuiltInVideoCodec(VideoCodec codec) {}

void UpdateDefaultSupportedVideoProfiles(
    const base::flat_set<media::VideoCodecProfile>& profiles) {}

void UpdateDefaultSupportedAudioTypes(const base::flat_set<AudioType>& types) {}

}  // namespace media