blob: 4298adc026359d8d3461032b7007f90c2c330581 [file] [log] [blame]
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
package media;
// Proto representation of VideoDecodeStatsDB::DecodeStatsEntry. The values are
// associated with a distinct VideoDecodeStatsDB::VideoDescKey.
message DecodeStatsProto {
// Required. Count of decoded video frames.
optional uint64 frames_decoded = 1;
// Required. Count of dropped video frames. Should not exceed
// |frames_decoded|.
optional uint64 frames_dropped = 2;
// Required. Count of power efficiently decoded frames.
optional uint64 frames_power_efficient = 3;
// Required. Time of last data write from base::Time::ToJsTime(). Data will be
// discarded when the date indicates its very old. This avoids a circumstance
// where a few bad outlier playbacks permanently define a machines
// capabilities.
optional double last_write_date = 7;
// Required (for those in the "unweighted" experiment). An unweighted average
// of dropped frames percentage from the last |num_unweighted_playbacks|.
optional double unweighted_average_frames_dropped = 8 [default = 0];
// Required (for those in the "unweighted" experiment). An unweighted average
// of efficient frames percentage from the last |num_unweighted_playbacks|.
optional double unweighted_average_frames_efficient = 9 [default = 0];
// Required (for those in the "unweighted" experiment). Count of playbacks
// contributing to |unweighted_average_frames_*| fields.
optional uint64 num_unweighted_playbacks = 10 [default = 0];
}