1/* 2 * Copyright (C) 2024 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17syntax = "proto2"; 18 19package android.os.statsd.media; 20 21import "frameworks/proto_logging/stats/atoms.proto"; 22import "frameworks/proto_logging/stats/atom_field_options.proto"; 23import "frameworks/proto_logging/stats/enums/media/codec/enums.proto"; 24import "frameworks/proto_logging/stats/enums/media/editing/enums.proto"; 25 26extend Atom { 27 optional MediaEditingEndedReported media_editing_ended_reported = 798 28 [(module) = "media_metrics"]; 29} 30 31// Media metric for an editing operation having ended, since Android V. 32message MediaEditingEndedReported { 33 // Randomly generated log session ID. A Base64 encoded hex string representing 34 // a 128-bit integer. 35 optional string log_session_id = 1; 36 // Final state of editing operation when it ended. 37 optional android.media.editing.FinalState final_state = 2; 38 // Progress of the editing operation in percent at the moment that it ended, 39 // or -1 if unknown. 40 optional float final_progress_percent = 3; 41 // Error code, if the final state was failure. 42 optional android.media.editing.ErrorCode error_code = 4; 43 // When editing ended relative to its start time, in milliseconds, or -1 if 44 // unknown. 45 optional int64 time_since_editing_created_millis = 5; 46 // Whether the operation included video transcoding. 47 optional bool operation_type_video_transcode = 6; 48 // Whether the operation included audio transcoding. 49 optional bool operation_type_audio_transcode = 7; 50 // Whether the operation included video editing. 51 optional bool operation_type_video_edit = 8; 52 // Whether the operation included audio editing. 53 optional bool operation_type_audio_edit = 9; 54 // Whether the operation included video transmuxing. 55 optional bool operation_type_video_transmux = 10; 56 // Whether the operation included audio transmuxing. 57 optional bool operation_type_audio_transmux = 11; 58 // Whether the operation was paused. 59 optional bool operation_type_was_paused = 12; 60 // Whether the operation was resumed. 61 optional bool operation_type_was_resumed = 13; 62 // Name of the library implementing the exporting operation, or an empty 63 // string if unknown. 64 optional string exporter_name = 14; 65 // Name of the library implementing the muxing operation, or an empty string 66 // if unknown. 67 optional string muxer_name = 15; 68 // Throughput of the editing operation, in frames per second, or -1 if 69 // unknown. 70 optional int32 throughput_fps = 16; 71 // Number of input media items, or 0 if unknown. 72 optional int32 input_media_item_count = 17; 73 // First input media item's source (eg. gallery). 74 optional android.media.editing.SourceType input_media_item_1_source_type = 18; 75 // Whether the first input media item includes image data. 76 optional bool input_media_item_1_has_data_type_image = 19; 77 // Whether the first input media item includes video data. 78 optional bool input_media_item_1_has_data_type_video = 20; 79 // Whether the first input media item includes audio data. 80 optional bool input_media_item_1_has_data_type_audio = 21; 81 // Whether the first input media item includes metadata. 82 optional bool input_media_item_1_has_data_type_metadata = 22; 83 // Whether the first input media item includes depth information. 84 optional bool input_media_item_1_has_data_type_depth = 23; 85 // Whether the first input media item includes gain map information. 86 optional bool input_media_item_1_has_data_type_gain_map = 24; 87 // Whether the first input media item includes high frame rate data. 88 optional bool input_media_item_1_has_data_type_high_frame_rate = 25; 89 // Whether the first input media item includes speed setting cue points. 90 optional bool input_media_item_1_has_data_type_cue_points = 26; 91 // Whether the first input media item includes gapless playback metadata. 92 optional bool input_media_item_1_has_data_type_gapless = 27; 93 // Whether the first input media item includes spatial audio. 94 optional bool input_media_item_1_has_data_type_spatial_audio = 28; 95 // Whether the first input media item includes high dynamic range video. 96 optional bool input_media_item_1_has_data_type_high_dynamic_range_video = 29; 97 // First input media item's duration, in milliseconds, or -1 if unknown. 98 optional int64 input_media_item_1_duration_millis = 30; 99 // First input media item's clip duration, in milliseconds, or -1 if unknown. 100 optional int64 input_media_item_1_clip_duration_millis = 31; 101 // First input media item's media container MIME type, or an empty string if 102 // unknown. 103 optional string input_media_item_1_container_mime_type = 32; 104 // First input media item's audio sample MIME type, or an empty string if 105 // unknown. 106 optional string input_media_item_1_audio_sample_mime_type = 33; 107 // First input media item's video sample MIME type, or an empty string if 108 // unknown. 109 optional string input_media_item_1_video_sample_mime_type = 34; 110 // First input media item's common video codec type. 111 optional android.media.codec.Codec input_media_item_1_common_video_codec = 35; 112 // First input media item's audio sample rate, in Hertz, or -1 if unknown. 113 optional int32 input_media_item_1_audio_sample_rate_hz = 36; 114 // First input media item's audio channel count, or -1 if unknown. 115 optional int32 input_media_item_1_audio_channel_count = 37; 116 // First input media item's audio sample count, or -1 if unknown. 117 optional int64 input_media_item_1_audio_sample_count = 38; 118 // First input media item's raw video width, in pixels, or -1 if unknown. 119 optional int32 input_media_item_1_video_raw_width_pixels = 39; 120 // First input media item's raw video height, in pixels, or -1 if unknown. 121 optional int32 input_media_item_1_video_raw_height_pixels = 40; 122 // First input media item's closest common resolution. 123 optional android.media.codec.Resolution input_media_item_1_video_resolution = 41; 124 // First input media item's aspect ratio. 125 optional android.media.editing.ResolutionAspectRatio input_media_item_1_video_resolution_aspect_ratio = 42; 126 // First input media item's video data space, packed as 127 // android.hardware.DataSpace. 128 optional int32 input_media_item_1_video_data_space = 43; 129 // First input media item's HDR video format. 130 optional android.media.codec.HdrFormat input_media_item_1_video_hdr_format = 44; 131 // First input media item's video frame rate, in frames per second, or -1 if 132 // unknown. 133 optional int32 input_media_item_1_video_frame_rate = 45; 134 // First input media item's common video frame rate, or -1 if unknown. 135 optional android.media.codec.Framerate input_media_item_1_common_video_frame_rate = 46; 136 // The first MediaCodec codec component name used to decode the first input, or an empty string if unknown or not applicable. 137 optional string input_media_item_1_codec_name_1 = 47; 138 // The second MediaCodec codec component name used to decode the first input, or an empty string if unknown or not applicable. 139 optional string input_media_item_1_codec_name_2 = 48; 140 // Whether the output media item includes image data. 141 optional bool output_media_item_has_data_type_image = 49; 142 // Whether the output media item includes video data. 143 optional bool output_media_item_has_data_type_video = 50; 144 // Whether the output media item includes audio data. 145 optional bool output_media_item_has_data_type_audio = 51; 146 // Whether the output media item includes metadata. 147 optional bool output_media_item_has_data_type_metadata = 52; 148 // Whether the output media item includes depth information. 149 optional bool output_media_item_has_data_type_depth = 53; 150 // Whether the output media item includes gain map information. 151 optional bool output_media_item_has_data_type_gain_map = 54; 152 // Whether the output media item includes high frame rate data. 153 optional bool output_media_item_has_data_type_high_frame_rate = 55; 154 // Whether the output media item includes speed setting cue points. 155 optional bool output_media_item_has_data_type_cue_points = 56; 156 // Whether the output media item includes gapless playback metadata. 157 optional bool output_media_item_has_data_type_gapless = 57; 158 // Whether the output media item includes spatial audio. 159 optional bool output_media_item_has_data_type_spatial_audio = 58; 160 // Whether the output media item includes high dynamic range video. 161 optional bool output_media_item_has_data_type_high_dynamic_range_video = 59; 162 // Output media item's duration, in milliseconds, or -1 if unknown. 163 optional int64 output_media_item_duration_millis = 60; 164 // Output media item's clip duration, in milliseconds, or -1 if unknown. 165 optional int64 output_media_item_clip_duration_millis = 61; 166 // Output media item's media container MIME type, or an empty string if 167 // unknown. 168 optional string output_media_item_container_mime_type = 62; 169 // Output media item's audio sample MIME type, or an empty string if unknown. 170 optional string output_media_item_audio_sample_mime_type = 63; 171 // Output media item's video sample MIME type, or an empty string if unknown. 172 optional string output_media_item_video_sample_mime_type = 64; 173 // Output media item's common video codec type. 174 optional android.media.codec.Codec output_media_item_common_video_codec = 65; 175 // Output media item's audio sample rate, in Hertz, or -1 if unknown. 176 optional int32 output_media_item_audio_sample_rate_hz = 66; 177 // Output media item's audio channel count, or -1 if unknown. 178 optional int32 output_media_item_audio_channel_count = 67; 179 // Output media item's audio sample count, or -1 if unknown. 180 optional int64 output_media_item_audio_sample_count = 68; 181 // Output media item's raw video width, in pixels, or -1 if unknown. 182 optional int32 output_media_item_video_raw_width_pixels = 69; 183 // Output media item's raw video height, in pixels, or -1 if unknown. 184 optional int32 output_media_item_video_raw_height_pixels = 70; 185 // Output media item's closest common resolution. 186 optional android.media.codec.Resolution output_media_item_video_resolution = 71; 187 // Output media item's aspect ratio. 188 optional android.media.editing.ResolutionAspectRatio output_media_item_video_resolution_aspect_ratio = 72; 189 // Output media item's video data space, packed as 190 // android.hardware.DataSpace. 191 optional int32 output_media_item_video_data_space = 73; 192 // Output media item's HDR video format. 193 optional android.media.codec.HdrFormat output_media_item_video_hdr_format = 74; 194 // Output media item's video frame rate, in frames per second, or -1 if 195 // unknown. 196 optional int32 output_media_item_video_frame_rate = 75; 197 // Output media item's common video frame rate, or -1 if unknown. 198 optional android.media.codec.Framerate output_media_item_common_video_frame_rate = 76; 199 // The first MediaCodec codec component name used to encode the output, or an empty string if unknown or not applicable. 200 optional string output_media_item_codec_name_1 = 77; 201 // The second MediaCodec codec component name used to encode the output, or an empty string if unknown or not applicable. 202 optional string output_media_item_codec_name_2 = 78; 203} 204