// Modified based on the file generated by build/write_buildflag_header.py from
// "//media:media_buildflags"

#ifndef MEDIA_MEDIA_BUILDFLAGS_H_
#define MEDIA_MEDIA_BUILDFLAGS_H_

#if !defined(STARBOARD)
#error "This file only works with Cobalt/Starboard."
#endif  // !defined(STARBOARD)

#include "build/buildflag.h"

#define BUILDFLAG_INTERNAL_ALTERNATE_CDM_STORAGE_ID_KEY() ("")
#define BUILDFLAG_INTERNAL_CDM_PLATFORM_SPECIFIC_PATH() ("_platform_specific/linux_x64")
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_AC3_EAC3_AUDIO() (1)
#define BUILDFLAG_INTERNAL_ENABLE_CAST_AUDIO_RENDERER() (0)
#define BUILDFLAG_INTERNAL_ENABLE_CDM_HOST_VERIFICATION() (0)
#define BUILDFLAG_INTERNAL_ENABLE_CDM_STORAGE_ID() (0)
#define BUILDFLAG_INTERNAL_ENABLE_DAV1D_DECODER() (1)
#define BUILDFLAG_INTERNAL_ENABLE_AV1_DECODER() (1)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_DOLBY_VISION() (1)
#define BUILDFLAG_INTERNAL_ENABLE_FFMPEG() (1)
#define BUILDFLAG_INTERNAL_ENABLE_FFMPEG_VIDEO_DECODERS() (1)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_HEVC() (1)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_HEVC_DECODING() (0)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_ENCRYPTED_HEVC() (0)
#define BUILDFLAG_INTERNAL_ENABLE_HLS_SAMPLE_AES() (0)
#define BUILDFLAG_INTERNAL_ENABLE_HLS_DEMUXER() (1)
#define BUILDFLAG_INTERNAL_ENABLE_LIBGAV1_DECODER() (0)
#define BUILDFLAG_INTERNAL_ENABLE_LIBRARY_CDMS() (1)
#define BUILDFLAG_INTERNAL_ENABLE_LIBAOM() (1)
#define BUILDFLAG_INTERNAL_ENABLE_LIBVPX() (1)
#define BUILDFLAG_INTERNAL_ENABLE_LOGGING_OVERRIDE() (0)
#define BUILDFLAG_INTERNAL_ENABLE_MEDIA_DRM_STORAGE() (0)
#define BUILDFLAG_INTERNAL_ENABLE_MEDIA_REMOTING() (1)
#define BUILDFLAG_INTERNAL_ENABLE_MEDIA_REMOTING_RPC() (1)
#define BUILDFLAG_INTERNAL_ENABLE_OPENH264() (0)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_MPEG_H_AUDIO() (0)
#define BUILDFLAG_INTERNAL_ENABLE_MSE_MPEG2TS_STREAM_PARSER() (0)
#define BUILDFLAG_INTERNAL_ENABLE_CAST_STREAMING_RENDERER() (0)
#define BUILDFLAG_INTERNAL_USE_ARC_PROTECTED_MEDIA() (0)
#define BUILDFLAG_INTERNAL_USE_CHROMEOS_MEDIA_ACCELERATION() (true||false)
#define BUILDFLAG_INTERNAL_USE_CHROMEOS_PROTECTED_AV1() (0)
#define BUILDFLAG_INTERNAL_USE_CHROMEOS_PROTECTED_MEDIA() (0)
#define BUILDFLAG_INTERNAL_USE_PROPRIETARY_CODECS() (1)
#define BUILDFLAG_INTERNAL_ENABLE_PLATFORM_DTS_AUDIO() (0)
#define BUILDFLAG_INTERNAL_IS_CHROMEOS_ASH() (0)

#endif  // MEDIA_MEDIA_BUILDFLAGS_H_
