// 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(); };