blob: e3298b2defb3e860d6406f152b941f14741707b0 [file] [log] [blame]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.media;
using zx;
[Discoverable, Layout = "Simple"]
protocol ProfileProvider {
/// Register a thread as a media thread. This notifies the media subsystem
/// that this thread should have an elevated scheduling profile applied to
/// it in order to meet audio or video deadlines.
///
/// `name` is the name of the component requesting the profile.
/// `period` is the suggested interval to be scheduled at.
///
/// Returns the period and capacity that was applied, if a deadline profile
/// was selected. Returns 0 if no deadline profile was selected.
RegisterHandler(handle<thread> thread_handle, string:64 name, zx.duration period)
-> (zx.duration period, zx.duration capacity);
};