//
// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
// @generated from file protos/perfetto/metrics/chrome/media_metric.proto (package perfetto.protos, syntax proto2)
/* eslint-disable */

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import { file_protos_perfetto_metrics_custom_options } from "../custom_options_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file protos/perfetto/metrics/chrome/media_metric.proto.
 */
export const file_protos_perfetto_metrics_chrome_media_metric: GenFile = /*@__PURE__*/
  fileDesc("CjFwcm90b3MvcGVyZmV0dG8vbWV0cmljcy9jaHJvbWUvbWVkaWFfbWV0cmljLnByb3RvEg9wZXJmZXR0by5wcm90b3MilAMKC01lZGlhTWV0cmljEjIKEnRpbWVfdG9fdmlkZW9fcGxheRgBIAMoAUIWirUYEm1zX3NtYWxsZXJJc0JldHRlchIyChJ0aW1lX3RvX2F1ZGlvX3BsYXkYAiADKAFCFoq1GBJtc19zbWFsbGVySXNCZXR0ZXISNgoTZHJvcHBlZF9mcmFtZV9jb3VudBgDIAMoA0IZirUYFWNvdW50X3NtYWxsZXJJc0JldHRlchIuCg5idWZmZXJpbmdfdGltZRgEIAMoAUIWirUYEm1zX3NtYWxsZXJJc0JldHRlchIsCglyb3VnaG5lc3MYBSADKAFCGYq1GBVjb3VudF9zbWFsbGVySXNCZXR0ZXISKAoIZnJlZXppbmcYBiADKAFCFoq1GBJtc19zbWFsbGVySXNCZXR0ZXISKQoJc2Vla190aW1lGAggAygBQhaKtRgSbXNfc21hbGxlcklzQmV0dGVyEjIKEnBpcGVsaW5lX3NlZWtfdGltZRgJIAMoAUIWirUYEm1zX3NtYWxsZXJJc0JldHRlcg", [file_protos_perfetto_metrics_custom_options]);

/**
 * Ported from catapult's media_metric.html.
 *
 * @generated from message perfetto.protos.MediaMetric
 */
export type MediaMetric = Message<"perfetto.protos.MediaMetric"> & {
  /**
   * @generated from field: repeated double time_to_video_play = 1;
   */
  timeToVideoPlay: number[];

  /**
   * @generated from field: repeated double time_to_audio_play = 2;
   */
  timeToAudioPlay: number[];

  /**
   * @generated from field: repeated int64 dropped_frame_count = 3;
   */
  droppedFrameCount: bigint[];

  /**
   * @generated from field: repeated double buffering_time = 4;
   */
  bufferingTime: number[];

  /**
   * @generated from field: repeated double roughness = 5;
   */
  roughness: number[];

  /**
   * @generated from field: repeated double freezing = 6;
   */
  freezing: number[];

  /**
   * These have multiple dynamic histogram names in the TBMv2 version. Because
   * TBMv3 doesn't support dynamic names, we report one value per seek into each
   * of these two combined histograms.
   *
   * @generated from field: repeated double seek_time = 8;
   */
  seekTime: number[];

  /**
   * @generated from field: repeated double pipeline_seek_time = 9;
   */
  pipelineSeekTime: number[];
};

/**
 * Describes the message perfetto.protos.MediaMetric.
 * Use `create(MediaMetricSchema)` to create a new message.
 */
export const MediaMetricSchema: GenMessage<MediaMetric> = /*@__PURE__*/
  messageDesc(file_protos_perfetto_metrics_chrome_media_metric, 0);

