#ifndef MEDIA_MOJO_MOJOM_STABLE_STABLE_VIDEO_DECODER_TYPES_MOJOM_BLINK_H_
#define MEDIA_MOJO_MOJOM_STABLE_STABLE_VIDEO_DECODER_TYPES_MOJOM_BLINK_H_
#include <stdint.h>
#include <limits>
#include <optional>
#include <type_traits>
#include <utility>
#include "base/types/cxx23_to_underlying.h"
#include "mojo/public/cpp/bindings/clone_traits.h"
#include "mojo/public/cpp/bindings/equals_traits.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/struct_ptr.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/cpp/bindings/union_traits.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "media/mojo/mojom/stable/stable_video_decoder_types.mojom-features.h"
#include "media/mojo/mojom/stable/stable_video_decoder_types.mojom-shared.h"
#include "media/mojo/mojom/stable/stable_video_decoder_types.mojom-blink-forward.h"
#include "media/mojo/mojom/encryption_pattern.mojom-blink.h"
#include "media/mojo/mojom/stable/native_pixmap_handle.mojom-blink.h"
#include "mojo/public/mojom/base/time.mojom-blink.h"
#include "mojo/public/mojom/base/values.mojom-blink.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-blink.h"
#include "ui/gfx/mojom/buffer_types.mojom-blink.h"
#include "mojo/public/cpp/bindings/lib/wtf_clone_equals_util.h"
#include "mojo/public/cpp/bindings/lib/wtf_hash_util.h"
#include "third_party/blink/renderer/platform/wtf/hash_functions.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
#include "mojo/public/cpp/bindings/lib/control_message_handler.h"
#include "mojo/public/cpp/bindings/lib/message_size_estimator.h"
#include "mojo/public/cpp/bindings/raw_ptr_impl_ref_traits.h"
namespace media::stable::mojom::blink {
class SubsampleEntry { … };
template <typename T, SubsampleEntry::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, SubsampleEntry::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, SubsampleEntry::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, SubsampleEntry::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class VideoFrameMetadata { … };
template <typename T, VideoFrameMetadata::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, VideoFrameMetadata::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, VideoFrameMetadata::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, VideoFrameMetadata::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class DecryptConfig { … };
template <typename T, DecryptConfig::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DecryptConfig::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DecryptConfig::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DecryptConfig::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class ColorVolumeMetadata { … };
template <typename T, ColorVolumeMetadata::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ColorVolumeMetadata::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, ColorVolumeMetadata::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, ColorVolumeMetadata::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class HDRMetadata { … };
template <typename T, HDRMetadata::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, HDRMetadata::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, HDRMetadata::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, HDRMetadata::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class VideoDecoderConfig { … };
template <typename T, VideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, VideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, VideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, VideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class SupportedVideoDecoderConfig { … };
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class StatusData { … };
template <typename T, StatusData::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, StatusData::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, StatusData::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, StatusData::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class Status { … };
template <typename T, Status::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, Status::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, Status::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, Status::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class DecoderBufferSideData { … };
template <typename T, DecoderBufferSideData::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DecoderBufferSideData::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DecoderBufferSideData::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DecoderBufferSideData::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class DecoderBuffer { … };
template <typename T, DecoderBuffer::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, DecoderBuffer::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, DecoderBuffer::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, DecoderBuffer::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class ColorSpace { … };
template <typename T, ColorSpace::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, ColorSpace::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, ColorSpace::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, ColorSpace::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class NativeGpuMemoryBufferHandle { … };
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class VideoFrame { … };
template <typename T, VideoFrame::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, VideoFrame::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, VideoFrame::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, VideoFrame::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
class MediaLogRecord { … };
template <typename T, MediaLogRecord::EnableIfSame<T>* = nullptr>
bool operator<(const T& lhs, const T& rhs);
template <typename T, MediaLogRecord::EnableIfSame<T>* = nullptr>
bool operator<=(const T& lhs, const T& rhs) { … }
template <typename T, MediaLogRecord::EnableIfSame<T>* = nullptr>
bool operator>(const T& lhs, const T& rhs) { … }
template <typename T, MediaLogRecord::EnableIfSame<T>* = nullptr>
bool operator>=(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
SubsampleEntryPtr SubsampleEntry::Clone() const { … }
template <typename T, SubsampleEntry::EnableIfSame<T>*>
bool SubsampleEntry::Equals(const T& other_struct) const { … }
template <typename T, SubsampleEntry::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DecryptConfigPtr DecryptConfig::Clone() const { … }
template <typename T, DecryptConfig::EnableIfSame<T>*>
bool DecryptConfig::Equals(const T& other_struct) const { … }
template <typename T, DecryptConfig::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
ColorVolumeMetadataPtr ColorVolumeMetadata::Clone() const { … }
template <typename T, ColorVolumeMetadata::EnableIfSame<T>*>
bool ColorVolumeMetadata::Equals(const T& other_struct) const { … }
template <typename T, ColorVolumeMetadata::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
HDRMetadataPtr HDRMetadata::Clone() const { … }
template <typename T, HDRMetadata::EnableIfSame<T>*>
bool HDRMetadata::Equals(const T& other_struct) const { … }
template <typename T, HDRMetadata::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
VideoDecoderConfigPtr VideoDecoderConfig::Clone() const { … }
template <typename T, VideoDecoderConfig::EnableIfSame<T>*>
bool VideoDecoderConfig::Equals(const T& other_struct) const { … }
template <typename T, VideoDecoderConfig::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
SupportedVideoDecoderConfigPtr SupportedVideoDecoderConfig::Clone() const { … }
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>*>
bool SupportedVideoDecoderConfig::Equals(const T& other_struct) const { … }
template <typename T, SupportedVideoDecoderConfig::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
StatusDataPtr StatusData::Clone() const { … }
template <typename T, StatusData::EnableIfSame<T>*>
bool StatusData::Equals(const T& other_struct) const { … }
template <typename T, StatusData::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
StatusPtr Status::Clone() const { … }
template <typename T, Status::EnableIfSame<T>*>
bool Status::Equals(const T& other_struct) const { … }
template <typename T, Status::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DecoderBufferSideDataPtr DecoderBufferSideData::Clone() const { … }
template <typename T, DecoderBufferSideData::EnableIfSame<T>*>
bool DecoderBufferSideData::Equals(const T& other_struct) const { … }
template <typename T, DecoderBufferSideData::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
DecoderBufferPtr DecoderBuffer::Clone() const { … }
template <typename T, DecoderBuffer::EnableIfSame<T>*>
bool DecoderBuffer::Equals(const T& other_struct) const { … }
template <typename T, DecoderBuffer::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
ColorSpacePtr ColorSpace::Clone() const { … }
template <typename T, ColorSpace::EnableIfSame<T>*>
bool ColorSpace::Equals(const T& other_struct) const { … }
template <typename T, ColorSpace::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
NativeGpuMemoryBufferHandlePtr NativeGpuMemoryBufferHandle::Clone() const { … }
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>*>
bool NativeGpuMemoryBufferHandle::Equals(const T& other_struct) const { … }
template <typename T, NativeGpuMemoryBufferHandle::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
VideoFrameMetadataPtr VideoFrameMetadata::Clone() const { … }
template <typename T, VideoFrameMetadata::EnableIfSame<T>*>
bool VideoFrameMetadata::Equals(const T& other_struct) const { … }
template <typename T, VideoFrameMetadata::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
VideoFramePtr VideoFrame::Clone() const { … }
template <typename T, VideoFrame::EnableIfSame<T>*>
bool VideoFrame::Equals(const T& other_struct) const { … }
template <typename T, VideoFrame::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
template <typename StructPtrType>
MediaLogRecordPtr MediaLogRecord::Clone() const { … }
template <typename T, MediaLogRecord::EnableIfSame<T>*>
bool MediaLogRecord::Equals(const T& other_struct) const { … }
template <typename T, MediaLogRecord::EnableIfSame<T>*>
bool operator<(const T& lhs, const T& rhs) { … }
}
namespace mojo {
template <>
struct StructTraits<::media::stable::mojom::blink::SubsampleEntry::DataView,
::media::stable::mojom::blink::SubsampleEntryPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::DecryptConfig::DataView,
::media::stable::mojom::blink::DecryptConfigPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::ColorVolumeMetadata::DataView,
::media::stable::mojom::blink::ColorVolumeMetadataPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::HDRMetadata::DataView,
::media::stable::mojom::blink::HDRMetadataPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::VideoDecoderConfig::DataView,
::media::stable::mojom::blink::VideoDecoderConfigPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::SupportedVideoDecoderConfig::DataView,
::media::stable::mojom::blink::SupportedVideoDecoderConfigPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::StatusData::DataView,
::media::stable::mojom::blink::StatusDataPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::Status::DataView,
::media::stable::mojom::blink::StatusPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::DecoderBufferSideData::DataView,
::media::stable::mojom::blink::DecoderBufferSideDataPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::DecoderBuffer::DataView,
::media::stable::mojom::blink::DecoderBufferPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::ColorSpace::DataView,
::media::stable::mojom::blink::ColorSpacePtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::NativeGpuMemoryBufferHandle::DataView,
::media::stable::mojom::blink::NativeGpuMemoryBufferHandlePtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::VideoFrameMetadata::DataView,
::media::stable::mojom::blink::VideoFrameMetadataPtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::VideoFrame::DataView,
::media::stable::mojom::blink::VideoFramePtr> { … };
template <>
struct StructTraits<::media::stable::mojom::blink::MediaLogRecord::DataView,
::media::stable::mojom::blink::MediaLogRecordPtr> { … };
}
#endif