[M120 Migration][MM] Framerate calculation
[platform/framework/web/chromium-efl.git] / media / mojo / mojom / media_types.mojom
index 630f852..d86cdf8 100644 (file)
@@ -122,14 +122,25 @@ enum SVCScalabilityMode {
   // kUnsupportedMode is used to handle the enum differ of C++ and Mojo
   // SVCScalabilityMode in ToMojom, should not be used in other place.
   kUnsupportedMode,
+  kL1T1,
   kL1T2,
   kL1T3,
+  kL2T1Key,
   kL2T2Key,
   kL2T3Key,
+  kL3T1Key,
   kL3T2Key,
   kL3T3Key,
 };
 
+// This mojo enum only list hardware codec supported scalability mode.
+// See media/base/svc_scalability_mode.h for description.
+enum SVCInterLayerPredMode {
+  kOff,
+  kOn,
+  kOnKeyPic
+};
+
 // This defines a mojo transport format for media::VideoColorSpace.
 // See media/base/video_color_space.h for description.
 struct VideoColorSpace {
@@ -185,19 +196,26 @@ struct VideoDecoderConfig {
   EncryptionScheme encryption_scheme;
   VideoColorSpace color_space_info;
   gfx.mojom.HDRMetadata? hdr_metadata;
+  [EnableIf=is_tizen_tv]
+  string hdr_info;
+  [EnableIf=is_tizen_tv]
+  int32 framerate_num;
+  [EnableIf=is_tizen_tv]
+  int32 framerate_den;
 };
 
 // Native struct media::SubsampleEntry;
 [Native]
 struct SubsampleEntry;
 
-// Important events happened to the CDM.
+// Important events happened to the CDM. See media/cdm/cdm_document_service.h
+// for descriptions.
 [EnableIf=is_win]
 enum CdmEvent {
-  kSignificantPlayback,  // Significant (e.g. played >1 minute) successful
-                         // playback happened using the CDM.
-  kPlaybackError,  // Error happened during playback using the CDM.
-  kCdmError,       // Error happened in the CDM.
+  kSignificantPlayback,
+  kPlaybackError,
+  kCdmError,
+  kHardwareContextReset,
 };
 
 // See media::CdmSessionClosedReason for descriptions.
@@ -209,6 +227,14 @@ enum CdmSessionClosedReason {
   kResourceEvicted,
 };
 
+// This defines a mojo transport format for media::SharedImageFormatType.
+// See media/base/video_frame.h for descriptions.
+enum SharedImageFormatType {
+  kLegacy,
+  kSharedImageFormat,
+  kSharedImageFormatExternalSampler,
+};
+
 // This defines a mojo transport format for media::DecryptConfig.
 // See media/base/decrypt_config.h for descriptions.
 struct DecryptConfig {
@@ -219,6 +245,13 @@ struct DecryptConfig {
   EncryptionPattern? encryption_pattern;
 };
 
+// This defines a mojo transport format for media::DecoderBufferSideData.
+struct DecoderBufferSideData {
+  array<uint32> spatial_layers;
+  array<uint8> alpha_data;
+  uint64 secure_handle;
+};
+
 // This defines a mojo transport format for media::DecoderBuffer.
 struct DecoderBuffer {
   mojo_base.mojom.TimeDelta timestamp;
@@ -236,15 +269,21 @@ struct DecoderBuffer {
   // Indicates whether or not this buffer is a random access point.
   bool is_key_frame;
 
-  // Empty when |side_data| doesn't exist.
-  array<uint8> side_data;
-
   // DecryptConfig for a encrypted buffer. NULL if the buffer is not encrypted.
   DecryptConfig? decrypt_config;
 
   // These fields indicate the amount of data to discard after decoding.
   mojo_base.mojom.TimeDelta front_discard;
   mojo_base.mojom.TimeDelta back_discard;
+
+  [EnableIf=is_tizen_tv]
+  uint32 tz_handle;
+  [EnableIf=is_tizen_tv]
+  uint32 tz_buffer_size;
+  [EnableIf=is_tizen_tv]
+  uint64 decryptor_handle;
+
+  DecoderBufferSideData? side_data;
 };
 
 // This defines a mojo transport format for media::AudioBuffer.
@@ -290,7 +329,7 @@ struct VideoFrameMetadata {
   gfx.mojom.Size? source_size;
 
   gfx.mojom.Rect? region_capture_rect;
-  uint32 crop_version;
+  uint32 sub_capture_target_version;
 
   bool copy_required;
 
@@ -378,6 +417,8 @@ struct VideoFrame {
 
   gfx.mojom.ColorSpace color_space;
   gfx.mojom.HDRMetadata? hdr_metadata;
+
+  media.mojom.SharedImageFormatType shared_image_format_type;
 };
 
 // Possible choices for storing VideoFrame data.
@@ -469,7 +510,7 @@ struct StatusData {
   string group;
   uint16 code;
   string message;
-  array<mojo_base.mojom.Value> frames;
+  mojo_base.mojom.ListValue frames;
   StatusData? cause;
   mojo_base.mojom.Value data;
   uint64 packed_root_cause;
@@ -507,9 +548,9 @@ enum InputStreamErrorCode {
   kDeviceInUse = 2,
 };
 
-// See media/base/renderer_factory_selector.h for description.
+// See media/base/renderer.h for description.
 enum RendererType {
-  kDefault = 0,          // DefaultRendererFactory
+  kRendererImpl = 0,     // RendererImplFactory
   kMojo = 1,             // MojoRendererFactory
   kMediaPlayer = 2,      // MediaPlayerRendererClientFactory
   kCourier = 3,          // CourierRendererFactory
@@ -520,4 +561,5 @@ enum RendererType {
   kRemoting = 8,         // RemotingRendererFactory for remoting::Receiver
   kCastStreaming = 9,    // CastStreamingRendererFactory
   kContentEmbedderDefined = 10,  // Defined by the content embedder
+  kTest= 11,             // Renderer implementations used in tests
 };