[ITC][player][NonACR][Fix timeout issue for audio frame decode TCs] 74/287574/1
authorAnkit Srivastava <ankit.sri1@samsung.com>
Tue, 27 Sep 2022 06:46:10 +0000 (12:16 +0530)
committerGilbok Lee <gilbok.lee@samsung.com>
Wed, 1 Feb 2023 00:47:26 +0000 (00:47 +0000)
Change-Id: Ibd57dd2200c4b2f76121baf2d239092b39e34102
Signed-off-by: Ankit Srivastava <ankit.sri1@samsung.com>
(cherry picked from commit 74ba17392c83b8e8e0aaebb4f18ebbadc1ddbbbe)

src/itc/player/ITs-player.c [changed mode: 0755->0644]

old mode 100755 (executable)
new mode 100644 (file)
index fe107d6..e1a914d
@@ -26,7 +26,7 @@
 #define EXPORT_PCM_SAMPLERATE  44100
 #define EXPORT_PCM_STEREO      2
 #define EXPORT_PCM_MONO                1
-#define TIMEOUT2               3000
+#define TIMEOUT2               1000
 #define LIMIT                  10
 
 bool g_bPlayerCreation;
@@ -3379,21 +3379,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_le_deinterle
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_DEINTERLEAVE,
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_S16LE,
-               MEDIA_FORMAT_PCM_S24LE,
-               MEDIA_FORMAT_PCM_S32LE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -3412,76 +3397,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_le_deinterle
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_S16LE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_S16LE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -3508,21 +3483,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_le_no_sync_a
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_S16LE,
-               MEDIA_FORMAT_PCM_S24LE,
-               MEDIA_FORMAT_PCM_S32LE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -3541,76 +3501,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_le_no_sync_a
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_S24LE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_S24LE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -3637,21 +3587,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_be_deinterle
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_S16BE,
-               MEDIA_FORMAT_PCM_S24BE,
-               MEDIA_FORMAT_PCM_S32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -3670,76 +3605,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_be_deinterle
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_S32BE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_S32BE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -3766,21 +3691,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_be_no_sync_a
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_S16BE,
-               MEDIA_FORMAT_PCM_S24BE,
-               MEDIA_FORMAT_PCM_S32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -3799,76 +3709,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_signed_be_no_sync_a
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_S24BE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_S24BE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -3895,20 +3795,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_float_deinterleave_
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_F32LE,
-               MEDIA_FORMAT_PCM_F32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -3927,76 +3813,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_float_deinterleave_
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_F32LE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_F32LE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -4023,20 +3899,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_float_no_sync_and_d
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_F32LE,
-               MEDIA_FORMAT_PCM_F32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -4055,76 +3917,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_float_no_sync_and_d
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_F32BE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_F32BE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player, &state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player, &state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -4151,21 +4003,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_le_deinter
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_U16LE,
-               MEDIA_FORMAT_PCM_U24LE,
-               MEDIA_FORMAT_PCM_U32LE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -4184,76 +4021,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_le_deinter
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_U16LE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_U16LE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player,&state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player,&state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -4280,21 +4107,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_le_no_sync
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_U16LE,
-               MEDIA_FORMAT_PCM_U24LE,
-               MEDIA_FORMAT_PCM_U32LE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -4313,76 +4125,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_le_no_sync
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_U24LE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_U24LE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player,&state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player,&state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -4409,21 +4211,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_be_no_sync
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_U16BE,
-               MEDIA_FORMAT_PCM_U24BE,
-               MEDIA_FORMAT_PCM_U32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -4442,76 +4229,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_be_no_sync
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_U16BE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_U16BE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_NO_SYNC_AND_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for (nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if (g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player,&state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player,&state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }
@@ -4527,7 +4304,7 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_be_no_sync
 * @description                 Sets and unsets a media packet audio decoded callback function.
 * @scenario                    Sets and unsets a media packet audio decoded callback function.
 * @apicovered                  player_set_media_packet_audio_frame_decoded_cb, player_unset_media_packet_audio_frame_decoded_cb
-* @passcase                    player_set_media_packet_audio_frame_decoded_cb, player_unset_media_packet_audio_frame_decoded_cb and all precondition apis are                                  successful
+* @passcase                    player_set_media_packet_audio_frame_decoded_cb, player_unset_media_packet_audio_frame_decoded_cb and all precondition apis are  successful
 * @failcase                    player_set_media_packet_audio_frame_decoded_cb, player_unset_media_packet_audio_frame_decoded_cb or any precondition api fails
 * @precondition                        media_format_create
 * @postcondition               NA
@@ -4538,21 +4315,6 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_be_deinter
        media_format_h hMediaFormat = NULL;
        player_state_e state;
 
-       player_audio_extract_option_e EXTRACT_OPTION_ARR[]=
-       {
-               PLAYER_AUDIO_EXTRACT_DEINTERLEAVE
-       };
-
-       media_format_mimetype_e FORMAT_MIMETYPE_ARR[]=
-       {
-               MEDIA_FORMAT_PCM_U16BE,
-               MEDIA_FORMAT_PCM_U24BE,
-               MEDIA_FORMAT_PCM_U32BE,
-       };
-
-       int nSize = sizeof(EXTRACT_OPTION_ARR)/sizeof(EXTRACT_OPTION_ARR[0]);
-       int nSize2 = sizeof(FORMAT_MIMETYPE_ARR)/sizeof(FORMAT_MIMETYPE_ARR[0]);
-        int nCounter = 0, nInnerCounter = 0;
        int nRet = -1;
        int nRepeat = 0;
 
@@ -4571,76 +4333,66 @@ int ITc_player_set_unset_media_packet_audio_frame_decoded_cb_unsigned_be_deinter
        nRet = player_set_uri(g_player, pPath);
        PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_set_uri", PlayerGetError(nRet));
 
-       for(nInnerCounter = 0; nInnerCounter < nSize2; nInnerCounter++)
-       {
-               g_eMediaFormatMimetype = FORMAT_MIMETYPE_ARR[nInnerCounter];
-
-               for( nCounter = 0; nCounter < nSize; nCounter++)
-               {
-                       g_bPlayerAudioDecodedCallback = false;
-
-                       //get media format
-                       nRet = media_format_create(&hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
-                       CHECK_HANDLE(hMediaFormat, "media_format_create");
-
-                       //set audio format
-                       nRet = media_format_set_audio_mime(hMediaFormat, g_eMediaFormatMimetype);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       g_bPlayerAudioDecodedCallback = false;
+       g_eMediaFormatMimetype = MEDIA_FORMAT_PCM_U32BE;
+       //get media format
+       nRet = media_format_create(&hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_create", MediaFormatGetError(nRet));
+       CHECK_HANDLE(hMediaFormat, "media_format_create");
 
-                       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       //set audio format
+       nRet = media_format_set_audio_mime(hMediaFormat, MEDIA_FORMAT_PCM_U32BE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
-                       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_channel(hMediaFormat, EXPORT_PCM_STEREO);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       g_ePlayerAudioExtractOption = EXTRACT_OPTION_ARR[nCounter];
-                       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, g_ePlayerAudioExtractOption, PlayerAudioDecodedCb, NULL);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
+       nRet = media_format_set_audio_samplerate(hMediaFormat, EXPORT_PCM_SAMPLERATE);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = media_format_unref(hMediaFormat);
-                       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
-                       hMediaFormat = NULL;
+       nRet = player_set_media_packet_audio_frame_decoded_cb(g_player, hMediaFormat, PLAYER_AUDIO_EXTRACT_DEINTERLEAVE, PlayerAudioDecodedCb, NULL);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_set_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), media_format_unref(hMediaFormat));
 
-                       nRet = player_prepare(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
+       nRet = media_format_unref(hMediaFormat);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
+       hMediaFormat = NULL;
 
-                       nRet = player_start(g_player);
-                       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
+       nRet = player_prepare(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_prepare", PlayerGetError(nRet));
 
-                       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
-                               PlayerWaitForAsync2(TIMEOUT2);
-                               if(g_bPlayerAudioDecodedCallback)
-                                       break;
-                       }
+       nRet = player_start(g_player);
+       PRINT_RESULT(PLAYER_ERROR_NONE, nRet, "player_start", PlayerGetError(nRet));
 
-                       if (!g_bPlayerAudioDecodedCallback)
-                       {
-                               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
-                               player_stop(g_player);
-                               player_unprepare(g_player);
-                               return 1;
-                       }
+       for(nRepeat = 0; nRepeat < LIMIT; nRepeat++) {
+               PlayerWaitForAsync2(TIMEOUT2);
+               if(g_bPlayerAudioDecodedCallback)
+                       break;
+       }
 
-                       nRet = player_get_state(g_player,&state);
-                       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       if (!g_bPlayerAudioDecodedCallback)
+       {
+               FPRINTF("[Line : %d][%s] player_audio_decoded_cb failed, error returned = callback not invoked\n", __LINE__, API_NAMESPACE);
+               player_stop(g_player);
+               player_unprepare(g_player);
+               return 1;
+       }
 
-                       PlayerGetState(state);
+       nRet = player_get_state(g_player,&state);
+       PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_get_state", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
 
-                       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
-                       {
-                               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
-                               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
-                       }
+       PlayerGetState(state);
 
-                       nRet = player_stop(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
+       if ( state == PLAYER_STATE_READY || state == PLAYER_STATE_IDLE )
+       {
+               nRet = player_unset_media_packet_audio_frame_decoded_cb(g_player);
+               PRINT_RESULT_CLEANUP(PLAYER_ERROR_NONE, nRet, "player_unset_media_packet_audio_frame_decoded_cb", PlayerGetError(nRet), player_stop(g_player);player_unprepare(g_player));
+       }
 
-                       nRet = player_unprepare(g_player);
-                       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
-               }
+       nRet = player_stop(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_stop", PlayerGetError(nRet));
 
-       }
+       nRet = player_unprepare(g_player);
+       PRINT_RESULT_NORETURN(PLAYER_ERROR_NONE, nRet, "player_unprepare", PlayerGetError(nRet));
 
        return 0;
 }