Tizen 2.0 Release
[framework/osp/media.git] / src / FMedia_RecorderTypes.h
1 //\r
2 // Open Service Platform\r
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.\r
4 //\r
5 // Licensed under the Apache License, Version 2.0 (the License);\r
6 // you may not use this file except in compliance with the License.\r
7 // You may obtain a copy of the License at\r
8 //\r
9 //     http://www.apache.org/licenses/LICENSE-2.0\r
10 //\r
11 // Unless required by applicable law or agreed to in writing, software\r
12 // distributed under the License is distributed on an "AS IS" BASIS,\r
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14 // See the License for the specific language governing permissions and\r
15 // limitations under the License.\r
16 //\r
17
18 /**
19  * @file                        FMedia_RecorderTypes.h
20  * @brief                       This header file contains the types of the recorder.
21  *
22  */
23
24 #ifndef _FMEDIA_INTERNAL_RECORDER_TYPES_H_
25 #define _FMEDIA_INTERNAL_RECORDER_TYPES_H_
26
27 #include <recorder.h>
28
29 namespace Tizen { namespace Media
30 {
31
32 typedef recorder_h _RecorderHandle;\r
33
34 #define MM_INVALID_HANDLE 0
35 #define MEDIA_INVALID_VALUE -1
36 #define MM_SUCCESS 0
37
38 //
39 // @enum _RecorderEventType\r
40 // @ This represents VRecorder's event type.
41 //
42 enum _RecorderEventType\r
43 {
44         _RECORDER_EVENT_NONE,                                                             /**< Event_None */\r
45
46         _RECORDER_EVENT_RECORDING_STARTED,                                       /**< Recorder recording event*/\r
47         _RECORDER_EVENT_STOPPED,                                         /**< Recorder Stopped event */\r
48         _RECORDER_EVENT_CANCELED,                                        /**< Recorder Canceled event */\r
49         _RECORDER_EVENT_ENDOF_FILESIZE,                                  /**< Recorder reached to end of file size event */\r
50         _RECORDER_EVENT_ENDOF_RECTIME,                                   /**< Recorder reached to end of recording time event */\r
51         _RECORDER_EVENT_PAUSED,                                  /**< Recorder Paused event */\r
52         _RECORDER_EVENT_CLOSED,                                  /**< Recorder Closed event */\r
53         _RECORDER_EVENT_INTERRUPTED,                     /**< Interrupted event */\r
54         _RECORDER_EVENT_RELEASED,                               /**< Released event */\r
55
56         _RECORDER_EVENT_ERROR,                     /**< Error event */\r
57 };
58
59 //
60 // @enum _RecorderDeviceType\r
61 // Defines the recorder's device type
62 //
63 enum _RecorderDeviceType\r
64 {
65         _RECORDER_DEVICE_NONE,            /**< The recorder none */\r
66         _RECORDER_DEVICE_VIDEO_PRIMARY_CAMERA,          /**< The video recorder using primary camera*/\r
67         _RECORDER_DEVICE_VIDEO_SECONDARY_CAMERA,                /**< The video recorder using secondary camera*/\r
68         _RECORDER_DEVICE_AUDIO,         /**< The audio recorder */\r
69         _RECORDER_DEVICE_MAX                    /**< The max boundary */\r
70 };
71 \r
72 //\r
73 // @enum _RecorderSourceType\r
74 // Defines the recorder's source type\r
75 //\r
76 enum _RecorderSourceType\r
77 {\r
78         _RECORDER_SOURCE_NONE,            /**< The recorder source none */\r
79         _RECORDER_SOURCE_AUDIO,           /**< The recorder source audio */\r
80         _RECORDER_SOURCE_VIDEO,           /**< The recorder source video */\r
81         _RECORDER_SOURCE_MAX                    /**< The max boundary */\r
82 };\r
83 \r
84 //
85 // @enum _RecorderStateChangeReason\r
86 // @ This reason of state changing.
87 //
88 enum _RecorderStateChangeReason\r
89 {
90         _RECORDER_STATE_REASON_NORMAL,\r
91         _RECORDER_STATE_REASON_STOP,\r
92         _RECORDER_STATE_REASON_CANCEL,\r
93         _RECORDER_STATE_REASON_END_SIZE_REACHED,\r
94         _RECORDER_STATE_REASON_END_TIME_REACHED,\r
95         _RECORDER_STATE_REASON_OUT_OF_STORAGE,\r
96 };
97
98 }}
99
100 #endif