// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module media_router.mojom;
import "mojo/public/mojom/base/values.mojom";
// An interface for Media Router debugging and feedback.
interface Debugger {
// If enabled, a mirroring session will use RTCP receiver reports for stat
// fetching and analysis.
ShouldFetchMirroringStats() => (bool should_fetch);
// Sends the current mirroring stats of the current mirroring session.
// The stats should be sent as a base::Value::Dict.
// TODO(b/275409476): Handle multiple mirroring sessions at once. If there are
// multiple mojom pipes all sending stats at once, the most recently sent stat
// push will be used.
OnMirroringStats(mojo_base.mojom.Value json_stats);
// Binds this debugger to a new pending receiver, allowing any code with
// access to a Debugger to create a new receiver for it.
BindReceiver(pending_receiver<Debugger> receiver);
};