chromium/out/Default/gen/media/mojo/mojom/media_types.mojom-shared.h

// media/mojo/mojom/media_types.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

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

#ifndef MEDIA_MOJO_MOJOM_MEDIA_TYPES_MOJOM_SHARED_H_
#define MEDIA_MOJO_MOJOM_MEDIA_TYPES_MOJOM_SHARED_H_

#include <stdint.h>

#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"

#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"

#include "media/mojo/mojom/media_types.mojom-shared-internal.h"
#include "gpu/ipc/common/exported_shared_image.mojom-shared.h"
#include "gpu/ipc/common/mailbox_holder.mojom-shared.h"
#include "gpu/ipc/common/sync_token.mojom-shared.h"
#include "gpu/ipc/common/vulkan_ycbcr_info.mojom-shared.h"
#include "media/mojo/mojom/audio_data.mojom-shared.h"
#include "media/mojo/mojom/encryption_pattern.mojom-shared.h"
#include "mojo/public/mojom/base/byte_string.mojom-shared.h"
#include "mojo/public/mojom/base/shared_memory.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/values.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/buffer_types.mojom-shared.h"
#include "ui/gfx/mojom/color_space.mojom-shared.h"
#include "ui/gfx/mojom/hdr_metadata.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"


#include "mojo/public/cpp/bindings/native_enum.h"
#include "mojo/public/cpp/bindings/lib/native_struct_serialization.h"




namespace media::mojom {
MediaLogRecordDataView;

class VideoTransformationDataView;

class VideoAspectRatioDataView;

class VideoColorSpaceDataView;

class AudioDecoderConfigDataView;

class VideoDecoderConfigDataView;

SubsampleEntryDataView;

class DecryptConfigDataView;

class DecoderBufferSideDataDataView;

class DecoderBufferDataView;

class AudioBufferDataView;

class VideoFrameMetadataDataView;

class VideoFrameDataView;

class EosVideoFrameDataDataView;

class SharedMemoryVideoFrameDataDataView;

class GpuMemoryBufferSharedImageVideoFrameDataDataView;

class MailboxVideoFrameDataDataView;

class SharedImageVideoFrameDataDataView;

class PipelineStatisticsDataView;

class PredictionFeaturesDataView;

class PredictionTargetsDataView;

class AudioPipelineInfoDataView;

class VideoPipelineInfoDataView;

class StatusDataDataView;

class EncoderStatusDataView;

class DecoderStatusDataView;

class PipelineStatusDataView;

class VideoFrameDataDataView;


}  // media::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::media::mojom::VideoTransformationDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoAspectRatioDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoColorSpaceDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::AudioDecoderConfigDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoDecoderConfigDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::DecryptConfigDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::DecoderBufferSideDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::DecoderBufferDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::AudioBufferDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoFrameMetadataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoFrameDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::EosVideoFrameDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::SharedMemoryVideoFrameDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::GpuMemoryBufferSharedImageVideoFrameDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::MailboxVideoFrameDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::SharedImageVideoFrameDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::PipelineStatisticsDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::PredictionFeaturesDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::PredictionTargetsDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::AudioPipelineInfoDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoPipelineInfoDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::StatusDataDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::EncoderStatusDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::DecoderStatusDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::PipelineStatusDataView> {};

template <>
struct MojomTypeTraits<::media::mojom::VideoFrameDataDataView> {};

}  // namespace internal
}  // namespace mojo


namespace media::mojom {
AudioCodec;
AudioCodecProfile;
BufferingState;
BufferingStateChangeReason;
ChannelLayout;
MediaContentType;
OutputDeviceStatus;
SampleFormat;
VideoCodec;
VideoCodecProfile;
VideoPixelFormat;
VideoDecoderType;
AudioDecoderType;


enum class VideoRotation : int32_t {};

 std::ostream& operator<<(std::ostream& os, VideoRotation value);
inline bool IsKnownEnumValue(VideoRotation value) {}
FullscreenVideoStatus;
WaitingReason;
WatchTimeKey;
MediaContainerName;
MediaStatusState;
EncryptionScheme;


enum class EncryptionType : int32_t {};

 std::ostream& operator<<(std::ostream& os, EncryptionType value);
inline bool IsKnownEnumValue(EncryptionType value) {}


enum class SVCScalabilityMode : int32_t {};

 std::ostream& operator<<(std::ostream& os, SVCScalabilityMode value);
inline bool IsKnownEnumValue(SVCScalabilityMode value) {}


enum class SVCInterLayerPredMode : int32_t {};

 std::ostream& operator<<(std::ostream& os, SVCInterLayerPredMode value);
inline bool IsKnownEnumValue(SVCInterLayerPredMode value) {}


enum class CdmSessionClosedReason : int32_t {};

 std::ostream& operator<<(std::ostream& os, CdmSessionClosedReason value);
inline bool IsKnownEnumValue(CdmSessionClosedReason value) {}


enum class SharedImageFormatType : int32_t {};

 std::ostream& operator<<(std::ostream& os, SharedImageFormatType value);
inline bool IsKnownEnumValue(SharedImageFormatType value) {}


enum class MediaStreamType : int32_t {};

 std::ostream& operator<<(std::ostream& os, MediaStreamType value);
inline bool IsKnownEnumValue(MediaStreamType value) {}


enum class InputStreamErrorCode : int32_t {};

 std::ostream& operator<<(std::ostream& os, InputStreamErrorCode value);
inline bool IsKnownEnumValue(InputStreamErrorCode value) {}


enum class RendererType : int32_t {};

 std::ostream& operator<<(std::ostream& os, RendererType value);
inline bool IsKnownEnumValue(RendererType value) {}


enum class CreateCdmStatus : int32_t {};

 std::ostream& operator<<(std::ostream& os, CreateCdmStatus value);
inline bool IsKnownEnumValue(CreateCdmStatus value) {}


enum class VideoAspectRatio_Type : int32_t {};

 std::ostream& operator<<(std::ostream& os, VideoAspectRatio_Type value);
inline bool IsKnownEnumValue(VideoAspectRatio_Type value) {}
VideoColorSpace_PrimaryID;
VideoColorSpace_TransferID;
VideoColorSpace_MatrixID;
VideoColorSpace_RangeID;


class VideoTransformationDataView {};


class VideoAspectRatioDataView {};


class VideoColorSpaceDataView {};


class AudioDecoderConfigDataView {};


class VideoDecoderConfigDataView {};


class DecryptConfigDataView {};


class DecoderBufferSideDataDataView {};


class DecoderBufferDataView {};


class AudioBufferDataView {};


class VideoFrameMetadataDataView {};


class VideoFrameDataView {};


class EosVideoFrameDataDataView {};


class SharedMemoryVideoFrameDataDataView {};


class GpuMemoryBufferSharedImageVideoFrameDataDataView {};


class MailboxVideoFrameDataDataView {};


class SharedImageVideoFrameDataDataView {};


class PipelineStatisticsDataView {};


class PredictionFeaturesDataView {};


class PredictionTargetsDataView {};


class AudioPipelineInfoDataView {};


class VideoPipelineInfoDataView {};


class StatusDataDataView {};


class EncoderStatusDataView {};


class DecoderStatusDataView {};


class PipelineStatusDataView {};


class VideoFrameDataDataView {};



}  // media::mojom

namespace std {

template <>
struct hash<::media::mojom::VideoRotation>
    : public mojo::internal::EnumHashImpl<::media::mojom::VideoRotation> {};

template <>
struct hash<::media::mojom::EncryptionType>
    : public mojo::internal::EnumHashImpl<::media::mojom::EncryptionType> {};

template <>
struct hash<::media::mojom::SVCScalabilityMode>
    : public mojo::internal::EnumHashImpl<::media::mojom::SVCScalabilityMode> {};

template <>
struct hash<::media::mojom::SVCInterLayerPredMode>
    : public mojo::internal::EnumHashImpl<::media::mojom::SVCInterLayerPredMode> {};

template <>
struct hash<::media::mojom::CdmSessionClosedReason>
    : public mojo::internal::EnumHashImpl<::media::mojom::CdmSessionClosedReason> {};

template <>
struct hash<::media::mojom::SharedImageFormatType>
    : public mojo::internal::EnumHashImpl<::media::mojom::SharedImageFormatType> {};

template <>
struct hash<::media::mojom::MediaStreamType>
    : public mojo::internal::EnumHashImpl<::media::mojom::MediaStreamType> {};

template <>
struct hash<::media::mojom::InputStreamErrorCode>
    : public mojo::internal::EnumHashImpl<::media::mojom::InputStreamErrorCode> {};

template <>
struct hash<::media::mojom::RendererType>
    : public mojo::internal::EnumHashImpl<::media::mojom::RendererType> {};

template <>
struct hash<::media::mojom::CreateCdmStatus>
    : public mojo::internal::EnumHashImpl<::media::mojom::CreateCdmStatus> {};

template <>
struct hash<::media::mojom::VideoAspectRatio_Type>
    : public mojo::internal::EnumHashImpl<::media::mojom::VideoAspectRatio_Type> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::media::mojom::VideoRotation, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::EncryptionType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::SVCScalabilityMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::SVCInterLayerPredMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::CdmSessionClosedReason, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::SharedImageFormatType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::MediaStreamType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::InputStreamErrorCode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::RendererType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::CreateCdmStatus, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoAspectRatio_Type, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoTransformationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoAspectRatioDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoColorSpaceDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::AudioDecoderConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoDecoderConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::DecryptConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::DecoderBufferSideDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::DecoderBufferDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::AudioBufferDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoFrameMetadataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoFrameDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::EosVideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::SharedMemoryVideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::GpuMemoryBufferSharedImageVideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::MailboxVideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::SharedImageVideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::PipelineStatisticsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::PredictionFeaturesDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::PredictionTargetsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::AudioPipelineInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoPipelineInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::StatusDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::EncoderStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::DecoderStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::PipelineStatusDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::media::mojom::VideoFrameDataDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace media::mojom {







inline void AudioDecoderConfigDataView::GetExtraDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}
inline void AudioDecoderConfigDataView::GetSeekPrerollDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void AudioDecoderConfigDataView::GetAacExtraDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}


inline void VideoDecoderConfigDataView::GetTransformationDataView(
    VideoTransformationDataView* output) {}
inline void VideoDecoderConfigDataView::GetCodedSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void VideoDecoderConfigDataView::GetVisibleRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void VideoDecoderConfigDataView::GetNaturalSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void VideoDecoderConfigDataView::GetAspectRatioDataView(
    VideoAspectRatioDataView* output) {}
inline void VideoDecoderConfigDataView::GetExtraDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}
inline void VideoDecoderConfigDataView::GetColorSpaceInfoDataView(
    VideoColorSpaceDataView* output) {}
inline void VideoDecoderConfigDataView::GetHdrMetadataDataView(
    ::gfx::mojom::HDRMetadataDataView* output) {}


inline void DecryptConfigDataView::GetKeyIdDataView(
    ::mojo_base::mojom::ByteStringDataView* output) {}
inline void DecryptConfigDataView::GetIvDataView(
    ::mojo_base::mojom::ByteStringDataView* output) {}
inline void DecryptConfigDataView::GetSubsamplesDataView(
    mojo::ArrayDataView<SubsampleEntryDataView>* output) {}
inline void DecryptConfigDataView::GetEncryptionPatternDataView(
    ::media::mojom::EncryptionPatternDataView* output) {}


inline void DecoderBufferSideDataDataView::GetSpatialLayersDataView(
    mojo::ArrayDataView<uint32_t>* output) {}
inline void DecoderBufferSideDataDataView::GetAlphaDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}


inline void DecoderBufferDataView::GetTimestampDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void DecoderBufferDataView::GetDurationDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void DecoderBufferDataView::GetDecryptConfigDataView(
    DecryptConfigDataView* output) {}
inline void DecoderBufferDataView::GetFrontDiscardDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void DecoderBufferDataView::GetBackDiscardDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void DecoderBufferDataView::GetSideDataDataView(
    DecoderBufferSideDataDataView* output) {}


inline void AudioBufferDataView::GetTimestampDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void AudioBufferDataView::GetDataDataView(
    mojo::ArrayDataView<uint8_t>* output) {}


inline void VideoFrameMetadataDataView::GetCaptureBeginTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetCaptureEndTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetCaptureUpdateRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void VideoFrameMetadataDataView::GetSourceSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void VideoFrameMetadataDataView::GetRegionCaptureRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void VideoFrameMetadataDataView::GetFrameDurationDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void VideoFrameMetadataDataView::GetReferenceTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetTransformationDataView(
    VideoTransformationDataView* output) {}
inline void VideoFrameMetadataDataView::GetOverlayPlaneIdDataView(
    ::mojo_base::mojom::UnguessableTokenDataView* output) {}
inline void VideoFrameMetadataDataView::GetDecodeBeginTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetDecodeEndTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetProcessingTimeDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void VideoFrameMetadataDataView::GetReceiveTimeDataView(
    ::mojo_base::mojom::TimeTicksDataView* output) {}
inline void VideoFrameMetadataDataView::GetWallclockFrameDurationDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}


inline void VideoFrameDataView::GetCodedSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void VideoFrameDataView::GetVisibleRectDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void VideoFrameDataView::GetNaturalSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void VideoFrameDataView::GetTimestampDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void VideoFrameDataView::GetDataDataView(
    VideoFrameDataDataView* output) {}
inline void VideoFrameDataView::GetMetadataDataView(
    VideoFrameMetadataDataView* output) {}
inline void VideoFrameDataView::GetColorSpaceDataView(
    ::gfx::mojom::ColorSpaceDataView* output) {}
inline void VideoFrameDataView::GetHdrMetadataDataView(
    ::gfx::mojom::HDRMetadataDataView* output) {}




inline void SharedMemoryVideoFrameDataDataView::GetFrameDataDataView(
    ::mojo_base::mojom::ReadOnlySharedMemoryRegionDataView* output) {}
inline void SharedMemoryVideoFrameDataDataView::GetStridesDataView(
    mojo::ArrayDataView<int32_t>* output) {}
inline void SharedMemoryVideoFrameDataDataView::GetOffsetsDataView(
    mojo::ArrayDataView<uint32_t>* output) {}


inline void GpuMemoryBufferSharedImageVideoFrameDataDataView::GetGpuMemoryBufferHandleDataView(
    ::gfx::mojom::GpuMemoryBufferHandleDataView* output) {}
inline void GpuMemoryBufferSharedImageVideoFrameDataDataView::GetSharedImageDataView(
    ::gpu::mojom::ExportedSharedImageDataView* output) {}
inline void GpuMemoryBufferSharedImageVideoFrameDataDataView::GetSyncTokenDataView(
    ::gpu::mojom::SyncTokenDataView* output) {}


inline void MailboxVideoFrameDataDataView::GetMailboxHolderDataView(
    mojo::ArrayDataView<::gpu::mojom::MailboxHolderDataView>* output) {}
inline void MailboxVideoFrameDataDataView::GetYcbcrDataDataView(
    ::gpu::mojom::VulkanYCbCrInfoDataView* output) {}


inline void SharedImageVideoFrameDataDataView::GetSharedImageDataView(
    ::gpu::mojom::ExportedSharedImageDataView* output) {}
inline void SharedImageVideoFrameDataDataView::GetSyncTokenDataView(
    ::gpu::mojom::SyncTokenDataView* output) {}
inline void SharedImageVideoFrameDataDataView::GetYcbcrDataDataView(
    ::gpu::mojom::VulkanYCbCrInfoDataView* output) {}




inline void PredictionFeaturesDataView::GetVideoSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void PredictionFeaturesDataView::GetKeySystemDataView(
    mojo::StringDataView* output) {}








inline void StatusDataDataView::GetGroupDataView(
    mojo::StringDataView* output) {}
inline void StatusDataDataView::GetMessageDataView(
    mojo::StringDataView* output) {}
inline void StatusDataDataView::GetFramesDataView(
    ::mojo_base::mojom::ListValueDataView* output) {}
inline void StatusDataDataView::GetCauseDataView(
    StatusDataDataView* output) {}
inline void StatusDataDataView::GetDataDataView(
    ::mojo_base::mojom::ValueDataView* output) {}


inline void EncoderStatusDataView::GetInternalDataView(
    StatusDataDataView* output) {}


inline void DecoderStatusDataView::GetInternalDataView(
    StatusDataDataView* output) {}


inline void PipelineStatusDataView::GetInternalDataView(
    StatusDataDataView* output) {}


inline void VideoFrameDataDataView::GetEosDataDataView(
    EosVideoFrameDataDataView* output) const {}
inline void VideoFrameDataDataView::GetSharedMemoryDataDataView(
    SharedMemoryVideoFrameDataDataView* output) const {}
inline void VideoFrameDataDataView::GetGpuMemoryBufferSharedImageDataDataView(
    GpuMemoryBufferSharedImageVideoFrameDataDataView* output) const {}
inline void VideoFrameDataDataView::GetMailboxDataDataView(
    MailboxVideoFrameDataDataView* output) const {}
inline void VideoFrameDataDataView::GetSharedImageDataDataView(
    SharedImageVideoFrameDataDataView* output) const {}


}  // media::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::VideoRotation> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::EncryptionType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::SVCScalabilityMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::SVCInterLayerPredMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::CdmSessionClosedReason> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::SharedImageFormatType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::MediaStreamType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::InputStreamErrorCode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::RendererType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::CreateCdmStatus> {};

} // namespace perfetto

namespace perfetto {

template <>
struct  TraceFormatTraits<::media::mojom::VideoAspectRatio_Type> {};

} // namespace perfetto

#endif  // MEDIA_MOJO_MOJOM_MEDIA_TYPES_MOJOM_SHARED_H_