From: Sejun Park Date: Tue, 14 Jun 2016 04:13:13 +0000 (+0900) Subject: fix issues from codereview X-Git-Tag: submit/tizen/20160614.103947^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e2b2d4b4f53da6d366ccad078cbe8f70d788b184;p=platform%2Fcore%2Fapi%2Fmediatool.git fix issues from codereview Change-Id: I02e30dc87e5931f303a50bc6d5a195daac52e1d6 --- diff --git a/doc/media_tool_doc.h b/doc/media_tool_doc.h index 993869e..fbe42bc 100755 --- a/doc/media_tool_doc.h +++ b/doc/media_tool_doc.h @@ -52,4 +52,4 @@ * \#include */ -#endif // __TIZEN_MEDIA_TOOL_DOC_H__ +#endif /* __TIZEN_MEDIA_TOOL_DOC_H__ */ diff --git a/include/media_format.h b/include/media_format.h index 9d05b38..abced10 100755 --- a/include/media_format.h +++ b/include/media_format.h @@ -220,8 +220,8 @@ typedef enum { /** * @brief Creates a media format. * @since_tizen @if MOBILE 2.3 @elseif WEARABLE 2.3.1 @endif - * @details It creates media format. and reference count will be set to 1 - For destroying media_format_h handle, use media_format_unref(). + * @details It creates media format. and reference count will be set to 1 + For destroying media_format_h handle, use media_format_unref(). * @param[out] fmt allocated media_format_h * * @return @c 0 on success, diff --git a/include/media_format_private.h b/include/media_format_private.h index 51b3055..ed824e3 100755 --- a/include/media_format_private.h +++ b/include/media_format_private.h @@ -30,31 +30,22 @@ extern "C" { #define LOG_TAG "TIZEN_MEDIA_TOOL" #define MEDIA_FORMAT_CHECK_CONDITION(condition, error, msg) \ - if (condition) {} else \ - { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; \ + if (condition) {} else \ + { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; #define MEDIA_FORMAT_CHECK_CONDITION_VOID(condition, msg) \ - if (condition) {} else \ - { LOGE("[%s] %s", __FUNCTION__, msg); return; }; \ + if (condition) {} else \ + { LOGE("[%s] %s", __FUNCTION__, msg); return; }; #define MEDIA_FORMAT_INSTANCE_CHECK(media_format) \ - MEDIA_FORMAT_CHECK_CONDITION(media_format != NULL, MEDIA_FORMAT_ERROR_INVALID_PARAMETER, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") + MEDIA_FORMAT_CHECK_CONDITION(media_format != NULL, MEDIA_FORMAT_ERROR_INVALID_PARAMETER, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") #define MEDIA_FORMAT_INSTANCE_CHEC_VOID(media_format) \ - MEDIA_FORMAT_CHECK_CONDITION_VOID(media_format != NULL, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") + MEDIA_FORMAT_CHECK_CONDITION_VOID(media_format != NULL, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") #define MEDIA_FORMAT_NULL_ARG_CHECK(arg) \ - MEDIA_FORMAT_CHECK_CONDITION(arg != NULL, MEDIA_FORMAT_ERROR_INVALID_PARAMETER, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") - -#if 0 -#define atomic_int_inc(atomic) \ - (__extension__({ \ - STATIC_ASSERT(sizeof *(atomic) == sizeof(int)); \ - (void) (0 ? *(atomic) ^ *(atomic) : 0); \ - (void) __sync_fetch_and_add((atomic), 1); \ - })) -#endif + MEDIA_FORMAT_CHECK_CONDITION(arg != NULL, MEDIA_FORMAT_ERROR_INVALID_PARAMETER, "MEDIA_FORMAT_ERROR_INVALID_PARAMETER") #define MEDIA_FORMAT_CAST(obj) ((media_format_s*)(obj)) diff --git a/include/media_packet.h b/include/media_packet.h index dbde795..50cfac3 100755 --- a/include/media_packet.h +++ b/include/media_packet.h @@ -55,7 +55,7 @@ typedef enum { MEDIA_PACKET_ERROR_INVALID_PARAMETER = TIZEN_ERROR_INVALID_PARAMETER, /**< Invalid parameter */ MEDIA_PACKET_ERROR_INVALID_OPERATION = TIZEN_ERROR_INVALID_OPERATION, /**< Invalid operation */ MEDIA_PACKET_ERROR_FILE_NO_SPACE_ON_DEVICE = TIZEN_ERROR_FILE_NO_SPACE_ON_DEVICE, /**< No space left on device */ - MEDIA_PACKET_ERROR_NO_AVAILABLE_PACKET = TIZEN_ERROR_MEDIA_TOOL | 0x01, /**< No Available packet, (Since 3.0) */ + MEDIA_PACKET_ERROR_NO_AVAILABLE_PACKET = TIZEN_ERROR_MEDIA_TOOL | 0x01, /**< No Available packet, (Since 3.0) */ } media_packet_error_e; /** diff --git a/include/media_packet_pool.h b/include/media_packet_pool.h index a802976..d93a29f 100755 --- a/include/media_packet_pool.h +++ b/include/media_packet_pool.h @@ -142,22 +142,22 @@ int media_packet_pool_allocate(media_packet_pool_h pool); /** * @brief Acquires a media packet from the media packet pool. * @details It will take a media packet from the queue and block until media packet is released into the pool agaian. - * When there are no media packets available, it will be increased to #max_buffers of given parameter. + * When there are no media packets available, it will be increased to #max_buffers of given parameter. * * @since_tizen 3.0 * * @param[in] pool The media packet pool handle * @param[out] pkt The media packet handle * @param[in] timeout It indicates the millisecond-timeouts to block - * while waiting for one of acquired packet to be released. - * If the value of timeout is -1, the pool blocks indefinitely until media packet into the pool. + * while waiting for one of acquired packet to be released. + * If the value of timeout is -1, the pool blocks indefinitely until media packet into the pool. * * @return @c 0 on success, * otherwise a negative error value * @retval #MEDIA_PACKET_ERROR_NONE Successful * @retval #MEDIA_PACKET_ERROR_INVALID_PARAMETER Invalid parameter * @retval #MEDIA_PACKET_ERROR_INVALID_OPERATION The user does not allocate the pool.\n - * The pool should be allocated with media_packet_pool_allocate() before acquiring media packet from the pool. + * The pool should be allocated with media_packet_pool_allocate() before acquiring media packet from the pool. * @retval #MEDIA_PACKET_ERROR_NO_AVAILABLE_PACKET No available packet * @see media_pakcet_pool_set_size() * @see media_packet_pool_release_packet() diff --git a/include/media_packet_pool_private.h b/include/media_packet_pool_private.h index 92e679e..77edce1 100755 --- a/include/media_packet_pool_private.h +++ b/include/media_packet_pool_private.h @@ -32,14 +32,14 @@ extern "C" { #define MAX_PACKET 25 #define MEDIA_PACKET_POOL_CHECK_CONDITION(condition, error, msg) \ - if (condition) {} else \ - { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; \ + if (condition) {} else \ + { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; #define MEDIA_PACKET_POOL_INSTANCE_CHECK(pool) \ - MEDIA_PACKET_POOL_CHECK_CONDITION(pool != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") + MEDIA_PACKET_POOL_CHECK_CONDITION(pool != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") #define MEDIA_PACKET_POOL_NULL_ARG_CHECK(arg) \ - MEDIA_PACKET_POOL_CHECK_CONDITION(arg != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") + MEDIA_PACKET_POOL_CHECK_CONDITION(arg != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") /** * @brief The Media Packet Pool structure. * @since_tizen 3.0 diff --git a/include/media_packet_private.h b/include/media_packet_private.h index 881456d..6729ffb 100755 --- a/include/media_packet_private.h +++ b/include/media_packet_private.h @@ -30,14 +30,14 @@ extern "C" { #define LOG_TAG "TIZEN_MEDIA_TOOL" #define MEDIA_PACKET_CHECK_CONDITION(condition, error, msg) \ - if (condition) {} else \ - { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; \ + if (condition) {} else \ + { LOGE("[%s] %s(0x%08x)", __FUNCTION__, msg, error); return error; }; #define MEDIA_PACKET_INSTANCE_CHECK(media_packet) \ - MEDIA_PACKET_CHECK_CONDITION(media_packet != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") + MEDIA_PACKET_CHECK_CONDITION(media_packet != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") #define MEDIA_PACKET_NULL_ARG_CHECK(arg) \ - MEDIA_PACKET_CHECK_CONDITION(arg != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") + MEDIA_PACKET_CHECK_CONDITION(arg != NULL, MEDIA_PACKET_ERROR_INVALID_PARAMETER, "MEDIA_PACKET_ERROR_INVALID_PARAMETER") /** * @brief Gets pts of media_packet_h diff --git a/packaging/capi-media-tool.spec b/packaging/capi-media-tool.spec index 0797ae8..b017e27 100755 --- a/packaging/capi-media-tool.spec +++ b/packaging/capi-media-tool.spec @@ -1,6 +1,6 @@ Name: capi-media-tool Summary: A Core API media tool library in Tizen Native API -Version: 0.1.3 +Version: 0.1.4 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/src/media_packet.c b/src/media_packet.c index b6b316b..d8225fd 100755 --- a/src/media_packet.c +++ b/src/media_packet.c @@ -247,13 +247,13 @@ int _pkt_alloc_buffer(media_packet_s *pkt) if (pkt->type == MEDIA_BUFFER_TYPE_NORMAL) { /* need to use format,width,height to get buffer size */ - if (MEDIA_FORMAT_IS_VIDEO(pkt->format)) { + if (MEDIA_FORMAT_IS_VIDEO(pkt->format)) buffersize = _pkt_calculate_video_buffer_size(pkt); - } else if (MEDIA_FORMAT_IS_AUDIO(pkt->format)) { + else if (MEDIA_FORMAT_IS_AUDIO(pkt->format)) buffersize = _pkt_calculate_audio_buffer_size(pkt); - } else { + else buffersize = _pkt_calculate_text_buffer_size(pkt); - } + /* 16bytes aligned malloc */ pkt->data = _aligned_malloc_normal_buffer_type(buffersize, 16); if (!pkt->data) diff --git a/src/media_packet_pool.c b/src/media_packet_pool.c index fce91de..6b1fb64 100755 --- a/src/media_packet_pool.c +++ b/src/media_packet_pool.c @@ -26,14 +26,14 @@ static gboolean _is_packet_in_queue(media_packet_pool_s *pool_handle, media_packet_h packet); static int _packet_finalize_cb(media_packet_h packet, int error_code, void *user_data); -int media_packet_pool_create(media_packet_pool_h * pool) +int media_packet_pool_create(media_packet_pool_h *pool) { int ret = MEDIA_PACKET_ERROR_NONE; media_packet_pool_s *pool_handle = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) malloc(sizeof(media_packet_pool_s)); + pool_handle = (media_packet_pool_s *)malloc(sizeof(media_packet_pool_s)); if (pool_handle != NULL) memset(pool_handle, 0, sizeof(media_packet_pool_s)); else { @@ -49,6 +49,7 @@ int media_packet_pool_create(media_packet_pool_h * pool) pool_handle->min_pool_size = 0; pool_handle->max_pool_size = 0; pool_handle->pool_allocated = false; + /* take memory packet pool handle */ *pool = (media_packet_pool_h) pool_handle; @@ -72,10 +73,13 @@ int media_packet_pool_set_media_format(media_packet_pool_h pool, media_format_h return MEDIA_PACKET_ERROR_INVALID_OPERATION; } - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; /* increase format reference count */ - media_format_ref(fmt); + if (media_format_ref(fmt) != MEDIA_FORMAT_ERROR_NONE) { + LOGE("failed to increase ref count"); + return MEDIA_PACKET_ERROR_INVALID_OPERATION; + } pool_handle->fmt_h = fmt; return ret; @@ -87,7 +91,7 @@ int media_packet_pool_set_size(media_packet_pool_h pool, int min_buffers, int ma media_packet_pool_s *pool_handle = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; if (max_buffers < 0 || min_buffers < 0 || min_buffers > max_buffers) return MEDIA_PACKET_ERROR_INVALID_PARAMETER; @@ -100,17 +104,20 @@ int media_packet_pool_set_size(media_packet_pool_h pool, int min_buffers, int ma int media_packet_pool_get_size(media_packet_pool_h pool, int *min_size, int *max_size, int *curr_size) { - int ret = MEDIA_PACKET_ERROR_NONE; media_packet_pool_s *pool_handle = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; - *curr_size = pool_handle->curr_pool_size; - *min_size = pool_handle->min_pool_size; - *max_size = pool_handle->max_pool_size; - return ret; + pool_handle = (media_packet_pool_s *)pool; + if (*curr_size) + *curr_size = pool_handle->curr_pool_size; + if (*min_size) + *min_size = pool_handle->min_pool_size; + if (*max_size) + *max_size = pool_handle->max_pool_size; + + return MEDIA_PACKET_ERROR_NONE; } int _packet_finalize_cb(media_packet_h packet, int error_code, void *user_data) @@ -123,11 +130,9 @@ int _packet_finalize_cb(media_packet_h packet, int error_code, void *user_data) pool_handle = (media_packet_pool_s *)pool; if (g_atomic_int_get(&pool_handle->pool_allocated)) { - if (media_packet_pool_release_packet(pool, packet) != MEDIA_PACKET_ERROR_NONE) { + if (media_packet_pool_release_packet(pool, packet) != MEDIA_PACKET_ERROR_NONE) LOGW("media packet couldn't be released. packet(%p) might be in queue", packet); - } return MEDIA_PACKET_REUSE; - } else { return MEDIA_PACKET_FINALIZE; } @@ -141,19 +146,18 @@ int media_packet_pool_allocate(media_packet_pool_h pool) media_packet_pool_s *pool_handle = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; if (!(pool_handle->pool_created)) { LOGE("The media packet pool is not created.."); return MEDIA_PACKET_ERROR_INVALID_OPERATION; - } if (!(pool_handle->min_pool_size)) { LOGE("The media packet pool size is not set. set pool size..."); return MEDIA_PACKET_ERROR_INVALID_OPERATION; - } + if (pool_handle->curr_pool_size >= pool_handle->max_pool_size) { LOGE("The media packet pool is full.."); return MEDIA_PACKET_ERROR_INVALID_OPERATION; @@ -163,7 +167,6 @@ int media_packet_pool_allocate(media_packet_pool_h pool) if (g_atomic_int_get(&pool_handle->pool_allocated)) { LOGE("The media packet is already allocated. set media format size..."); return MEDIA_PACKET_ERROR_INVALID_OPERATION; - } for (i = 0; i < pool_handle->min_pool_size; i++) { @@ -174,21 +177,20 @@ int media_packet_pool_allocate(media_packet_pool_h pool) g_queue_push_tail(pool_handle->queue, pool_handle->packet[i]); LOGD("[%d]%p queued", i, pool_handle->packet[i]); pool_handle->curr_pool_size++; - - } - g_atomic_int_set(&pool_handle->pool_allocated, 1); + } + g_atomic_int_set(&pool_handle->pool_allocated, 1); return ret; } -int media_packet_pool_acquire_packet(media_packet_pool_h pool, media_packet_h * pkt, long timeout) +int media_packet_pool_acquire_packet(media_packet_pool_h pool, media_packet_h *pkt, long timeout) { int ret = MEDIA_PACKET_ERROR_NONE; media_packet_pool_s *pool_handle = NULL; media_packet_h packet = NULL; gint64 wait_until = -1; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; if (timeout != -1) { gint64 add = timeout; @@ -198,7 +200,6 @@ int media_packet_pool_acquire_packet(media_packet_pool_h pool, media_packet_h * if (!g_atomic_int_get(&pool_handle->pool_allocated)) { LOGE("The media packet pool is not allocated..."); return MEDIA_PACKET_ERROR_INVALID_OPERATION; - } g_mutex_lock(&pool_handle->mutex); @@ -243,11 +244,10 @@ int media_packet_pool_acquire_packet(media_packet_pool_h pool, media_packet_h * } } - *pkt = (media_packet_h) packet; + *pkt = (media_packet_h)packet; g_mutex_unlock(&pool_handle->mutex); LOGD("The packet handle aquired from pool is %p..", packet); return ret; - } gboolean _is_packet_in_queue(media_packet_pool_s *pool_handle, media_packet_h packet) @@ -268,30 +268,31 @@ int media_packet_pool_release_packet(media_packet_pool_h pool, media_packet_h pk GList *find; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; + + g_mutex_lock(&pool_handle->mutex); - if ((find = g_queue_find (pool_handle->queue, pkt))) { + if ((find = g_queue_find(pool_handle->queue, pkt))) { LOGE("unable to release '%p' to the pool. Already released", pkt); + g_mutex_unlock(&pool_handle->mutex); return MEDIA_PACKET_ERROR_INVALID_OPERATION; } - g_mutex_lock(&pool_handle->mutex); num_pkts = g_queue_get_length(pool_handle->queue); - g_mutex_unlock(&pool_handle->mutex); if (num_pkts == pool_handle->curr_pool_size) { LOGE("Queue is already full"); + g_mutex_unlock(&pool_handle->mutex); return MEDIA_PACKET_ERROR_INVALID_OPERATION; } if (_is_packet_in_queue(pool_handle, pkt)) { - g_mutex_lock(&pool_handle->mutex); g_queue_push_tail(pool_handle->queue, pkt); - g_mutex_unlock(&pool_handle->mutex); g_cond_signal(&pool_handle->queue_cond); LOGD("The packet released to pool is %p..\n", pkt); } else { LOGE("packet is not aquired from pool %p", pkt); + g_mutex_unlock(&pool_handle->mutex); return MEDIA_PACKET_ERROR_INVALID_OPERATION; } @@ -300,6 +301,8 @@ int media_packet_pool_release_packet(media_packet_pool_h pool, media_packet_h pk media_packet_unset_flags(pkt, MEDIA_PACKET_END_OF_STREAM); media_packet_unset_flags(pkt, MEDIA_PACKET_SYNC_FRAME); + g_mutex_unlock(&pool_handle->mutex); + return ret; } @@ -311,7 +314,7 @@ int media_packet_pool_deallocate(media_packet_pool_h pool) media_packet_h packet = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; if (!(pool_handle->pool_created)) return MEDIA_PACKET_ERROR_INVALID_OPERATION; @@ -354,7 +357,7 @@ int media_packet_pool_destroy(media_packet_pool_h pool) media_packet_pool_s *pool_handle = NULL; MEDIA_PACKET_POOL_INSTANCE_CHECK(pool); - pool_handle = (media_packet_pool_s *) pool; + pool_handle = (media_packet_pool_s *)pool; if (!(pool_handle->pool_created)) return MEDIA_PACKET_ERROR_INVALID_OPERATION; @@ -366,17 +369,19 @@ int media_packet_pool_destroy(media_packet_pool_h pool) if (num_pkts > 0) { LOGE("The packet pool needs to deallocate first "); return MEDIA_PACKET_ERROR_INVALID_OPERATION; - } /* unreference media_format */ - media_format_unref(pool_handle->fmt_h); + if (media_format_unref(pool_handle->fmt_h) != MEDIA_FORMAT_ERROR_NONE) { + LOGE("failed to decrease ref count"); + return MEDIA_PACKET_ERROR_INVALID_OPERATION; + } + g_queue_free(pool_handle->queue); LOGI("The packet pool handle(%p) will be destroyed..", pool_handle); free(pool_handle); pool_handle = NULL; return ret; - } diff --git a/test/media_packet_test.c b/test/media_packet_test.c index 422fb6b..369880f 100755 --- a/test/media_packet_test.c +++ b/test/media_packet_test.c @@ -940,106 +940,101 @@ void _interpret_main_menu(char *cmd) if (len == 1) { if (strncmp(cmd, "a", 1) == 0) _media_packet_create_alloc(); - else if (strncmp(cmd, "d", 1) == 0) { + else if (strncmp(cmd, "d", 1) == 0) _media_packet_destroy(); - } else if (strncmp(cmd, "b", 1) == 0) { + else if (strncmp(cmd, "b", 1) == 0) _media_packet_create_from_tbm_surface(); - } else if (strncmp(cmd, "c", 1) == 0) { + else if (strncmp(cmd, "c", 1) == 0) _media_packet_copy(); - } else if (strncmp(cmd, "q", 1) == 0) { + else if (strncmp(cmd, "q", 1) == 0) quit_program(); - } } else if (len == 2) { if (strncmp(cmd, "aa", 2) == 0) _media_packet_create(); - else if (strncmp(cmd, "ab", 2) == 0) { + else if (strncmp(cmd, "ab", 2) == 0) _media_packet_alloc(); - } else if (strncmp(cmd, "iv", 2) == 0) { + else if (strncmp(cmd, "iv", 2) == 0) _media_packet_is_video(); - } else if (strncmp(cmd, "ia", 2) == 0) { + else if (strncmp(cmd, "ia", 2) == 0) _media_packet_is_audio(); - } else if (strncmp(cmd, "it", 2) == 0) { + else if (strncmp(cmd, "it", 2) == 0) _media_packet_is_text(); - } else if (strncmp(cmd, "ie", 2) == 0) { + else if (strncmp(cmd, "ie", 2) == 0) _media_packet_is_encoded(); - } else if (strncmp(cmd, "ir", 2) == 0) { + else if (strncmp(cmd, "ir", 2) == 0) _media_packet_is_raw(); - } else if (strncmp(cmd, "gd", 2) == 0) { + else if (strncmp(cmd, "gd", 2) == 0) _media_packet_get_duration(); - } else if (strncmp(cmd, "sd", 2) == 0) { + else if (strncmp(cmd, "sd", 2) == 0) g_menu_state = CURRENT_STATUS_DURATION; - } else if (strncmp(cmd, "gf", 2) == 0) { + else if (strncmp(cmd, "gf", 2) == 0) _media_packet_get_format(); - } else if (strncmp(cmd, "gs", 2) == 0) { + else if (strncmp(cmd, "gs", 2) == 0) _media_packet_get_buffer_size(); - } else if (strncmp(cmd, "sf", 2) == 0) { + else if (strncmp(cmd, "sf", 2) == 0) g_menu_state = CURRENT_STATUS_PACKET_SET_FORMAT; - } else if (strncmp(cmd, "se", 2) == 0) { + else if (strncmp(cmd, "se", 2) == 0) _media_packet_set_extra(); - } else if (strncmp(cmd, "ge", 2) == 0) { + else if (strncmp(cmd, "ge", 2) == 0) _media_packet_get_extra(); - } else if (strncmp(cmd, "ht", 2) == 0) { + else if (strncmp(cmd, "ht", 2) == 0) _media_packet_has_tbm_surface_buffer(); - } else if (strncmp(cmd, "cf", 2) == 0) { + else if (strncmp(cmd, "cf", 2) == 0) _media_format_create(); - } - } else if (len == 3) { if (strncmp(cmd, "gbp", 3) == 0) _media_packet_get_buffer_data_ptr(); - else if (strncmp(cmd, "gts", 3) == 0) { + else if (strncmp(cmd, "gts", 3) == 0) _media_packet_get_tbm_surface(); - } else if (strncmp(cmd, "fgv", 3) == 0) { + else if (strncmp(cmd, "fgv", 3) == 0) _media_format_get_video_info(); - } else if (strncmp(cmd, "fga", 3) == 0) { + else if (strncmp(cmd, "fga", 3) == 0) _media_format_get_audio_info(); - } else if (strncmp(cmd, "fgt", 3) == 0) { + else if (strncmp(cmd, "fgt", 3) == 0) _media_format_get_text_info(); - } else if (strncmp(cmd, "svm", 3) == 0) { + else if (strncmp(cmd, "svm", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_VIDEO_MIME; - } else if (strncmp(cmd, "svw", 3) == 0) { + else if (strncmp(cmd, "svw", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_VIDEO_WIDTH; - } else if (strncmp(cmd, "svh", 3) == 0) { + else if (strncmp(cmd, "svh", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_VIDEO_HEIGHT; - } else if (strncmp(cmd, "sam", 3) == 0) { + else if (strncmp(cmd, "sam", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_MIME; - } else if (strncmp(cmd, "sac", 3) == 0) { + else if (strncmp(cmd, "sac", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_CHANNEL; - } else if (strncmp(cmd, "sas", 3) == 0) { + else if (strncmp(cmd, "sas", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_SAMPLERATE; - } else if (strncmp(cmd, "sab", 3) == 0) { + else if (strncmp(cmd, "sab", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_BIT; - } else if (strncmp(cmd, "stm", 3) == 0) { + else if (strncmp(cmd, "stm", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_TEXT_MIME; - } else if (strncmp(cmd, "stt", 3) == 0) { + else if (strncmp(cmd, "stt", 3) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_TEXT_TYPE; - } else if (strncmp(cmd, "gnp", 3) == 0) { + else if (strncmp(cmd, "gnp", 3) == 0) _media_packet_get_number_of_video_planes(); - } else if (strncmp(cmd, "gsw", 3) == 0) { + else if (strncmp(cmd, "gsw", 3) == 0) _media_packet_get_video_stride_width(); - } else if (strncmp(cmd, "gsh", 3) == 0) { + else if (strncmp(cmd, "gsh", 3) == 0) _media_packet_get_video_stride_height(); - } else if (strncmp(cmd, "gpp", 3) == 0) { + else if (strncmp(cmd, "gpp", 3) == 0) _media_packet_get_video_plane_data_ptr(); - } else if (strncmp(cmd, "scd", 3) == 0) { + else if (strncmp(cmd, "scd", 3) == 0) _media_packet_set_codec_data(); - } else if (strncmp(cmd, "gcd", 3) == 0) { + else if (strncmp(cmd, "gcd", 3) == 0) _media_packet_get_codec_data(); - } } else if (len == 4) { if (strncmp(cmd, "fraw", 4) == 0) _create_format_raw(); - else if (strncmp(cmd, "fes2", 4) == 0) { + else if (strncmp(cmd, "fes2", 4) == 0) _create_format_320_240_es(); - } else if (strncmp(cmd, "svab", 4) == 0) { + else if (strncmp(cmd, "svab", 4) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_VIDEO_AVG_BPS; - } else if (strncmp(cmd, "svmb", 4) == 0) { + else if (strncmp(cmd, "svmb", 4) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_VIDEO_MAX_BPS; - } else if (strncmp(cmd, "saab", 4) == 0) { + else if (strncmp(cmd, "saab", 4) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_AVG_BPS; - } else if (strncmp(cmd, "saat", 4) == 0) { + else if (strncmp(cmd, "saat", 4) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_AAC_TYPE; - } } else if (len == 5) { if (strncmp(cmd, "saaht", 5) == 0) g_menu_state = CURRENT_STATUS_FORMAT_SET_AUDIO_AAC_HEADER_TYPE;