| // 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 |
| protocol Publisher { |
| Publish(resource struct { |
| player client_end:Player; |
| registration PlayerRegistration; |
| }) -> (struct { |
| session_id SessionId; |
| }); |
| }; |