summaryrefslogtreecommitdiff
path: root/include/recorder.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/recorder.h')
-rw-r--r--include/recorder.h337
1 files changed, 149 insertions, 188 deletions
diff --git a/include/recorder.h b/include/recorder.h
index 2ba1392..857f1f6 100644
--- a/include/recorder.h
+++ b/include/recorder.h
@@ -11,7 +11,7 @@
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
-* limitations under the License.
+* limitations under the License.
*/
#ifndef __TIZEN_MULTIMEDIA_RECORDER_H__
@@ -29,7 +29,7 @@ extern "C" {
/**
* @file recorder.h
* @brief This file contains the Recorder API.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
/**
@@ -39,35 +39,35 @@ extern "C" {
/**
* @brief The Media recorder handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef struct recorder_s *recorder_h;
/**
* @brief Enumeration for error code of the media recorder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
- RECORDER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
- RECORDER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
- RECORDER_ERROR_INVALID_STATE = RECORDER_ERROR_CLASS | 0x02, /**< Invalid state */
- RECORDER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY , /**< Out of memory */
- RECORDER_ERROR_DEVICE = RECORDER_ERROR_CLASS | 0x04, /**< Device error */
- RECORDER_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Internal error */
- RECORDER_ERROR_SOUND_POLICY = RECORDER_ERROR_CLASS | 0x06, /**< Blocked by Audio Session Manager */
- RECORDER_ERROR_SECURITY_RESTRICTED = RECORDER_ERROR_CLASS | 0x07, /**< Restricted by security system policy */
- RECORDER_ERROR_SOUND_POLICY_BY_CALL = RECORDER_ERROR_CLASS | 0x08, /**< Blocked by Audio Session Manager - CALL */
+ RECORDER_ERROR_NONE = TIZEN_ERROR_NONE, /**< Successful */
+ RECORDER_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */
+ RECORDER_ERROR_INVALID_STATE = RECORDER_ERROR_CLASS | 0x02, /**< Invalid state */
+ RECORDER_ERROR_OUT_OF_MEMORY = TIZEN_ERROR_OUT_OF_MEMORY , /**< Out of memory */
+ RECORDER_ERROR_DEVICE = RECORDER_ERROR_CLASS | 0x04, /**< Device error */
+ RECORDER_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Internal error */
+ RECORDER_ERROR_SOUND_POLICY = RECORDER_ERROR_CLASS | 0x06, /**< Blocked by Audio Session Manager */
+ RECORDER_ERROR_SECURITY_RESTRICTED = RECORDER_ERROR_CLASS | 0x07, /**< Restricted by security system policy */
+ RECORDER_ERROR_SOUND_POLICY_BY_CALL = RECORDER_ERROR_CLASS | 0x08, /**< Blocked by Audio Session Manager - CALL */
RECORDER_ERROR_SOUND_POLICY_BY_ALARM = RECORDER_ERROR_CLASS | 0x09, /**< Blocked by Audio Session Manager - ALARM */
- RECORDER_ERROR_ESD = RECORDER_ERROR_CLASS | 0x0a, /**< ESD situation */
- RECORDER_ERROR_OUT_OF_STORAGE = RECORDER_ERROR_CLASS | 0x0b, /**< Out of storage */
- RECORDER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted */
+ RECORDER_ERROR_ESD = RECORDER_ERROR_CLASS | 0x0a, /**< ESD situation */
+ RECORDER_ERROR_OUT_OF_STORAGE = RECORDER_ERROR_CLASS | 0x0b, /**< Out of storage */
+ RECORDER_ERROR_PERMISSION_DENIED = TIZEN_ERROR_PERMISSION_DENIED, /**< The access to the resources can not be granted */
RECORDER_ERROR_NOT_SUPPORTED = TIZEN_ERROR_NOT_SUPPORTED, /**< The feature is not supported */
} recorder_error_e;
/**
* @brief Enumeration for recorder states.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -80,7 +80,7 @@ typedef enum
/**
* @brief Enumeration for the recording limit.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -91,7 +91,7 @@ typedef enum
/**
* @brief Enumeration for the file container format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -105,7 +105,7 @@ typedef enum
/**
* @brief Enumeration for the audio codec.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -118,7 +118,7 @@ typedef enum
/**
* @brief Enumeration for the video codec.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -130,7 +130,7 @@ typedef enum
/**
* @brief Enumeration for audio capture devices.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -140,7 +140,7 @@ typedef enum
/**
* @brief Enumeration for the recorder rotation type.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -151,20 +151,8 @@ typedef enum
} recorder_rotation_e;
/**
- * @brief Enumerations for the recorder flip type.
- */
-typedef enum
-{
- RECORDER_FLIP_NONE, /**< No Flip */
- RECORDER_FLIP_HORIZONTAL, /**< Horizontal flip */
- RECORDER_FLIP_VERTICAL, /**< Vertical flip */
- RECORDER_FLIP_BOTH /**< Horizontal and vertical flip */
-} recorder_flip_e;
-
-
-/**
* @brief Enumeration for the recorder policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
*/
typedef enum
{
@@ -187,7 +175,7 @@ typedef enum
/**
* @brief Called when limitation error occurs while recording.
* @details The callback function is possible to receive three types of limits: time, size and no-space.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks After being called, recording data is discarded and not written in the recording file. Also the state of recorder is not changed.
* @param[in] type The imitation type
* @param[in] user_data The user data passed from the callback registration function
@@ -200,7 +188,7 @@ typedef void (*recorder_recording_limit_reached_cb)(recorder_recording_limit_typ
/**
* @brief Called to indicate the recording status.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This callback function is repeatedly invoked during the #RECORDER_STATE_RECORDING state.
* @param[in] elapsed_time The time of the recording (milliseconds)
* @param[in] file_size The size of the recording file (KB)
@@ -214,7 +202,7 @@ typedef void (*recorder_recording_status_cb)(unsigned long long elapsed_time, un
/**
* @brief Called when the record state is changed.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] previous The previous state of the recorder
* @param[in] current The current state of the recorder
* @param[in] by_policy @c true if the state is changed by policy, otherwise @c false if the state is not changed
@@ -232,7 +220,7 @@ typedef void (*recorder_state_changed_cb)(recorder_state_e previous , recorder_s
/**
* @brief Called when the recorder is interrupted by a policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] policy The policy that is interrupting the recorder
* @param[in] previous The previous state of the recorder
* @param[in] current The current state of the recorder
@@ -243,7 +231,7 @@ typedef void (*recorder_interrupted_cb)(recorder_policy_e policy, recorder_state
/**
* @brief Called when audio stream data was being delivered just before storing in the recorded file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks The callback function holds the same buffer that will be recorded. \n
* So if the user changes the buffer, the result file will contain the buffer.
* @remarks The callback is called via internal thread of Frameworks, therefore do not invoke UI API, recorder_unprepare(), recorder_commit() and recorder_cancel() in callback.
@@ -259,7 +247,7 @@ typedef void (*recorder_audio_stream_cb)(void* stream, int size, audio_sample_ty
/**
* @brief Called once for each supported video resolution.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] width The video image width
* @param[in] height The video image height
* @param[in] user_data The user data passed from the foreach function
@@ -271,7 +259,7 @@ typedef bool (*recorder_supported_video_resolution_cb)(int width, int height, vo
/**
* @brief Called when the error occurred.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This callback informs about the critical error situation. \n
* When being invoked, user should release the resource and terminate the application. \n
* This error code will be reported.
@@ -298,7 +286,7 @@ typedef void (*recorder_error_cb)(recorder_error_e error, recorder_state_e curre
/**
* @brief Called iteratively to notify about the supported file formats.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] format The format of recording files
* @param[in] user_data The user data passed from the foreach function
* @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
@@ -309,7 +297,7 @@ typedef bool (*recorder_supported_file_format_cb)(recorder_file_format_e format,
/**
* @brief Called iteratively to notify about the supported audio encoders.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] codec The codec of audio encoder
* @param[in] user_data The user data passed from the foreach function
* @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
@@ -320,7 +308,7 @@ typedef bool (*recorder_supported_audio_encoder_cb)(recorder_audio_codec_e codec
/**
* @brief Called iteratively to notify about the supported video encoders.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] codec The codec of video encoder
* @param[in] user_data The user data passed from the foreach function
* @return @c true to continue with the next iteration of the loop, \n otherwise @c false to break out of the loop
@@ -340,7 +328,7 @@ typedef bool (*recorder_supported_video_encoder_cb)(recorder_video_codec_e codec
/**
* @brief Creates a recorder handle to record a video.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks You must release @a recorder using recorder_destroy(). \n
@@ -368,7 +356,7 @@ int recorder_create_videorecorder(camera_h camera, recorder_h *recorder);
/**
* @brief Creates a recorder handle to record an audio.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks You must release @a recorder using recorder_destroy().
@@ -389,7 +377,7 @@ int recorder_create_audiorecorder(recorder_h *recorder);
/**
* @brief Destroys the recorder handle.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks The video recorder's camera handle is not released by this function.
@@ -411,7 +399,7 @@ int recorder_destroy(recorder_h recorder);
/**
* @brief Prepares the media recorder for recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks Before calling the function, it is required to properly set audio encoder (recorder_set_audio_encoder()),
@@ -439,7 +427,7 @@ int recorder_prepare(recorder_h recorder);
/**
* @brief Resets the media recorder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @param[in] recorder The handle to the media recorder
@@ -461,7 +449,7 @@ int recorder_unprepare(recorder_h recorder);
/**
* @brief Starts the recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks If file path has been set to an existing file, this file is removed automatically and updated by new one. \n
@@ -495,7 +483,7 @@ int recorder_start(recorder_h recorder);
/**
* @brief Pauses the recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks Recording can be resumed with recorder_start().
@@ -517,7 +505,7 @@ int recorder_pause(recorder_h recorder);
/**
* @brief Stops recording and saves the result.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks When you want to record audio or video file, you need to add privilege according to rules below additionally. \n
@@ -543,7 +531,7 @@ int recorder_commit(recorder_h recorder);
/**
* @brief Cancels the recording.
* @details The recording data is discarded and not written in the recording file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @privlevel public
* @privilege %http://tizen.org/privilege/recorder
* @remarks When you want to record audio or video file, you need to add privilege according to rules below additionally. \n
@@ -568,7 +556,7 @@ int recorder_cancel(recorder_h recorder);
/**
* @brief Gets the recorder's current state.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] state The current state of the recorder
* @return @c 0 on success, otherwise a negative error value
@@ -581,7 +569,7 @@ int recorder_get_state(recorder_h recorder, recorder_state_e *state);
/**
* @brief Gets the peak audio input level that was sampled since the last call to this function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks @c 0 dB indicates maximum input level, @c -300 dB indicates minimum input level.
* @param[in] recorder The handle to the media recorder
* @param[out] dB The audio input level in dB
@@ -598,7 +586,7 @@ int recorder_get_audio_level(recorder_h recorder, double *dB);
/**
* @brief Sets the file path to record.
* @details This function sets file path which defines where newly recorded data should be stored.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks If the same file already exists in the file system, then old file will be overwritten.
* @param[in] recorder The handle to the media recorder
* @param[in] path The recording file path
@@ -608,14 +596,14 @@ int recorder_get_audio_level(recorder_h recorder, double *dB);
* @retval #RECORDER_ERROR_INVALID_STATE Invalid state
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @pre The recorder state must be #RECORDER_STATE_CREATED by recorder_create() or recorder_unprepare().
+ * @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY.
* @see recorder_get_filename()
*/
int recorder_set_filename(recorder_h recorder, const char *path);
/**
* @brief Gets the file path to record.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks You must release @a path using free().
* @param[in] recorder The handle to the media recorder
* @param[out] path The recording file path
@@ -630,7 +618,10 @@ int recorder_get_filename(recorder_h recorder, char **path);
/**
* @brief Sets the file format for recording media stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @remarks Since 2.3.1, it could be returned #RECORDER_ERROR_INVALID_OPERATION \n
+ * when it's audio recorder and its state is #RECORDER_STATE_READY \n
+ * because of checking codec compatibility with current encoder.
* @param[in] recorder The handle to the media recorder
* @param[in] format The media file format
* @return @c 0 on success, otherwise a negative error value
@@ -639,7 +630,9 @@ int recorder_get_filename(recorder_h recorder, char **path);
* @retval #RECORDER_ERROR_INVALID_STATE Invalid state
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @pre The recorder state must be #RECORDER_STATE_CREATED.
+ * @retval #RECORDER_ERROR_INVALID_OPERATION Invalid operation (Since 2.3.1)
+ * @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY (for video recorder only).\n
+ * Since 2.3.1, this API also works for audio recorder when its state is #RECORDER_STATE_READY.
* @see recorder_get_file_format()
* @see recorder_foreach_supported_file_format()
*/
@@ -648,7 +641,7 @@ int recorder_set_file_format(recorder_h recorder, recorder_file_format_e format)
/**
* @brief Gets the file format for recording media stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] format The media file format
* @return @c 0 on success, otherwise a negative error value
@@ -673,7 +666,7 @@ int recorder_get_file_format(recorder_h recorder, recorder_file_format_e *format
/**
* @brief Retrieves all supported file formats by invoking a specific callback for each supported file format.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The iteration callback
* @param[in] user_data The user data to be passed to the callback function
@@ -700,9 +693,12 @@ int recorder_foreach_supported_file_format(recorder_h recorder, recorder_support
/**
* @brief Sets the audio codec for encoding an audio stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks You can get available audio encoders by using recorder_foreach_supported_audio_encoder(). \n
- * If set to #RECORDER_AUDIO_CODEC_DISABLE, the audio track is not created in recording files.
+ * If set to #RECORDER_AUDIO_CODEC_DISABLE, the audio track is not created in recording files.\n
+ * Since 2.3.1, it could be returned #RECORDER_ERROR_INVALID_OPERATION \n
+ * when it's audio recorder and its state is #RECORDER_STATE_READY \n
+ * because of checking codec compatibility with current file format.
* @param[in] recorder The handle to the media recorder
* @param[in] codec The audio codec
* @return @c 0 on success, otherwise a negative error value
@@ -711,6 +707,7 @@ int recorder_foreach_supported_file_format(recorder_h recorder, recorder_support
* @retval #RECORDER_ERROR_INVALID_STATE Invalid state
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @retval #RECORDER_ERROR_INVALID_OPERATION Invalid operation (Since 2.3.1)
* @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY.
* @see recorder_get_audio_encoder()
* @see recorder_foreach_supported_audio_encoder()
@@ -719,7 +716,7 @@ int recorder_set_audio_encoder(recorder_h recorder, recorder_audio_codec_e codec
/**
* @brief Gets the audio codec for encoding an audio stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] codec The audio codec
* @return @c 0 on success, otherwise a negative error value
@@ -743,7 +740,7 @@ int recorder_get_audio_encoder(recorder_h recorder, recorder_audio_codec_e *code
/**
* @brief Retrieves all supported audio encoders by invoking a specific callback for each supported audio encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The iteration callback
* @param[in] user_data The user data to be passed to the callback function
@@ -770,7 +767,7 @@ int recorder_foreach_supported_audio_encoder(recorder_h recorder, recorder_suppo
/**
* @brief Sets the resolution of the video recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This function should be called before recording (recorder_start()).
* @param[in] recorder The handle to the media recorder
* @param[in] width The preview width
@@ -790,11 +787,11 @@ int recorder_set_video_resolution(recorder_h recorder, int width, int height);
/**
* @brief Gets the resolution of the video recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] width The video width
* @param[out] height The video height
- * @return 0 on success, otherwise a negative error value
+ * @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
* @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
@@ -805,8 +802,45 @@ int recorder_set_video_resolution(recorder_h recorder, int width, int height);
int recorder_get_video_resolution(recorder_h recorder, int *width, int *height);
/**
+ * @}
+*/
+
+/**
+ * @addtogroup CAPI_MEDIA_RECORDER_CAPABILITY_MODULE
+ * @{
+ */
+
+/**
+ * @brief Retrieves all supported video resolutions by invoking callback function once for each supported video resolution.
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
+ * @param[in] recorder The handle to the media recorder
+ * @param[in] foreach_cb The callback function to be invoked
+ * @param[in] user_data The user data to be passed to the callback function
+ * @return @c 0 on success, otherwise a negative error value
+ * @retval #RECORDER_ERROR_NONE Successful
+ * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
+ * @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @post This function invokes recorder_supported_video_resolution_cb() repeatedly to retrieve each supported video resolution.
+ * @see recorder_set_video_resolution()
+ * @see recorder_get_video_resolution()
+ * @see recorder_supported_video_resolution_cb()
+ */
+int recorder_foreach_supported_video_resolution(recorder_h recorder,
+ recorder_supported_video_resolution_cb foreach_cb, void *user_data);
+
+/**
+ * @}
+*/
+
+/**
+ * @addtogroup CAPI_MEDIA_RECORDER_MODULE
+ * @{
+ */
+
+/**
* @brief Sets the video codec for encoding video stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks You can get available video encoders by using recorder_foreach_supported_video_encoder().
* @param[in] recorder The handle to the media recorder
* @param[in] codec The video codec
@@ -824,7 +858,7 @@ int recorder_set_video_encoder(recorder_h recorder, recorder_video_codec_e codec
/**
* @brief Gets the video codec for encoding video stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] codec The video codec
* @return @c 0 on success, otherwise a negative error value
@@ -847,27 +881,8 @@ int recorder_get_video_encoder(recorder_h recorder, recorder_video_codec_e *code
*/
/**
- * @brief Retrieves all supported video resolutions by invoking callback function once for each supported video resolution.
- * @since_tizen 2.3
- * @param[in] recorder The handle to the media recorder
- * @param[in] foreach_cb The callback function to be invoked
- * @param[in] user_data The user data to be passed to the callback function
- * @return @c 0 on success, otherwise a negative error value
- * @retval #RECORDER_ERROR_NONE Successful
- * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
- * @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @post This function invokes recorder_supported_video_resolution_cb() repeatedly to retrieve each supported video resolution.
- * @see recorder_set_video_resolution()
- * @see recorder_get_video_resolution()
- * @see recorder_supported_video_resolution_cb()
- */
-int recorder_foreach_supported_video_resolution(recorder_h recorder,
- recorder_supported_video_resolution_cb foreach_cb, void *user_data);
-
-/**
* @brief Retrieves all supported video encoders by invoking a specific callback for each supported video encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The iteration callback
* @param[in] user_data The user data to be passed to the callback function
@@ -894,7 +909,7 @@ int recorder_foreach_supported_video_encoder(recorder_h recorder, recorder_suppo
/**
* @brief Registers the callback function that will be invoked when the recorder state changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The function pointer of user callback
* @param[in] user_data The user data to be passed to the callback function
@@ -911,7 +926,7 @@ int recorder_set_state_changed_cb(recorder_h recorder, recorder_state_changed_cb
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
@@ -924,7 +939,7 @@ int recorder_unset_state_changed_cb(recorder_h recorder);
/**
* @brief Registers a callback function to be called when the media recorder is interrupted according to a policy.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The callback function to register
* @param[in] user_data The user data to be passed to the callback function
@@ -941,7 +956,7 @@ int recorder_set_interrupted_cb(recorder_h recorder, recorder_interrupted_cb cal
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
@@ -954,7 +969,7 @@ int recorder_unset_interrupted_cb(recorder_h recorder);
/**
* @brief Registers a callback function to be called when audio stream data is being delivered.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This callback function holds the same buffer that will be recorded. \n
* Therefore if an user changes the buffer, the result file will have the buffer. \n
* @remarks The callback is called via internal thread of Frameworks. Therefore do not invoke UI API, recorder_unprepare(), recorder_commit() and recorder_cancel() in callback.\n
@@ -976,20 +991,20 @@ int recorder_set_audio_stream_cb(recorder_h recorder, recorder_audio_stream_cb c
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
* @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @see recorder_set_audio_stream_cb()
+ * @see recorder_set_audio_stream_cb()
*/
int recorder_unset_audio_stream_cb(recorder_h recorder);
/**
* @brief Registers a callback function to be invoked when the recording information changes.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] callback The function pointer of user callback
* @param[in] user_data The user data to be passed to the callback function
@@ -1006,7 +1021,7 @@ int recorder_set_recording_status_cb(recorder_h recorder, recorder_recording_sta
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
@@ -1019,7 +1034,7 @@ int recorder_unset_recording_status_cb(recorder_h recorder);
/**
* @brief Registers the callback function to be run when reached the recording limit.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to media recorder
* @param[in] callback The function pointer of user callback
* @param[in] user_data The user data to be passed to the callback function
@@ -1038,7 +1053,7 @@ int recorder_set_recording_limit_reached_cb(recorder_h recorder, recorder_record
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
@@ -1051,7 +1066,7 @@ int recorder_unset_recording_limit_reached_cb(recorder_h recorder);
/**
* @brief Registers a callback function to be called when an asynchronous operation error occurred.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This callback informs critical error situation.\n
* When this callback is invoked, user should release the resource and terminate the application. \n
* These error codes will occur. \n
@@ -1075,7 +1090,7 @@ int recorder_set_error_cb(recorder_h recorder, recorder_error_cb callback, void
/**
* @brief Unregisters the callback function.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the recorder
* @return @c on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
@@ -1099,7 +1114,7 @@ int recorder_unset_error_cb(recorder_h recorder);
/**
* @brief Sets the maximum size of a recording file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks After reaching the limitation, the recording data is discarded and not written in the recording file.
* @param[in] recorder The handle to the media recorder
* @param[in] kbyte The maximum size of the recording file(KB) \n
@@ -1118,7 +1133,7 @@ int recorder_attr_set_size_limit(recorder_h recorder, int kbyte);
/**
* @brief Gets the maximum size of a recording file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] kbyte The maximum size of recording file (KB) \n
* @c 0 means unlimited recording size.
@@ -1134,7 +1149,7 @@ int recorder_attr_get_size_limit(recorder_h recorder, int *kbyte);
/**
* @brief Sets the time limit of a recording file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks After reaching the limitation, the recording data is discarded and not written in the recording file.
* @param[in] recorder The handle to the media recorder
* @param[in] second The time limit of the recording file (in seconds) \n
@@ -1154,7 +1169,7 @@ int recorder_attr_set_time_limit(recorder_h recorder, int second);
/**
* @brief Gets the time limit of a recording file.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] second The time limit of the recording file (in seconds) \n
* @c 0 means unlimited recording time.
@@ -1170,7 +1185,7 @@ int recorder_attr_get_time_limit(recorder_h recorder, int *second);
/**
* @brief Sets the audio device for recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] device The type of an audio device
* @return @c 0 on success, otherwise a negative error value
@@ -1179,14 +1194,15 @@ int recorder_attr_get_time_limit(recorder_h recorder, int *second);
* @retval #RECORDER_ERROR_INVALID_STATE Invalid state
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @pre The recorder state must be #RECORDER_STATE_CREATED.
+ * @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY (for video recorder only).\n
+ * Since 2.3.1, this API also works for audio recorder when its state is #RECORDER_STATE_READY.
* @see recorder_attr_get_audio_device()
*/
int recorder_attr_set_audio_device(recorder_h recorder, recorder_audio_device_e device);
/**
* @brief Gets the audio device for recording.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] device The type of an audio device
* @return @c 0 on success, otherwise a negative error value
@@ -1200,7 +1216,7 @@ int recorder_attr_get_audio_device(recorder_h recorder, recorder_audio_device_e
/**
* @brief Sets the sampling rate of an audio stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] samplerate The sample rate in Hertz
* @return @c 0 on success, otherwise a negative error value
@@ -1209,14 +1225,15 @@ int recorder_attr_get_audio_device(recorder_h recorder, recorder_audio_device_e
* @retval #RECORDER_ERROR_INVALID_STATE Invalid state
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @pre The recorder state must be #RECORDER_STATE_CREATED.
+ * @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY (for video recorder only).\n
+ * Since 2.3.1, this API also works for audio recorder when its state is #RECORDER_STATE_READY.
* @see recorder_attr_get_audio_samplerate()
*/
int recorder_attr_set_audio_samplerate(recorder_h recorder, int samplerate);
/**
* @brief Gets the sampling rate of an audio stream.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] samplerate The sample rate in Hertz
* @return @c 0 on success, otherwise a negative error value
@@ -1230,7 +1247,7 @@ int recorder_attr_get_audio_samplerate(recorder_h recorder, int *samplerate);
/**
* @brief Sets the bitrate of an audio encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] bitrate The bitrate (for mms : 12200[bps], normal : 288000[bps])
* @return @c 0 on success, otherwise a negative error value
@@ -1246,7 +1263,7 @@ int recorder_attr_set_audio_encoder_bitrate(recorder_h recorder, int bitrate);
/**
* @brief Sets the bitrate of a video encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] bitrate The bitrate in bits per second
* @return @c 0 on success, otherwise a negative error value
@@ -1262,7 +1279,7 @@ int recorder_attr_set_video_encoder_bitrate(recorder_h recorder, int bitrate);
/**
* @brief Gets the bitrate of an audio encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] bitrate The bitrate in bits per second
* @return @c 0 on success, otherwise a negative error value
@@ -1276,7 +1293,7 @@ int recorder_attr_get_audio_encoder_bitrate(recorder_h recorder, int *bitrate);
/**
* @brief Gets the bitrate of a video encoder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] bitrate The bitrate in bits per second
* @return @c 0 on success, otherwise a negative error value
@@ -1290,7 +1307,7 @@ int recorder_attr_get_video_encoder_bitrate(recorder_h recorder, int *bitrate);
/**
* @brief Sets the mute state of a recorder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[in] enable The mute state
* @return @c 0 on success, otherwise a negative error value
@@ -1304,7 +1321,7 @@ int recorder_attr_set_mute(recorder_h recorder, bool enable);
/**
* @brief Gets the mute state of a recorder.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @remarks The specific error code can be obtained using the get_last_result() method. Error codes are described in Exception section.
* @return @c true if the recorder is not recording any sound,
@@ -1319,7 +1336,7 @@ bool recorder_attr_is_muted(recorder_h recorder);
/**
* @brief Sets the recording motion rate.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This attribute is valid only in a video recorder. \n
* If the rate bigger than @c 0 and smaller than @c 1, video is recorded in a slow motion mode. \n
* If the rate bigger than @c 1, video is recorded in a fast motion mode (time lapse recording).
@@ -1340,7 +1357,7 @@ int recorder_attr_set_recording_motion_rate(recorder_h recorder , double rate);
/**
* @brief Gets the recording motion rate.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This attribute is valid only in a video recorder. \n
* If the rate bigger than @c 0 and smaller than @c 1, video is recorded in a slow motion mode. \n
* If the rate bigger than @c 1, video is recorded in a fast motion mode (time lapse recording).
@@ -1358,12 +1375,9 @@ int recorder_attr_set_recording_motion_rate(recorder_h recorder , double rate);
*/
int recorder_attr_get_recording_motion_rate(recorder_h recorder , double *rate);
-__attribute__ ((deprecated)) int recorder_attr_set_slow_motion_rate(recorder_h recorder , double rate);
-__attribute__ ((deprecated)) int recorder_attr_get_slow_motion_rate(recorder_h recorder , double *rate);
-
/**
* @brief Sets the number of the audio channel.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @remarks This attribute is applied only in RECORDER_STATE_CREATED state. \n
* For mono recording, setting channel to @c 1. \n
* For stereo recording, setting channel to @c 2.
@@ -1374,14 +1388,15 @@ __attribute__ ((deprecated)) int recorder_attr_get_slow_motion_rate(recorder_h r
* @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
* @retval #RECORDER_ERROR_NOT_SUPPORTED The feature is not supported
- * @pre The recorder state must be #RECORDER_STATE_CREATED.
+ * @pre The recorder state must be #RECORDER_STATE_CREATED or #RECORDER_STATE_READY (for video recorder only).\n
+ * Since 2.3.1, this API also works for audio recorder when its state is #RECORDER_STATE_READY.
* @see recorder_attr_get_audio_channel()
*/
int recorder_attr_set_audio_channel(recorder_h recorder, int channel_count);
/**
* @brief Gets the number of the audio channel.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to the media recorder
* @param[out] channel_count The number of the audio channel
* @return @c 0 on success, otherwise a negative error value
@@ -1393,67 +1408,13 @@ int recorder_attr_set_audio_channel(recorder_h recorder, int channel_count);
*/
int recorder_attr_get_audio_channel(recorder_h recorder, int *channel_count);
-/**
- * @brief Sets the orientation of video recording data
- * @remarks
- * This attribute is valid only in video recorder.\n
- * This attribute is applied in video encoding.
- * @param[in] recorder The handle to media recorder
- * @param[in] orientation The orientation of video recording data
- * @return 0 on success, otherwise a negative error value.
- * @retval #RECORDER_ERROR_NONE Successful
- * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @see recorder_attr_get_recording_orientation()
- */
-__attribute__ ((deprecated)) int recorder_attr_set_recording_orientation(recorder_h recorder, recorder_rotation_e orientation);
-
-/**
- * @brief Gets the orientation of video recording data
- * @remarks
- * This attribute is valid only in video recorder.\n
- * @param[in] recorder The handle to media recorder
- * @param[out] orientation The orientation of video recording data
- * @return 0 on success, otherwise a negative error value.
- * @retval #RECORDER_ERROR_NONE Successful
- * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @see recorder_attr_set_recording_orientation()
- */
-__attribute__ ((deprecated)) int recorder_attr_get_recording_orientation(recorder_h recorder, recorder_rotation_e *orientation);
-
-/**
- * @brief Sets the flip of video recording data
- * @remarks
- * This attribute is valid only in video recorder.\n
- * This attribute is applied in video encoding.
- * @param[in] recorder The handle to media recorder
- * @param[in] flip The flip of video recording data
- * @return 0 on success, otherwise a negative error value.
- * @retval #RECORDER_ERROR_NONE Successful
- * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @see recorder_attr_get_recording_flip()
- */
-__attribute__ ((deprecated)) int recorder_attr_set_recording_flip(recorder_h recorder, recorder_flip_e flip);
-
-/**
- * @brief Gets the flip of video recording data
- * @remarks
- * This attribute is valid only in video recorder.\n
- * This attribute is applied in video encoding.
- * @param[in] recorder The handle to media recorder
- * @param[out] flip The flip of video recording data
- * @return 0 on success, otherwise a negative error value.
- * @retval #RECORDER_ERROR_NONE Successful
- * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @see recorder_attr_set_recording_flip()
- */
-__attribute__ ((deprecated)) int recorder_attr_get_recording_flip(recorder_h recorder, recorder_flip_e *flip);
/**
* @brief Sets the video orientation in a video metadata tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to a media recorder
* @param[in] orientation The information of the video orientation
- * @return 0 on success, otherwise a negative error value
+ * @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
* @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
@@ -1464,10 +1425,10 @@ int recorder_attr_set_orientation_tag(recorder_h recorder, recorder_rotation_e
/**
* @brief Gets the video orientation in a video metadata tag.
- * @since_tizen 2.3
+ * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif
* @param[in] recorder The handle to a media recorder
* @param[out] orientation The information of the video orientation
-* @return @c 0 on success, otherwise a negative error value
+ * @return @c 0 on success, otherwise a negative error value
* @retval #RECORDER_ERROR_NONE Successful
* @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
* @retval #RECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted