From: Eunhae Choi Date: Thu, 24 Nov 2016 07:16:45 +0000 (+0900) Subject: [ACR-844] Add Interrupt cb API X-Git-Tag: submit/tizen_3.0/20161129.051721^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F08%2F99808%2F2;p=platform%2Fcore%2Fapi%2Fmediastreamer.git [ACR-844] Add Interrupt cb API Change-Id: I21ff9004aafbd53a8f3222d9f98411e8ca8967d6 --- diff --git a/include/media_streamer.h b/include/media_streamer.h index f011fe4..ca518ee 100644 --- a/include/media_streamer.h +++ b/include/media_streamer.h @@ -165,6 +165,16 @@ typedef enum { MEDIA_STREAMER_CUSTOM_BUFFER_OVERFLOW, /**< Buffer overflow of custom src */ } media_streamer_custom_buffer_status_e; +/** + * @brief Enumeration for media streamer's interruption type. + * + * @since_tizen 3.0 + */ +typedef enum { + MEDIA_STREAMER_INTERRUPTED_BY_RESOURCE_CONFLICT, /**< Interrupted by a resource conflict */ + MEDIA_STREAMER_INTERRUPTED_BY_SECURITY, /**< Interrupted by a security policy */ +} media_streamer_interrupted_code_e; + /** * @brief Definition for "camera-id" parameter of source node. * @details Index number of camera to activate. @@ -471,6 +481,16 @@ typedef void (*media_streamer_sink_eos_cb)(media_streamer_node_h node, void *use */ typedef void (*media_streamer_position_changed_cb)(void *user_data); +/** + * @brief Called when the media streamer is interrupted. + * @since_tizen 3.0 + * @param[in] error_code The interrupted error code + * @param[in] user_data The user data passed from the callback registration function + * @see media_streamer_set_interrupted_cb() + * @see media_streamer_unset_interrupted_cb() + */ +typedef void (*media_streamer_interrupted_cb)(media_streamer_interrupted_code_e code, void *user_data); + /** * @brief Registers a error callback function to be invoked when an error occurs. * @details Following error codes can be delivered by error callback. @@ -543,6 +563,36 @@ int media_streamer_set_state_change_cb(media_streamer_h streamer, media_streamer */ int media_streamer_unset_state_change_cb(media_streamer_h streamer); +/** + * @brief Registers a callback function to be invoked when the media streamer is interrupted. + * @since_tizen 3.0 + * @param[in] streamer Media streamer handle + * @param[in] callback The callback function to register + * @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 #MEDIA_STREAMER_ERROR_NONE Successful + * @retval #MEDIA_STREAMER_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #MEDIA_STREAMER_ERROR_INVALID_OPERATION Invalid operation + * @post media_streamer_interrupted_cb() will be invoked. + * @see media_streamer_unset_interrupted_cb() + * @see #media_streamer_interrupted_code_e + */ +int media_streamer_set_interrupted_cb(media_streamer_h streamer, media_streamer_interrupted_cb callback, void *user_data); + +/** + * @brief Unregisters the callback function. + * @since_tizen 3.0 + * @param[in] streamer Media streamer handle + * @return @c 0 on success, + * otherwise a negative error value + * @retval #MEDIA_STREAMER_ERROR_NONE Successful + * @retval #MEDIA_STREAMER_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #MEDIA_STREAMER_ERROR_INVALID_OPERATION Invalid operation + * @see media_streamer_set_interrupted_cb() + */ +int media_streamer_unset_interrupted_cb(media_streamer_h streamer); + /** * @brief Registers a callback function to be invoked when buffer underrun or overflow is occurred. * @details This function can be called only for MEDIA_STREAMER_NODE_SRC_TYPE_CUSTOM source type