Added audioconvert for supporting 16bit pcm when running audio encoder
[platform/core/api/mediacodec.git] / test / media_codec_test.c
index e94e011..67f0f68 100755 (executable)
@@ -639,11 +639,6 @@ void mp3dec_extractor(App *app, unsigned char **data, int *size, bool *have_fram
                return;
        } else {
                layer = 4 - ((header >> 17) & 0x3);
-
-               if (layer < 1) {
-                       *have_frame = FALSE;
-                       return;
-               }
        }
 
        /* if it's an invalid bitrate */
@@ -783,6 +778,13 @@ void extract_input_aacdec_m4a_test(App * app, unsigned char **data, int *size, b
                read_size = readsize;
                app->offset += header_size + readsize;
 
+               if (app->offset > app->length) {
+                       read_size = 0;
+                       *have_frame = FALSE;
+                       g_print("[FAIL] offset error \n");
+                       return;
+               }
+
        } else {
                read_size = 0;
                g_print("[FAIL] Not found aac frame sync. \n");
@@ -871,7 +873,7 @@ int  _mediacodec_set_codec(App *app, int codecid, int flag, bool *hardware)
        case MEDIACODEC_AAC:
                if (encoder) {
                        extractor = aacenc_extractor;
-                       mime = MEDIA_FORMAT_PCM;
+                       mime = MEDIA_FORMAT_PCM_F32LE;  /* FIXME need to check according to verdor */
                } else {
                        extractor = aacdec_extractor;
                        mime = MEDIA_FORMAT_AAC;
@@ -880,7 +882,7 @@ int  _mediacodec_set_codec(App *app, int codecid, int flag, bool *hardware)
        case MEDIACODEC_AAC_HE:
                if (encoder) {
                        extractor = aacenc_extractor;
-                       mime = MEDIA_FORMAT_PCM;
+                       mime = MEDIA_FORMAT_PCM_F32LE;  /* FIXME need to check according to verdor */
                } else {
                        extractor = extract_input_aacdec_m4a_test;
                        mime = MEDIA_FORMAT_AAC_HE;
@@ -907,7 +909,7 @@ int  _mediacodec_set_codec(App *app, int codecid, int flag, bool *hardware)
        case MEDIACODEC_AMR_NB:
                if (encoder) {
                        extractor = amrenc_extractor;
-                       mime = MEDIA_FORMAT_PCM;
+                       mime = MEDIA_FORMAT_PCM_F32LE;  /* FIXME need to check according to verdor */
                        app->is_amr_nb = TRUE;
                } else {
                        extractor = amrdec_extractor;
@@ -917,7 +919,7 @@ int  _mediacodec_set_codec(App *app, int codecid, int flag, bool *hardware)
        case MEDIACODEC_AMR_WB:
                if (encoder) {
                        extractor = amrenc_extractor;
-                       mime = MEDIA_FORMAT_PCM;
+                       mime = MEDIA_FORMAT_PCM_F32LE;  /* FIXME need to check according to verdor */
                        app->is_amr_nb = FALSE;
                } else {
                        extractor = amrdec_extractor;
@@ -1242,10 +1244,10 @@ static bool _mediacodec_eos_cb(void *user_data)
        return TRUE;
 }
 
-void _foreach_cb(mediacodec_codec_type_e codec_type, void *user_data)
+gboolean  _foreach_cb(mediacodec_codec_type_e codec_type, void *user_data)
 {
        g_print("codec type : %x %s\n", codec_type, codec_type_to_string(codec_type));
-       return;
+       return TRUE;
 }
 
 static void _mediacodec_prepare(App *app, bool frame_all)
@@ -1762,7 +1764,7 @@ static void interpret(char *cmd, App *app)
        {
                app->frame = atoi(cmd);
 
-               if (app->frame > 0)
+               if (app->frame > 0 && app->frame < 10)
                        _mediacodec_process_input(app);
                reset_menu_state();
        }