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