| // 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; |
| |
| enum RemotingStopReason { |
| ROUTE_TERMINATED, // User-initiated disconnect, etc. |
| LOCAL_PLAYBACK, // Media switched back to local playback. |
| SOURCE_GONE, // RemotingSource has been destroyed. |
| MESSAGE_SEND_FAILED, // Failed to send a message to the sink. |
| DATA_SEND_FAILED, // Failed to consume from a data pipe or send to the sink. |
| UNEXPECTED_FAILURE, // Unexpected failure or inconsistent state encountered. |
| SERVICE_GONE, // Mirror service disconnected. |
| USER_DISABLED, // Media Remoting was disabled by user. |
| }; |
| |
| enum RemotingStartFailReason { |
| CANNOT_START_MULTIPLE, // Remoting was already active. |
| ROUTE_TERMINATED, // User-initated disconnect while starting remoting. |
| INVALID_ANSWER_MESSAGE, // Invalid ANSWER message. |
| REMOTING_NOT_PERMITTED, // Remoter does not have dialog permission. |
| }; |
| |
| enum RemotingSinkFeature { |
| RENDERING, |
| CONTENT_DECRYPTION, |
| }; |
| |
| enum RemotingSinkAudioCapability { |
| CODEC_BASELINE_SET, |
| CODEC_AAC, |
| CODEC_OPUS, |
| }; |
| |
| enum RemotingSinkVideoCapability { |
| SUPPORT_4K, |
| CODEC_BASELINE_SET, |
| CODEC_H264, |
| CODEC_VP8, |
| CODEC_VP9, |
| CODEC_HEVC, |
| }; |
| |
| struct RemotingSinkMetadata { |
| array<RemotingSinkFeature> features; |
| array<RemotingSinkAudioCapability> audio_capabilities; |
| array<RemotingSinkVideoCapability> video_capabilities; |
| string friendly_name; |
| }; |