feature : Apply feature information 14/228814/2 accepted/tizen/unified/20200326.215042 submit/tizen/20200326.024055
authorHyunsoo Park <hance.park@samsung.com>
Thu, 26 Mar 2020 01:31:03 +0000 (10:31 +0900)
committerHyunsoo Park <hance.park@samsung.com>
Thu, 26 Mar 2020 01:57:29 +0000 (10:57 +0900)
It merges two patch from Tizen 5.5 M3.
-https://review.tizen.org/gerrit/#/c/platform/core/api/mediastreamrecorder/+/227568/ (checker implmentation)
-https://review.tizen.org/gerrit/#/c/platform/core/api/mediastreamrecorder/+/227567/ (docs)

Change-Id: I210c9f9ec24095da685e89d452e7d9c0b93a8bef
Signed-off-by: Hyunsoo Park <hance.park@samsung.com>
CMakeLists.txt
doc/streamrecorder_doc.h
include/streamrecorder.h
include/streamrecorder_private.h
packaging/capi-media-streamrecorder.spec
src/streamrecorder.c

index d915d94..7dab946 100644 (file)
@@ -22,7 +22,7 @@ SET(service "media")
 SET(submodule "streamrecorder")
 
 # for package file
-SET(dependents "dlog mm-streamrecorder capi-media-tool")
+SET(dependents "dlog mm-streamrecorder capi-media-tool capi-system-info")
 SET(pc_dependents "capi-base-common capi-media-tool")
 
 SET(fw_name "${project_prefix}-${service}-${submodule}")
index cb1684e..a49cc57 100644 (file)
  *        <td>Supported video resolutions</td>
  *     </tr>
  *</table></div>
- *
+ * @section CAPI_MEDIA_STREAMRECORDER_MODULE_FEATURE Related Features
+ * This API is related with the following feature
+ * - http://tizen.org/feature/multimedia.stream_recorder
+ *
+ * It is recommended to design feature related codes in your application for reliability.
+ * You can check if a device supports the related features for this API by using @ref CAPI_SYSTEM_SYSTEM_INFO_MODULE, thereby controlling the procedure of your application.
+ * To ensure your application is only running on the device with specific features, please define the features in your manifest file using the manifest editor in the SDK.
+ * More details on featuring your application can be found from <a href="https://docs.tizen.org/application/tizen-studio/native-tools/manifest-text-editor#feature-element"><b>Feature Element</b>.</a>
  */
 
 
index 81d90ff..df0902c 100644 (file)
@@ -301,6 +301,7 @@ typedef bool (*streamrecorder_supported_video_encoder_cb)(streamrecorder_video_c
  * @param[out]  recorder       A handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_OUT_OF_MEMORY Out of memory
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
@@ -313,11 +314,14 @@ int streamrecorder_create(streamrecorder_h *recorder);
  * @param[in]  recorder    The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre  The recorder state should be #STREAMRECORDER_STATE_CREATED.
  * @post The recorder state will be #STREAMRECORDER_STATE_NONE.
+ * @see streamrecorder_create()
  */
 int streamrecorder_destroy(streamrecorder_h recorder);
 
@@ -330,12 +334,15 @@ int streamrecorder_destroy(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre  The recorder state should be #STREAMRECORDER_STATE_CREATED. \n
  *           The streamrecorder_enable_source_buffer() should be invoked before this function.
  * @post The streamrecorder state will be #STREAMRECORDER_STATE_PREPARED
+ * @see streamrecorder_create()
  * @see        streamrecorder_unprepare()
  * @see        streamrecorder_set_audio_encoder()
  * @see        streamrecorder_set_video_encoder()
@@ -349,11 +356,14 @@ int streamrecorder_prepare(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre  The streamrecorder state should be #STREAMRECORDER_STATE_PREPARED set by streamrecorder_prepare(), streamrecorder_cancel() or streamrecorder_commit().
  * @post The streamrecorder state will be #STREAMRECORDER_STATE_CREATED.
+ * @see streamrecorder_create()
  * @see        streamrecorder_prepare()
  * @see        streamrecorder_cancel()
  * @see        streamrecorder_commit()
@@ -371,13 +381,16 @@ int streamrecorder_unprepare(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @retval #STREAMRECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_PREPARED by streamrecorder_prepare() or #STREAMRECORDER_STATE_PAUSED by streamrecorder_pause(). \n
  * The filename should be set by streamrecorder_set_filename().
  * @post The recorder state will be #STREAMRECORDER_STATE_RECORDING.
+ * @see streamrecorder_create()
  * @see        streamrecorder_pause()
  * @see        streamrecorder_commit()
  * @see        streamrecorder_cancel()
@@ -396,11 +409,14 @@ int streamrecorder_start(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_RECORDING.
  * @post The streamrecorder state will be #STREAMRECORDER_STATE_PAUSED.
+ * @see streamrecorder_create()
  * @see streamrecorder_commit()
  * @see streamrecorder_cancel()
  */
@@ -415,12 +431,15 @@ int streamrecorder_pause(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @retval #STREAMRECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_RECORDING set by streamrecorder_start() or #STREAMRECORDER_STATE_PAUSED by streamrecorder_pause().
  * @post The streamrecorder state will be #STREAMRECORDER_STATE_PREPARED.
+ * @see streamrecorder_create()
  * @see streamrecorder_pause()
  * @see streamrecorder_cancel()
  * @see streamrecorder_set_filename()
@@ -438,12 +457,15 @@ int streamrecorder_commit(streamrecorder_h recorder);
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @retval #STREAMRECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_RECORDING set by streamrecorder_start() or #STREAMRECORDER_STATE_PAUSED by streamrecorder_pause().
  * @post The streamrecorder state will be #STREAMRECORDER_STATE_PREPARED.
+ * @see streamrecorder_create()
  * @see streamrecorder_pause()
  * @see streamrecorder_commit()
  * @see streamrecorder_start()
@@ -460,22 +482,28 @@ int streamrecorder_cancel(streamrecorder_h recorder);
  * @param[in]  inbuf The media packet containing buffer and other associated values
  * @return  @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_PERMISSION_DENIED The access to the resources can not be granted
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  */
 int streamrecorder_push_stream_buffer(streamrecorder_h recorder, media_packet_h inbuf);
 
 /**
- * @brief Sets the video source as live buffer to be used for recording
+ * @brief Sets the video source as live buffer to be used for recording.
  * @since_tizen 3.0
  * @remarks if you want to enable video or audio or both recording, call before streamrecorder_prepare()
  * @param[in]  recorder  A handle to the streamrecorder
  * @param[in]  type The type of source input
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be only #STREAMRECORDER_STATE_CREATED
+ * @see streamrecorder_create()
  */
 int streamrecorder_enable_source_buffer(streamrecorder_h recorder, streamrecorder_source_e type);
 
@@ -486,7 +514,10 @@ int streamrecorder_enable_source_buffer(streamrecorder_h recorder, streamrecorde
  * @param[out] state  The current state of the streamrecorder
  * @return  @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  */
 int streamrecorder_get_state(streamrecorder_h recorder, streamrecorder_state_e *state);
 
@@ -509,10 +540,13 @@ int streamrecorder_get_state(streamrecorder_h recorder, streamrecorder_state_e *
  * @param[in]  path The recording file path
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see streamrecorder_get_filename()
  */
 int streamrecorder_set_filename(streamrecorder_h recorder, const char *path);
@@ -525,8 +559,11 @@ int streamrecorder_set_filename(streamrecorder_h recorder, const char *path);
  * @param[out] path    The recording file path
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_filename()
  */
 int streamrecorder_get_filename(streamrecorder_h recorder, char **path);
@@ -538,11 +575,14 @@ int streamrecorder_get_filename(streamrecorder_h recorder, char **path);
  * @param[in] format   The media file format
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see streamrecorder_get_file_format()
  * @see streamrecorder_foreach_supported_file_format()
  */
@@ -556,14 +596,16 @@ int streamrecorder_set_file_format(streamrecorder_h recorder, streamrecorder_fil
  * @param[out] format   The media file format
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see streamrecorder_set_file_format()
  * @see streamrecorder_foreach_supported_file_format()
  */
 int streamrecorder_get_file_format(streamrecorder_h recorder, streamrecorder_file_format_e *format);
 
-
 /**
  * @brief Sets the audio codec for encoding an audio stream.
  * @since_tizen 3.0
@@ -572,12 +614,14 @@ int streamrecorder_get_file_format(streamrecorder_h recorder, streamrecorder_fil
  * @param[in] codec    The audio codec
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_OPERATION Invalid operation
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_audio_encoder()
  * @see streamrecorder_foreach_supported_audio_encoder()
  */
@@ -590,9 +634,11 @@ int streamrecorder_set_audio_encoder(streamrecorder_h recorder, streamrecorder_a
  * @param[out] codec   The audio codec
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_encoder()
  * @see streamrecorder_foreach_supported_audio_encoder()
  */
@@ -607,11 +653,13 @@ int streamrecorder_get_audio_encoder(streamrecorder_h recorder, streamrecorder_a
  * @param[in] height   The input height
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre    The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_start()
  * @see        streamrecorder_get_video_resolution()
  * @see        streamrecorder_foreach_supported_video_resolution()
@@ -626,9 +674,11 @@ int streamrecorder_set_video_resolution(streamrecorder_h recorder, int width, in
  * @param[out] height  The video height
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_video_resolution()
  * @see        streamrecorder_foreach_supported_video_resolution()
  */
@@ -642,11 +692,13 @@ int streamrecorder_get_video_resolution(streamrecorder_h recorder, int *width, i
  * @param[in] codec    The video codec
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see streamrecorder_get_video_encoder()
  * @see streamrecorder_foreach_supported_video_encoder()
  */
@@ -659,9 +711,11 @@ int streamrecorder_set_video_encoder(streamrecorder_h recorder, streamrecorder_v
  * @param[out] codec   The video codec
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED The feature is not supported
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see streamrecorder_set_video_encoder()
  * @see streamrecorder_foreach_supported_video_encoder()
  */
@@ -675,8 +729,11 @@ int streamrecorder_get_video_encoder(streamrecorder_h recorder, streamrecorder_v
  * @param[in] framerate The frame rate for recording
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see streamrecorder_get_video_framerate()
  */
 int streamrecorder_set_video_framerate(streamrecorder_h recorder, int framerate);
@@ -688,7 +745,10 @@ int streamrecorder_set_video_framerate(streamrecorder_h recorder, int framerate)
  * @param[out] framerate The frame rate for recording that already is set
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see streamrecorder_set_video_framerate()
  */
 int streamrecorder_get_video_framerate(streamrecorder_h recorder, int *framerate);
@@ -701,8 +761,11 @@ int streamrecorder_get_video_framerate(streamrecorder_h recorder, int *framerate
  * @param[in] format The color type of video source
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see streamrecorder_get_video_source_format()
  */
 int streamrecorder_set_video_source_format(streamrecorder_h recorder, streamrecorder_video_source_format_e format);
@@ -715,7 +778,10 @@ int streamrecorder_set_video_source_format(streamrecorder_h recorder, streamreco
  * @param[out] format The color type of video source that already is set
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see streamrecorder_set_video_source_format()
  */
 int streamrecorder_get_video_source_format(streamrecorder_h recorder, streamrecorder_video_source_format_e *format);
@@ -731,10 +797,13 @@ int streamrecorder_get_video_source_format(streamrecorder_h recorder, streamreco
  *                     @c 0 means unlimited recording size or time.
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_recording_limit()
  */
 int streamrecorder_set_recording_limit(streamrecorder_h recorder, streamrecorder_recording_limit_type_e type, int limit);
@@ -749,8 +818,11 @@ int streamrecorder_set_recording_limit(streamrecorder_h recorder, streamrecorder
  *                     @c 0 means unlimited recording size or time.
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_recording_limit()
  */
 int streamrecorder_get_recording_limit(streamrecorder_h recorder, streamrecorder_recording_limit_type_e type, int *limit);
@@ -762,10 +834,13 @@ int streamrecorder_get_recording_limit(streamrecorder_h recorder, streamrecorder
  * @param[in] samplerate The sample rate in Hertz
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_audio_samplerate()
  */
 int streamrecorder_set_audio_samplerate(streamrecorder_h recorder, int samplerate);
@@ -777,8 +852,11 @@ int streamrecorder_set_audio_samplerate(streamrecorder_h recorder, int samplerat
  * @param[out] samplerate  The sample rate in Hertz
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_samplerate()
  */
 int streamrecorder_get_audio_samplerate(streamrecorder_h recorder, int *samplerate);
@@ -790,10 +868,13 @@ int streamrecorder_get_audio_samplerate(streamrecorder_h recorder, int *samplera
  * @param[in] bitrate   The bitrate (for mms : 12200[bps], normal : 288000[bps])
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_audio_encoder_bitrate()
  */
 int streamrecorder_set_audio_encoder_bitrate(streamrecorder_h recorder, int bitrate);
@@ -805,10 +886,13 @@ int streamrecorder_set_audio_encoder_bitrate(streamrecorder_h recorder, int bitr
  * @param[in] bitrate   The bitrate in bits per second
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED. \n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_video_encoder_bitrate()
  */
 int streamrecorder_set_video_encoder_bitrate(streamrecorder_h recorder, int bitrate);
@@ -820,8 +904,11 @@ int streamrecorder_set_video_encoder_bitrate(streamrecorder_h recorder, int bitr
  * @param[out] bitrate   The bitrate in bits per second
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_encoder_bitrate()
  */
 int streamrecorder_get_audio_encoder_bitrate(streamrecorder_h recorder, int *bitrate);
@@ -833,8 +920,11 @@ int streamrecorder_get_audio_encoder_bitrate(streamrecorder_h recorder, int *bit
  * @param[out] bitrate   The bitrate in bits per second
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_encoder_bitrate()
  */
 int streamrecorder_get_video_encoder_bitrate(streamrecorder_h recorder, int *bitrate);
@@ -849,10 +939,13 @@ int streamrecorder_get_video_encoder_bitrate(streamrecorder_h recorder, int *bit
  * @param[in] channel_count  The number of the audio channel
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED.\n
  *          streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_get_audio_channel()
  */
 int streamrecorder_set_audio_channel(streamrecorder_h recorder, int channel_count);
@@ -864,8 +957,11 @@ int streamrecorder_set_audio_channel(streamrecorder_h recorder, int channel_coun
  * @param[out] channel_count  The number of the audio channel
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @pre The streamrecorder_enable_source_buffer() should be invoked before this function.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_channel()
  */
 int streamrecorder_get_audio_channel(streamrecorder_h recorder, int *channel_count);
@@ -880,9 +976,11 @@ int streamrecorder_get_audio_channel(streamrecorder_h recorder, int *channel_cou
  * @param[in] mode  The recording mode
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED.\n
+ * @see streamrecorder_create()
  * @see streamrecorder_get_mode()
  */
 int streamrecorder_set_mode(streamrecorder_h recorder, streamrecorder_mode_e mode);
@@ -896,9 +994,11 @@ int streamrecorder_set_mode(streamrecorder_h recorder, streamrecorder_mode_e mod
  * @param[out] mode  The recording mode
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
  * @retval #STREAMRECORDER_ERROR_INVALID_STATE Invalid state
  * @pre The streamrecorder state must be #STREAMRECORDER_STATE_CREATED.\n
+ * @see streamrecorder_create()
  * @see streamrecorder_set_mode()
  */
 int streamrecorder_get_mode(streamrecorder_h recorder, streamrecorder_mode_e *mode);
@@ -921,8 +1021,11 @@ int streamrecorder_get_mode(streamrecorder_h recorder, streamrecorder_mode_e *mo
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_supported_file_format_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see streamrecorder_get_file_format()
  * @see streamrecorder_set_file_format()
  * @see streamrecorder_supported_file_format_cb()
@@ -937,8 +1040,11 @@ int streamrecorder_foreach_supported_file_format(streamrecorder_h recorder, stre
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_supported_audio_encoder_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_audio_encoder()
  * @see        streamrecorder_get_audio_encoder()
  * @see        streamrecorder_supported_audio_encoder_cb()
@@ -953,8 +1059,11 @@ int streamrecorder_foreach_supported_audio_encoder(streamrecorder_h recorder, st
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_supported_video_encoder_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see streamrecorder_set_video_encoder()
  * @see streamrecorder_get_video_encoder()
  * @see        streamrecorder_supported_video_encoder_cb()
@@ -969,8 +1078,11 @@ int streamrecorder_foreach_supported_video_encoder(streamrecorder_h recorder, st
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post       This function invokes streamrecorder_supported_video_resolution_cb() repeatedly to retrieve each supported video resolution.
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_video_resolution()
  * @see        streamrecorder_get_video_resolution()
  * @see        streamrecorder_supported_video_resolution_cb()
@@ -996,8 +1108,11 @@ int streamrecorder_foreach_supported_video_resolution(streamrecorder_h recorder,
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_notify_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see streamrecorder_unset_notify_cb()
  * @see streamrecorder_notify_cb()
  */
@@ -1009,7 +1124,10 @@ int streamrecorder_set_notify_cb(streamrecorder_h recorder, streamrecorder_notif
  * @param[in]  recorder The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see streamrecorder_set_notify_cb()
  */
 int streamrecorder_unset_notify_cb(streamrecorder_h recorder);
@@ -1022,8 +1140,11 @@ int streamrecorder_unset_notify_cb(streamrecorder_h recorder);
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_recording_status_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see        streamrecorder_unset_recording_status_cb()
  * @see        streamrecorder_recording_status_cb()
  */
@@ -1035,7 +1156,9 @@ int streamrecorder_set_recording_status_cb(streamrecorder_h recorder, streamreco
  * @param[in]  recorder    The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @see        streamrecorder_set_recording_status_cb()
  */
 int streamrecorder_unset_recording_status_cb(streamrecorder_h recorder);
@@ -1048,8 +1171,11 @@ int streamrecorder_unset_recording_status_cb(streamrecorder_h recorder);
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post  streamrecorder_recording_limit_reached_cb() will be invoked.
+ * @see streamrecorder_create()
  * @see        streamrecorder_unset_recording_limit_reached_cb()
  * @see        streamrecorder_set_time_limit()
  * @see        streamrecorder_recording_limit_reached_cb()
@@ -1062,7 +1188,10 @@ int streamrecorder_set_recording_limit_reached_cb(streamrecorder_h recorder, str
  * @param[in]  recorder  The handle to the streamrecorder
  * @return @c 0 on success, otherwise a negative error value
  * @retval #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_recording_limit_reached_cb()
  */
 int streamrecorder_unset_recording_limit_reached_cb(streamrecorder_h recorder);
@@ -1080,8 +1209,11 @@ int streamrecorder_unset_recording_limit_reached_cb(streamrecorder_h recorder);
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
  * @post       This function will invoke streamrecorder_error_cb() when an asynchronous operation error occur.
+ * @see streamrecorder_create()
  * @see        streamrecorder_unset_error_cb()
  * @see        streamrecorder_error_cb()
  */
@@ -1094,7 +1226,10 @@ int streamrecorder_set_error_cb(streamrecorder_h recorder, streamrecorder_error_
  * @param[in]  recorder        The handle to the streamrecorder
  * @return  @c on success, otherwise a negative error value
  * @retval    #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval    #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_error_cb()
  */
 int streamrecorder_unset_error_cb(streamrecorder_h recorder);
@@ -1109,7 +1244,10 @@ int streamrecorder_unset_error_cb(streamrecorder_h recorder);
  * @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 #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see        streamrecorder_unset_buffer_consume_completed_cb()
  * @see        streamrecorder_push_stream_buffer()
  */
@@ -1121,7 +1259,10 @@ int streamrecorder_set_buffer_consume_completed_cb(streamrecorder_h recorder, st
  * @param[in]  recorder        The handle to the streamrecorder
  * @return  @c on success, otherwise a negative error value
  * @retval    #STREAMRECORDER_ERROR_NONE Successful
+ * @retval #STREAMRECORDER_ERROR_NOT_SUPPORTED Not supported
  * @retval    #STREAMRECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @pre Create a stream recorder handle by calling streamrecorder_create().
+ * @see streamrecorder_create()
  * @see        streamrecorder_set_buffer_consume_completed_cb()
  */
 int streamrecorder_unset_buffer_consume_completed_cb(streamrecorder_h recorder);
index 7dabbe0..d0a7728 100644 (file)
@@ -29,6 +29,22 @@ extern "C" {
 
 #define MAX_MPACKET_DATA 100
 
+#define STREAMRECORDER_RECORD_FEATURE "http://tizen.org/feature/multimedia.stream_recorder"
+
+#define CHECK_FEATURE_SUPPORTED(feature_name)\
+       do {\
+               bool feature_supported = FALSE;\
+               if (!system_info_get_platform_bool(feature_name, &feature_supported)) {\
+                       if (feature_supported == FALSE) {\
+                               LOGE("%s feature is disabled", feature_name);\
+                               return STREAMRECORDER_ERROR_NOT_SUPPORTED; \
+                       } \
+               } else {\
+                       LOGE("Error - Feature getting from System Info");\
+                       return STREAMRECORDER_ERROR_INVALID_OPERATION; \
+               } \
+       } while (0);
+
 typedef enum {
        _STREAMRECORDER_EVENT_TYPE_NOTIFY,
        _STREAMRECORDER_EVENT_TYPE_RECORDING_LIMITED,
index 0bdb58e..318d40a 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-streamrecorder
 Summary:    A Streamrecorder library in Tizen Native API
-Version:    0.0.29
+Version:    0.0.30
 Release:    0
 Group:      Multimedia/Other
 License:    Apache-2.0
@@ -10,6 +10,7 @@ BuildRequires:  pkgconfig(dlog)
 Buildrequires:  pkgconfig(mm-streamrecorder)
 BuildRequires:  pkgconfig(capi-base-common)
 BuildRequires:  pkgconfig(capi-media-tool)
+BuildRequires:  pkgconfig(capi-system-info)
 BuildRequires:  pkgconfig(libtbm)
 Requires(post): /sbin/ldconfig
 Requires(postun): /sbin/ldconfig
index ad1295d..4f0d836 100644 (file)
@@ -32,6 +32,7 @@
 #include <tbm_bufmgr.h>
 #include <tbm_surface_internal.h>
 #include <inttypes.h>
+#include <system_info.h>
 
 #ifdef LOG_TAG
 #undef LOG_TAG
@@ -43,6 +44,8 @@ static int __mm_streamrecorder_msg_cb(int message, void *param, void *user_data)
 
 int streamrecorder_create(streamrecorder_h *recorder)
 {
+       CHECK_FEATURE_SUPPORTED(STREAMRECORDER_RECORD_FEATURE);
+
        int ret = STREAMRECORDER_ERROR_NONE;
 
        streamrecorder_s *handle = NULL;