// 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.

module media.mojom;

import "media/mojo/mojom/media_types.mojom";
import "ui/gfx/geometry/mojom/geometry.mojom";

// Interface for media players in the renderer to send decode stats to the
// browser process. Each player will have its own recorder instance.
interface VideoDecodeStatsRecorder {
  // Will finalize any ongoing record and begin a new record with the given
  // properties.
  StartNewRecord(PredictionFeatures features);

  // Update stats values for the current record. Each update overrides the
  // previous values. Values should only be considered final when a new
  // record is started or upon IPC disconnect.
  UpdateRecord(PredictionTargets targets);
};
