[go: nahoru, domu]

blob: 1fb7c40550daa7314b3ae961f4b382551fd005c0 [file] [log] [blame]
// Copyright 2017 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.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.
};
// These values are persisted to logs. Entries should not be renumbered and
// numeric values should never be reused.
enum RemotingStartFailReason {
CANNOT_START_MULTIPLE = 0, // Remoting was already active.
ROUTE_TERMINATED = 1, // User-initated disconnect while starting remoting.
INVALID_ANSWER_MESSAGE = 2, // Invalid ANSWER message.
REMOTING_NOT_PERMITTED = 3, // 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;
};