#ifndef MEDIA_BASE_MEDIA_SERIALIZERS_H_
#define MEDIA_BASE_MEDIA_SERIALIZERS_H_
#include <optional>
#include <sstream>
#include <vector>
#include "base/location.h"
#include "base/strings/stringprintf.h"
#include "media/base/audio_decoder_config.h"
#include "media/base/buffering_state.h"
#include "media/base/cdm_config.h"
#include "media/base/decoder.h"
#include "media/base/media_serializers_base.h"
#include "media/base/renderer.h"
#include "media/base/status.h"
#include "media/base/video_decoder_config.h"
#include "ui/gfx/geometry/size.h"
#include "ui/gfx/hdr_metadata.h"
namespace media::internal {
MediaSerializer<const T>;
MediaSerializer<T &>;
template <>
struct MediaSerializer<base::Value> { … };
template <>
struct MediaSerializer<base::Value::List> { … };
MediaSerializer<std::vector<VecType>>;
MediaSerializer<std::unique_ptr<T>>;
MediaSerializer<std::optional<OptType>>;
MediaSerializer<char[len]>;
template <>
struct MediaSerializer<double> { … };
template <>
struct MediaSerializer<int64_t> { … };
template <>
struct MediaSerializer<uint32_t> { … };
template <>
struct MediaSerializer<float> { … };
#define FIELD_SERIALIZE …
template <>
struct MediaSerializer<gfx::Size> { … };
template <>
struct MediaSerializer<gfx::Rect> { … };
template <>
struct MediaSerializer<base::TimeDelta> { … };
template <>
struct MediaSerializer<base::Time> { … };
template <>
struct MediaSerializer<RendererType> { … };
template <>
struct MediaSerializer<VideoDecoderType> { … };
template <>
struct MediaSerializer<AudioDecoderType> { … };
template <>
struct MediaSerializer<AudioCodec> { … };
template <>
struct MediaSerializer<AudioCodecProfile> { … };
template <>
struct MediaSerializer<VideoCodec> { … };
template <>
struct MediaSerializer<VideoCodecProfile> { … };
template <>
struct MediaSerializer<ChannelLayout> { … };
template <>
struct MediaSerializer<SampleFormat> { … };
template <>
struct MediaSerializer<CdmConfig> { … };
template <>
struct MediaSerializer<EncryptionScheme> { … };
template <>
struct MediaSerializer<VideoTransformation> { … };
template <>
struct MediaSerializer<VideoColorSpace> { … };
template <>
struct MediaSerializer<gfx::HDRMetadata> { … };
template <>
struct MediaSerializer<AudioDecoderConfig> { … };
template <>
struct MediaSerializer<VideoDecoderConfig::AlphaMode> { … };
template <>
struct MediaSerializer<VideoDecoderConfig> { … };
template <>
struct MediaSerializer<BufferingState> { … };
template <>
struct MediaSerializer<BufferingStateChangeReason> { … };
MediaSerializer<SerializableBufferingState<T>>;
MediaSerializer<TypedStatus<T>>;
template <>
struct MediaSerializer<StatusData> { … };
template <>
struct MediaSerializer<base::Location> { … };
#define ENUM_CASE_TO_STRING(ENUM_NAME) …
#define ENUM_CLASS_CASE_TO_STRING(ENUM_CLASS, ENUM_NAME) …
template <>
struct MediaSerializer<VideoColorSpace::PrimaryID> { … };
template <>
struct MediaSerializer<VideoColorSpace::TransferID> { … };
template <>
struct MediaSerializer<VideoColorSpace::MatrixID> { … };
template <>
struct MediaSerializer<gfx::ColorSpace::RangeID> { … };
#undef FIELD_SERIALIZE
}
#endif