Release 4.0.0-preview1-00201
[platform/core/csapi/tizenfx.git] / src / Tizen.Multimedia.Remoting / ScreenMirroring / ScreenMirroringEnums.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18
19 namespace Tizen.Multimedia.Remoting
20 {
21     /// <summary>
22     /// Specifies the audio codecs for <see cref="ScreenMirroring"/>.
23     /// </summary>
24     /// <seealso cref="ScreenMirroringAudioInfo"/>
25     public enum ScreenMirroringAudioCodec
26     {
27         /// <summary>
28         /// The screen mirroring is not negotiated yet.
29         /// </summary>
30         None,
31         /// <summary>
32         /// AAC codec.
33         /// </summary>
34         Aac,
35         /// <summary>
36         /// AC3 codec.
37         /// </summary>
38         Ac3,
39         /// <summary>
40         /// LPCM codec.
41         /// </summary>
42         Lpcm
43     }
44
45     /// <summary>
46     /// Specifies the video codecs for <see cref="ScreenMirroring"/>.
47     /// </summary>
48     /// <seealso cref="ScreenMirroringVideoInfo"/>
49     public enum ScreenMirroringVideoCodec
50     {
51         /// <summary>
52         /// The screen mirroring is not negotiated yet.
53         /// </summary>
54         None,
55         /// <summary>
56         /// H.264 codec.
57         /// </summary>
58         H264
59     }
60
61     /// <summary>
62     /// Specifies the available combinations of resolutions and fps for <see cref="ScreenMirroring"/>.
63     /// </summary>
64     [Flags]
65     public enum ScreenMirroringResolutions
66     {
67         /// <summary>
68         /// W-1920, H-1080, 30 fps.
69         /// </summary>
70         R1920x1080P30 = (1 << 0),
71         /// <summary>
72         /// W-1280, H-720, 30 fps.
73         /// </summary>
74         R1280x720P30 = (1 << 1),
75         /// <summary>
76         /// W-960, H-540, 30 fps.
77         /// </summary>
78         R960x540P30 = (1 << 2),
79         /// <summary>
80         /// W-864, H-480, 30 fps.
81         /// </summary>
82         R864x480P30 = (1 << 3),
83         /// <summary>
84         /// W-720, H-480, 60 fps.
85         /// </summary>
86         R720x480P60 = (1 << 4),
87         /// <summary>
88         /// W-640, H-480, 60 fps.
89         /// </summary>
90         R640x480P60 = (1 << 5),
91         /// <summary>
92         /// W-640, H-360, 30 fps.
93         /// </summary>
94         R640x360P30 = (1 << 6)
95     }
96
97     /// <summary>
98     /// Specifies the states of <see cref="ScreenMirroring"/>.
99     /// </summary>
100     public enum ScreenMirroringState
101     {
102         /// <summary>
103         /// Idle.
104         /// </summary>
105         Idle = 1,
106
107         /// <summary>
108         /// Prepared.
109         /// </summary>
110         /// <seealso cref="ScreenMirroring.Prepare(Display, ScreenMirroringResolutions)"/>
111         Prepared,
112
113         /// <summary>
114         /// Connected to a source.
115         /// </summary>
116         /// <seealso cref="ScreenMirroring.ConnectAsync(string)"/>
117         Connected,
118
119         /// <summary>
120         /// Playing.
121         /// </summary>
122         /// <seealso cref="ScreenMirroring.StartAsync"/>
123         Playing,
124
125         /// <summary>
126         /// Paused while playing media.
127         /// </summary>
128         /// <seealso cref="ScreenMirroring.PauseAsync"/>
129         Paused,
130
131         /// <summary>
132         /// Disconnected from source.
133         /// </summary>
134         /// <seealso cref="ScreenMirroring.Disconnect"/>
135         Disconnected
136     }
137
138     /// <summary>
139     /// Specifies the errors for <see cref="ScreenMirroring"/>.
140     /// </summary>
141     public enum ScreenMirroringError
142     {
143         /// <summary>
144         /// Invalid operation.
145         /// </summary>
146         InvalidOperation = ScreenMirroringErrorCode.InvalidOperation
147     }
148 }