blob: d9ccd1ea73213666e9e0e5158f75464b5166833f [file] [log] [blame]
// Copyright 2019 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.sessions2;
using fuchsia.media;
/// All information required by the media session registry service to
/// register a player so that clients may observe its status and control
/// it.
type PlayerRegistration = table {
/// The domain on which the player exists. Unset if it is the native
/// Fuchsia domain.
1: domain Domain;
/// The usage of the player's audio output. By default, this is assumed
/// to be MEDIA.
2: usage fuchsia.media.AudioRenderUsage;
};
/// `Publisher` publishes media players so they may be discovered and
/// controlled by clients who have permission to do so.
@discoverable
closed protocol Publisher {
strict Publish(resource struct {
player client_end:Player;
registration PlayerRegistration;
}) -> (struct {
session_id SessionId;
});
};