fix issues from codereview 45/74345/8 accepted/tizen/common/20160615.193328 accepted/tizen/ivi/20160615.001713 accepted/tizen/mobile/20160615.001809 accepted/tizen/tv/20160615.001735 accepted/tizen/wearable/20160615.001749 submit/tizen/20160614.103947
authorSejun Park <sejun79.park@samsung.com>
Tue, 14 Jun 2016 04:13:13 +0000 (13:13 +0900)
committerSejun Park <sejun79.park@samsung.com>
Tue, 14 Jun 2016 09:38:16 +0000 (18:38 +0900)
Change-Id: I02e30dc87e5931f303a50bc6d5a195daac52e1d6

doc/media_tool_doc.h
include/media_format.h
include/media_format_private.h
include/media_packet.h
include/media_packet_pool.h
include/media_packet_pool_private.h
include/media_packet_private.h
packaging/capi-media-tool.spec
src/media_packet.c
src/media_packet_pool.c
test/media_packet_test.c

index 993869efcbc7cc260b1f9787fd7b17690d7aa931..fbe42bcb45342688cddca199a2b195728ae40942 100755 (executable)
@@ -52,4 +52,4 @@
  *   \#include <media_format.h>
  */
 
-#endif // __TIZEN_MEDIA_TOOL_DOC_H__
+#endif /* __TIZEN_MEDIA_TOOL_DOC_H__ */
index 9d05b3827f61665f344eee4baa50ee6a4f98e52a..abced101eae97bbcebcb705cc86faee52ab4103a 100755 (executable)
@@ -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,
index 51b3055712b341b2a3582773f5aa83c6fa507542..ed824e347f775ad0ffee86fb4ceccdb10e3a932c 100755 (executable)
@@ -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))
 
index dbde7958782ea812b5ede42bb71c359a4341083e..50cfac38a0a2710f971a0ca4fdc1c22fe09c8f1b 100755 (executable)
@@ -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;
 
 /**
index a802976e45b0236267f7caf236df823050f709d8..d93a29fab5f7ead21a99a33e34494de1c12a5b0f 100755 (executable)
@@ -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()
index 92e679e219d21b919c9071ccd10c8dc16337b2f8..77edce17bd4963fac1fb77edb7175593ddaf20c2 100755 (executable)
@@ -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
index 881456dc9844135e44b1a04b922e872dfdfea9c4..6729ffb1262091223815bd38b5652565e9bf5da9 100755 (executable)
@@ -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
index 0797ae8c1c60d911c08abde9799f8d2254256062..b017e27621690c20f8982da8187c1fc8cc5d2c28 100755 (executable)
@@ -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
index b6b316b4884f72c671a304d2c14376f160e90685..d8225fdfcf9c24058bffca318030b434de5fda62 100755 (executable)
@@ -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)
index fce91de8d9c2c67d6479ba56015efad346b4bb55..6b1fb64d8b2c5a163c176cbd4d964b512d0884a6 100755 (executable)
 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;
-
 }
 
index 422fb6b0e0a6e3a8e839d5847e31ca46f910575b..369880f1a5fffec8b4fea708fab3cca6daf88861 100755 (executable)
@@ -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;