blob: e788def9f8abd3fe413210ff12d8abe0475abc6b [file] [log] [blame]
// Copyright 2018 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 mirroring.mojom;
// Errors occurred in a mirroring session.
enum SessionError {
ANSWER_TIME_OUT, // ANSWER timeout.
ANSWER_NOT_OK, // Not OK answer response.
ANSWER_MISMATCHED_CAST_MODE, // ANSWER cast mode mismatched.
ANSWER_MISMATCHED_SSRC_LENGTH, // ANSWER ssrc length mismatched with indexes.
ANSWER_SELECT_MULTIPLE_AUDIO, // Multiple audio streams selected by ANSWER.
ANSWER_SELECT_MULTIPLE_VIDEO, // Multiple video streams selected by ANSWER.
ANSWER_SELECT_INVALID_INDEX, // Invalid index was selected.
ANSWER_NO_AUDIO_OR_VIDEO, // ANSWER not select audio or video.
AUDIO_CAPTURE_ERROR, // Error occurred in audio capturing.
VIDEO_CAPTURE_ERROR, // Error occurred in video capturing.
RTP_STREAM_ERROR, // Error reported by RtpStream.
ENCODING_ERROR, // Error occurred in encoding.
CAST_TRANSPORT_ERROR, // Error occurred in cast transport.
};
// Observer interface for receiving notifications about significant lifecycle
// events.
interface SessionObserver {
// Called when error occurred. The session will be stopped.
OnError(SessionError error);
// Called when session completes starting.
DidStart();
// Called when the session stops.
DidStop();
};