From 57e7811a12d26191da39be9946d8265ffbea38f5 Mon Sep 17 00:00:00 2001 From: Gilbok Lee Date: Wed, 7 Jun 2017 16:23:36 +0900 Subject: [PATCH] [ACR-979] Adding API for setting/unsetting EOS callback. [Version] 0.1.10 [Profile] Common [Issue Type] Add new APIs Change-Id: I07e109e8754edf18f96723f632a82d69561c0b2a --- include/mediamuxer.h | 47 ++++++++++++++++++++++++++++++++++++++++-- packaging/capi-mediamuxer.spec | 2 +- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/include/mediamuxer.h b/include/mediamuxer.h index 80eac43..b076e9c 100755 --- a/include/mediamuxer.h +++ b/include/mediamuxer.h @@ -91,8 +91,8 @@ typedef enum { * #MEDIAMUXER_ERROR_INVALID_PATH, * #MEDIAMUXER_ERROR_RESOURCE_LIMIT * @since_tizen 3.0 - * @param[in] error The error that occurred in media muxer - * @param[in] user_data The user data passed from the code where + * @param[in] error The error that occurred in media muxer + * @param[in] user_data The user data passed from the code where * mediamuxer_set_error_cb() was invoked * This data will be accessible from @a mediamuxer_error_cb * @pre Create media muxer handle by calling mediamuxer_create() function. @@ -102,6 +102,18 @@ typedef enum { typedef void (*mediamuxer_error_cb)(mediamuxer_error_e error, void *user_data); /** + * @brief Called when end of stream occurs in media muxer. + * @since_tizen 4.0 + * @param[in] user_data The user data passed from the code where + * mediamuxer_set_eos_cb() was invoked;\n + * this data will be accessible from mediamuxer_eos_cb() + * @pre Create media muxer handle by calling mediamuxer_create() function. + * @see mediamuxer_set_eos_cb() + * @see mediamuxer_unset_eos_cb() + */ +typedef void (*mediamuxer_eos_cb)(void *user_data); + +/** * @brief Creates a media muxer handle for muxing. * @since_tizen 3.0 * @param[out] muxer A new handle to media muxer @@ -357,6 +369,37 @@ int mediamuxer_set_error_cb(mediamuxer_h muxer, mediamuxer_error_cb callback, vo * */ int mediamuxer_unset_error_cb(mediamuxer_h muxer); + /** + * @brief Registers an EOS (end of stream) callback function to be invoked when an EOS occurs. + * @since_tizen 4.0 + * @param[in] muxer The media muxer handle + * @param[in] callback Callback function pointer + * @param[in] user_data The user data passed from the code where + * mediamuxer_set_eos_cb() was invoked;\n + * this data will be accessible from mediamuxer_eos_cb() + * @return @c 0 on success, otherwise a negative error value + * @retval #MEDIAMUXER_ERROR_NONE Successful + * @retval #MEDIAMUXER_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state + * @pre Create a media muxer handle by calling mediamuxer_create() function. + * @post mediamuxer_eos_cb() will be invoked. + * @see mediamuxer_unset_eos_cb() + * @see mediamuxer_eos_cb() + * */ +int mediamuxer_set_eos_cb(mediamuxer_h muxer, mediamuxer_eos_cb callback, void *user_data); + +/** + * @brief Unregisters the EOS (end of stream) callback function. + * @since_tizen 4.0 + * @param[in] muxer The media muxer handle + * @return @c 0 on success, otherwise a negative error value + * @retval #MEDIAMUXER_ERROR_NONE Successful + * @retval #MEDIAMUXER_ERROR_INVALID_PARAMETER Invalid parameter + * @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state + * @see mediamuxer_eos_cb() + * */ +int mediamuxer_unset_eos_cb(mediamuxer_h muxer); + /** * @} */ diff --git a/packaging/capi-mediamuxer.spec b/packaging/capi-mediamuxer.spec index dd32cea..7d7f2c2 100755 --- a/packaging/capi-mediamuxer.spec +++ b/packaging/capi-mediamuxer.spec @@ -1,6 +1,6 @@ Name: capi-mediamuxer Summary: A Media Muxer library in Tizen Native API -Version: 0.1.9 +Version: 0.1.10 Release: 1 Group: Multimedia/API License: Apache-2.0 -- 2.7.4