Tizen 2.0 Release
[framework/osp/media.git] / inc / FMediaRecorderTypes.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 /**
19  * @file                        FMediaRecorderTypes.h
20  * @brief                       This is the header file for the enumerations of the AudioRecorder and VideoRecorder classes.
21  *
22  * This header file contains the definitions of the enumerations of the AudioRecorder and VideoRecorder classes.
23  */
24
25 #ifndef _FMEDIA_RECORDER_TYPES_H_
26 #define _FMEDIA_RECORDER_TYPES_H_
27
28 namespace Tizen { namespace Media
29 {
30
31 /**
32  * @enum RecorderState
33  *
34  * Defines the state of the recorder.
35  *
36  * @since               2.0
37  *
38  * @see         AudioRecorder::GetState()
39  * @see         VideoRecorder::GetState()
40  */
41 enum RecorderState
42 {
43         RECORDER_STATE_INITIALIZED,      /**< The recorder is initialized */
44         RECORDER_STATE_OPENED,            /**< The file to write into is opened */
45         RECORDER_STATE_ENDOF_FILE,        /**< The recorder has reached the end of size or time */
46         RECORDER_STATE_STOPPING,                /**< The recorder stops recording */
47         RECORDER_STATE_STOPPED,          /**< The recorder is stopped and has no current record-time @n
48                                                                                  However, the media content is opened and initialized. */
49         RECORDER_STATE_PAUSING,          /**< The recorder is paused at a specific position */
50         RECORDER_STATE_PAUSED,            /**< The recorder is paused */
51         RECORDER_STATE_STARTING,                /**< The recording operation is starting */
52         RECORDER_STATE_RECORDING,          /**< The recording state of the recorder */
53         RECORDER_STATE_CLOSING,          /**< The recorder process is closing */
54         RECORDER_STATE_CLOSED,            /**< The file is closed */
55         RECORDER_STATE_ERROR,              /**< An error has occurred in the recorder */
56 };
57
58 /**
59  * @enum RecordingQuality
60  *
61  * Defines the quality of the recorder.
62  *
63  * @since               2.0
64  *
65  * @see AudioRecorder::SetQuality()
66  * @see AudioRecorder::GetQuality()
67  * @see VideoRecorder::SetQuality()
68  * @see VideoRecorder::GetQuality()
69
70  */
71 enum RecordingQuality
72 {
73         RECORDING_QUALITY_LOW,                            /**< The low quality */
74         RECORDING_QUALITY_MEDIUM,                          /**< The medium quality */
75         RECORDING_QUALITY_HIGH,                          /**< The high quality */
76 };
77
78 /**
79  * @enum RecordingEndCondition
80  *
81  * Defines the record ending by reaching the limit.
82  *
83  * @since               2.0
84  *
85  * @see AudioRecorder::SetMaxRecordingTime()
86  * @see VideoRecorder::SetMaxRecordingTime()
87  *
88  */
89 enum RecordingEndCondition
90 {
91         RECORDING_ENDOF_MAX_SIZE,                  /**< The end of file size */
92         RECORDING_ENDOF_MAX_TIME,                  /**< The end of time */
93 };
94
95 /**
96  * @enum RecorderErrorReason
97  *
98  * Defines the error reasons of the recorder.
99  *
100  * @since               2.0
101  */
102 enum RecorderErrorReason
103 {
104         RECORDER_ERROR_NONE,                                            // Undefined error
105         RECORDER_ERROR_OUT_OF_STORAGE,            /**< The storage is insufficient */
106         RECORDER_ERROR_STORAGE_FAILED,            /**< The device storage access has failed */
107         RECORDER_ERROR_DEVICE_FAILED,              /**< The recording device has failed */
108 };
109
110 /**
111  * @enum RecordingRotation
112  *
113  * Defines the recording rotation of the recorder.
114  *
115  * @since               2.0
116  */
117 enum RecordingRotation
118 {
119         RECORDING_ROTATION_NONE,                /**< The recording rotation: None */
120         RECORDING_ROTATION_90,                  /**< The recording rotation: 90 degree rotation */
121         RECORDING_ROTATION_180,                 /**< The recording rotation: 180 degree rotation */
122         RECORDING_ROTATION_270,                 /**< The recording rotation: 270 degree rotation */
123 };
124
125 }}
126
127 #endif