extern "C" {
#endif
-#ifndef TIZEN_ERROR_MEDIA_MUXER
-#define TIZEN_ERROR_MEDIA_MUXER -0x05000000
-#endif
-
/**
* @file mediamuxer.h
* @brief This file contains the capi media muxer API.
* @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_OPERATION Invalid Operation
+ * @retval #MEDIAMUXER_ERROR_OUT_OF_MEMORY Allocation Failed, Out of Memory.
* @post The media muxer state will be #MEDIAMUXER_STATE_IDLE.
* @see mediamuxer_destroy()
*/
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
- * @retval #MEDIAMUXER_ERROR_PERMISSION_DENIED Permission denied
* @retval #MEDIAMUXER_ERROR_INVALID_PATH Invalid path
* @pre The media muxer state will be #MEDIAMUXER_STATE_IDLE by calling mediamuxer_create
* @see #mediamuxer_output_format_e
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_IDLE.
* @see #media_format_h
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_IDLE.
* @post The media muxer state will be #MEDIAMUXER_STATE_READY.
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_READY.
* @post The media muxer state will be #MEDIAMUXER_STATE_MUXING.
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_READY by calling mediamuxer_prepare() or
* set to #MEDIAMUXER_STATE_PAUSED by calling mediamuxer_pause().
* @param[in] track_index the selected track index
* @retval #MEDIAMUXER_ERROR_NONE Successful
* @retval #MEDIAMUXER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #MEDIAMUXER_ERROR_INVALID_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
+ * @retval #MEDIAMUXER_ERROR_INVALID_OPERATION Invalid operation
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_MUXING.
* @see mediamuxer_write_sample()
* @see mediamuxer_pause()
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_MUXING.
* @post The media muxer state will be #MEDIAMUXER_STATE_PAUSED.
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_PAUSED.
* @post The media muxer state will be #MEDIAMUXER_STATE_MUXING.
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_MUXING
* or #MEDIAMUXER_STATE_PAUSED.
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre The media muxer state must be set to #MEDIAMUXER_STATE_READY or
* set to #MEDIAMUXER_STATE_PAUSED by calling mediamuxer_pause().
* @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_OPERATION Invalid operation
* @retval #MEDIAMUXER_ERROR_INVALID_STATE Invalid state
* @pre Create a media muxer handle by calling mediamuxer_create() function.
* @post The media muxer state will be #MEDIAMUXER_STATE_NONE.
/**
* @brief Registers a error callback function to be invoked when an error occurs.
- * @details Following error codes can be delivered.
- * #MEDIAMUXER_ERROR_INVALID_OPERATION,
- * #MEDIAMUXER_ERROR_NOT_SUPPORTED,
- * #MEDIAMUXER_ERROR_INVALID_PATH,
- * #MEDIAMUXER_ERROR_RESOURCE_LIMIT
* @since_tizen 3.0
* @param[in] muxer The media muxer handle
* @param[in] callback Callback function pointer
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <mm.h>
#include <mediamuxer_port.h>
-#include <mm_types.h>
#include <mediamuxer.h>
#include <mediamuxer_private.h>
#include <dlog.h>
int mediamuxer_create(mediamuxer_h *muxer)
{
MX_I("mediamuxer_create\n");
- mediamuxer_error_e ret = MM_ERROR_NONE;
+ mediamuxer_error_e ret = MEDIAMUXER_ERROR_NONE;
MUXER_INSTANCE_CHECK(muxer);
mediamuxer_s *handle;
}
ret = mx_create(&handle->mx_handle);
- if (ret != MM_ERROR_NONE) {
+ if (ret != MEDIAMUXER_ERROR_NONE) {
MX_E("[CoreAPI][%s] MUXER_ERROR_INVALID_OPERATION(0x%08x)",
__FUNCTION__, MEDIAMUXER_ERROR_INVALID_OPERATION);
free(handle);
if (path == NULL) {
MX_I("Invalid uri");
- return MEDIAMUXER_ERROR_INVALID_PARAMETER;
+ handle->muxer_state = MEDIAMUXER_STATE_NONE;
+ return MEDIAMUXER_ERROR_INVALID_PATH;
}
if (format != MEDIAMUXER_CONTAINER_FORMAT_MP4
&& format != MEDIAMUXER_CONTAINER_FORMAT_AMR_NB
&& format != MEDIAMUXER_CONTAINER_FORMAT_AMR_WB) {
MX_E("Unsupported Container format: %d \n", format);
+ handle->muxer_state = MEDIAMUXER_STATE_NONE;
return MEDIAMUXER_ERROR_INVALID_PARAMETER;
}
if (handle->muxer_state == MEDIAMUXER_STATE_IDLE) {
if (ret != MEDIAMUXER_ERROR_NONE) {
MX_E("[CoreAPI][%s] MUXER_ERROR_INVALID_OPERATION(0x%08x)",
__FUNCTION__, MEDIAMUXER_ERROR_INVALID_OPERATION);
+ handle->muxer_state = MEDIAMUXER_STATE_NONE;
ret = MEDIAMUXER_ERROR_INVALID_OPERATION;
} else {
MX_I("[CoreAPI][%s] set_data_sink successful, handle : %p",
} else {
MX_E("[CoreAPI][%s] MEDIAMUXER_ERROR_INVALID_STATE(0x%08x)",
__FUNCTION__, MEDIAMUXER_ERROR_INVALID_STATE);
+ handle->muxer_state = MEDIAMUXER_STATE_NONE;
ret = MEDIAMUXER_ERROR_INVALID_STATE;
}
return ret;