[ITC][capi-media-tool][ACR-944][Added new apis]
authorbipinkumar <bipin.k@samsung.com>
Thu, 3 Aug 2017 12:33:44 +0000 (18:03 +0530)
committershobhit verma <shobhit.v@samsung.com>
Thu, 10 Aug 2017 09:18:05 +0000 (09:18 +0000)
Change-Id: I2af0b80f00bc4812c70132e819d1faf08339ac10
Signed-off-by: bipinkumar <bipin.k@samsung.com>
src/itc/capi-media-tool/ITs-capi-media-format.c
src/itc/capi-media-tool/ITs-capi-media-tool.c
src/itc/capi-media-tool/tct-capi-media-tool-native_mobile.h
src/itc/capi-media-tool/tct-capi-media-tool-native_wearable.h

index 9d3f487..2f32e23 100755 (executable)
@@ -21,7 +21,6 @@
 */
 
 media_format_h g_hfmt;
-media_format_h g_Oldhfmt;
 static bool g_bMediaTools = false;
 
 void ITs_media_format_startup(void)
@@ -35,8 +34,7 @@ void ITs_media_format_startup(void)
        FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_Media_Tool_p\\n", __LINE__, API_NAMESPACE);
 #endif
 
-       int nRet = media_format_create(&g_Oldhfmt);
-       nRet = media_format_ref(g_Oldhfmt);
+       int nRet = media_format_create(&g_hfmt);
        if ( nRet == MEDIA_FORMAT_ERROR_NONE )
        {
                g_bMediaTools = true;
@@ -82,14 +80,12 @@ void ITs_media_format_cleanup(void)
 int ITc_media_format_ref_p(void)
 {
        START_TEST;
+       int nRet=-1;
 
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
        nRet = media_format_ref(g_hfmt);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_ref", MediaFormatGetError(nRet));
 
-       nRet = media_format_unref(g_hfmt);      
+       nRet = media_format_unref(g_hfmt);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
 
        return 0;
@@ -115,15 +111,26 @@ int ITc_media_format_ref_p(void)
 int ITc_media_format_is_writable_p(void)
 {
        START_TEST;
+       int nRet = -1;
+       media_format_h l_Newhfmt;
 
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);      
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       bool bIsWritable=0;
 
-       bool bIsWritable;
+       nRet = media_format_ref(g_hfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_ref", MediaFormatGetError(nRet));
+       
+       nRet = media_format_make_writable(g_hfmt, &l_Newhfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
 
-       nRet = media_format_is_writable(g_hfmt, &bIsWritable);  
+       nRet = media_format_is_writable(l_Newhfmt, &bIsWritable);       
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_is_writable", MediaFormatGetError(nRet));
-
+    if(bIsWritable == 0)
+       {
+               FPRINTF("[Line : %d][%s] ITc_media_format_is_writable_p:failure\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+       nRet = media_format_unref(l_Newhfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
        return 0;
 }
 
@@ -147,9 +154,16 @@ int ITc_media_format_is_writable_p(void)
 int ITc_media_format_make_writable_p(void)
 {
        START_TEST;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);      
+       media_format_h l_Newhfmt;
+       
+       int nRet = media_format_ref(g_hfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_ref", MediaFormatGetError(nRet));
+       
+       nRet = media_format_make_writable(g_hfmt, &l_Newhfmt);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       
+       nRet = media_format_unref(l_Newhfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
 
        return 0;
 }
@@ -174,9 +188,7 @@ int ITc_media_format_make_writable_p(void)
 int ITc_media_format_set_video_mime_p(void)
 {
        START_TEST;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);      
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
 
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1); 
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
@@ -206,8 +218,7 @@ int ITc_media_format_set_video_width_p(void)
        START_TEST;
 
        int nWidth = 480;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);      
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
        
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
@@ -240,8 +251,7 @@ int ITc_media_format_set_video_height_p(void)
        START_TEST;
 
        int nHeight = 640;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
        
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
@@ -274,9 +284,8 @@ int ITc_media_format_set_video_avg_bps_p(void)
        START_TEST;
 
        int nAvgBps = 10000000;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
 
@@ -308,9 +317,8 @@ int ITc_media_format_set_video_max_bps_p(void)
        START_TEST;
 
        int nMaxBps = 15000000;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
 
@@ -340,22 +348,21 @@ int ITc_media_format_set_video_max_bps_p(void)
 int ITc_media_format_get_video_info_p(void)
 {
        START_TEST;
+       int nRet=-1;
 
        int nWwidth = 0, nHeight = 0, nAvgBps = 0, nMaxBps = 0;
 
        media_format_mimetype_e eMediaFormatMimetype;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_width(g_hfmt, 640);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_height(g_hfmt, 480);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
        
@@ -388,9 +395,7 @@ int ITc_media_format_get_video_info_p(void)
 int ITc_media_format_set_audio_mime_p(void)
 {
        START_TEST;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
 
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
@@ -420,9 +425,8 @@ int ITc_media_format_set_audio_channel_p(void)
        START_TEST;
 
        int nChannel = 1;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
 
@@ -454,13 +458,12 @@ int ITc_media_format_set_audio_samplerate_p(void)
        START_TEST;
 
        int nSamplerate = 30;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
 
-       nRet = media_format_set_audio_samplerate(g_hfmt, nSamplerate);  
+       nRet = media_format_set_audio_samplerate(g_hfmt, nSamplerate);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet));
 
        return 0;
@@ -488,9 +491,8 @@ int ITc_media_format_set_audio_bit_p(void)
        START_TEST;
 
        int nBit = 20;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
 
@@ -522,9 +524,8 @@ int ITc_media_format_set_audio_avg_bps_p(void)
        START_TEST;
 
        int nAvgBps = 15;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
 
@@ -556,17 +557,15 @@ int ITc_media_format_get_audio_info_p(void)
        START_TEST;
 
        int  nChannel = 0 , nSamplerate = 0, nBit = 0, nAvgBps = 0;
+       int  nRet=-1;
        media_format_mimetype_e eMediaFormatMimetype;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_format_set_audio_channel(g_hfmt, 1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_channel", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_audio_samplerate(g_hfmt, 30);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_samplerate", MediaFormatGetError(nRet));
        
@@ -575,7 +574,7 @@ int ITc_media_format_get_audio_info_p(void)
        
        nRet = media_format_set_audio_avg_bps(g_hfmt, 15);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_avg_bps", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_get_audio_info(g_hfmt, &eMediaFormatMimetype, &nChannel, &nSamplerate, &nBit, &nAvgBps);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_get_audio_info", MediaFormatGetError(nRet));
 
@@ -605,10 +604,8 @@ int ITc_media_format_set_audio_aac_type_p(void)
        START_TEST;
        
        bool is_adts = 1;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_AAC_HE);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -640,10 +637,8 @@ int ITc_media_format_get_audio_aac_type_p(void)
        START_TEST;
        
        bool is_adts = 1;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_AAC_HE);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -676,9 +671,7 @@ int ITc_media_format_get_audio_aac_type_p(void)
 int ITc_media_format_get_type_p(void)
 {
        START_TEST;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
 
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
@@ -737,8 +730,7 @@ int ITc_media_format_set_get_video_frame_rate_p(void)
        START_TEST;
 
        int nGetFramerate = 0;
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet=-1;
 
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
@@ -777,55 +769,52 @@ int ITc_media_format_set_get_video_frame_rate_p(void)
 */
 int ITc_media_format_set_get_container_mime_p(void)
 {
-    START_TEST;
-    media_format_h fmt_container;
-    int nRet = -1;
-
-    nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-    PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-
-    media_format_mimetype_e eGetMimeType;
-
-    media_format_mimetype_e eMimeType[] = {
-        /* CONTAINER VIDEO */
-        MEDIA_FORMAT_CONTAINER_MP4,                        /**< media format mime type is MP4 container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_AVI,                        /**< media format mime type is AVI container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_MPEG2TS,                    /**< media format mime type is MPEG2TS container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_MPEG2PS,                    /**< media format mime type is MPEG2PS container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_MATROSKA,                /**< media format mime type is MATROSKA container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_WEBM,                    /**< media format mime type is WEBM container, VIDEO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_3GP,                        /**< media format mime type is 3GP container, VIDEO, (Since 3.0) */
-
-        /*CONTAINER AUDIO */
-        MEDIA_FORMAT_CONTAINER_WAV,                        /**< media format mime type is WAV container, AUDIO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_OGG,                        /**< media format mime type is OGG container, AUDIO, (Since 3.0) */
-        MEDIA_FORMAT_CONTAINER_AAC_ADTS,                /**< media format mime type is AAC_ADTS container, AUDIO, (Since 3.0) */
-    };
+       START_TEST;
+       media_format_h fmt_container;
+       int nRet = -1;
+
+       media_format_mimetype_e eGetMimeType;
+
+       media_format_mimetype_e eMimeType[] = {
+               /* CONTAINER VIDEO */
+               MEDIA_FORMAT_CONTAINER_MP4,                        /**< media format mime type is MP4 container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_AVI,                        /**< media format mime type is AVI container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_MPEG2TS,                    /**< media format mime type is MPEG2TS container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_MPEG2PS,                    /**< media format mime type is MPEG2PS container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_MATROSKA,                /**< media format mime type is MATROSKA container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_WEBM,                    /**< media format mime type is WEBM container, VIDEO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_3GP,                        /**< media format mime type is 3GP container, VIDEO, (Since 3.0) */
+
+               /*CONTAINER AUDIO */
+               MEDIA_FORMAT_CONTAINER_WAV,                        /**< media format mime type is WAV container, AUDIO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_OGG,                        /**< media format mime type is OGG container, AUDIO, (Since 3.0) */
+               MEDIA_FORMAT_CONTAINER_AAC_ADTS,                /**< media format mime type is AAC_ADTS container, AUDIO, (Since 3.0) */
+       };
 
-    int nEnumSize = sizeof(eMimeType) / sizeof(eMimeType[0]);
-    int nEnumCounter = 0;
-    for ( nEnumCounter=0; nEnumCounter<nEnumSize; nEnumCounter++)
-    {
-        nRet = media_format_set_container_mime(g_hfmt,eMimeType[nEnumCounter]);
-        if ( nRet != MEDIA_FORMAT_ERROR_NONE )
-        {
-            FPRINTF("[Line : %d][%s] Failed , for enum = [ %s ]\\n", __LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eMimeType[nEnumCounter]), MediaFormatGetError(nRet));
-            return 1;
-        }
-        nRet = media_format_get_container_mime(g_hfmt,&eGetMimeType);
-        if ( nRet != MEDIA_FORMAT_ERROR_NONE )
-        {
-            FPRINTF("[Line : %d][%s] Failed , for enum = [ %s ]\\n", __LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eGetMimeType), MediaFormatGetError(nRet));
-            return 1;
-        }
-        if (eMimeType[nEnumCounter] != eGetMimeType)
-        {
-            FPRINTF("Line : %d][%s] %s != %s\\n",__LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eMimeType[nEnumCounter]), MediaFormatMimeTypeGetEnum(eGetMimeType));
-            return 1;
-        }
-    }
+       int nEnumSize = sizeof(eMimeType) / sizeof(eMimeType[0]);
+       int nEnumCounter = 0;
+       for ( nEnumCounter=0; nEnumCounter<nEnumSize; nEnumCounter++)
+       {
+               nRet = media_format_set_container_mime(g_hfmt,eMimeType[nEnumCounter]);
+               if ( nRet != MEDIA_FORMAT_ERROR_NONE )
+               {
+                       FPRINTF("[Line : %d][%s] Failed , for enum = [ %s ]\\n", __LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eMimeType[nEnumCounter]), MediaFormatGetError(nRet));
+                       return 1;
+               }
+               nRet = media_format_get_container_mime(g_hfmt,&eGetMimeType);
+               if ( nRet != MEDIA_FORMAT_ERROR_NONE )
+               {
+                       FPRINTF("[Line : %d][%s] Failed , for enum = [ %s ]\\n", __LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eGetMimeType), MediaFormatGetError(nRet));
+                       return 1;
+               }
+               if (eMimeType[nEnumCounter] != eGetMimeType)
+               {
+                       FPRINTF("Line : %d][%s] %s != %s\\n",__LINE__, API_NAMESPACE, MediaFormatMimeTypeGetEnum(eMimeType[nEnumCounter]), MediaFormatMimeTypeGetEnum(eGetMimeType));
+                       return 1;
+               }
+       }
 
-    return 0;
+       return 0;
 }
 
 //& purpose: Sets text MIME type & text TYPE and Gets text track information of media format
@@ -854,8 +843,6 @@ int ITc_media_format_set_text_mime_set_text_type_get_text_info_p(void)
     media_format_text_type_e eGetTextType;
     int nRet = -1;
 
-    nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-    PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
 
     media_format_mimetype_e eSetMimeType[] = {
         /* Text */                
@@ -913,10 +900,8 @@ int ITc_media_format_set_get_audio_aac_header_type_p(void)
        START_TEST;
        
        media_format_aac_header_type_e eGetAacHdrType;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        media_format_aac_header_type_e eSetAacHdrType[] = {
                MEDIA_FORMAT_AAC_HEADER_ADTS,                                           /**< media format aac header type is ADTS header */
                MEDIA_FORMAT_AAC_HEADER_ADIF,               /**< media format aac header type is ADIF header */
@@ -967,10 +952,8 @@ int ITc_media_format_set_get_audio_aac_header_type_p(void)
        START_TEST;
        
        media_format_aac_header_type_e eGetAacHdrType;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        media_format_aac_header_type_e eSetAacHdrType[] = {
                MEDIA_FORMAT_MPEG1,                                             /**< media format aac header type is ADTS header */
                MEDIA_FORMAT_AAC_HEADER_ADIF,               /**< media format aac header type is ADIF header */
@@ -997,6 +980,79 @@ int ITc_media_format_set_get_audio_aac_header_type_p(void)
        return 0;
 }
 #endif  //TV   //End TV
+//& purpose: Checks  whether set data pointer is successfully set
+//& type: auto
+/**
+* @testcase                     ITc_media_format_set_extra_p
+* @since_tizen                  4.0
+* @author                       SRID(bipin.k)
+* @reviewer                     SRID(shobhit.v)
+* @type                         auto
+* @description                  Positive test case to set extra data pointer
+* @scenario                     Creates a media format\n
+*                               Checks  whether the extra data pointer is set properly
+* @apicovered                   media_format_set_extra
+* @passcase                     When extra data pointer is set correctly with no error returned.
+* @failcase                     When error is returned while setting extra data pointer.
+* @precondition                 Creates a media format
+* @postcondition                None
+*/
+int ITc_media_format_set_extra_p(void)
+{
+       START_TEST;
+
+       int nRet = MEDIA_FORMAT_ERROR_NONE;
+       char* extra = "extra";
+
+       nRet = media_format_set_extra(g_hfmt, (void*)extra);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_extra", MediaFormatGetError(nRet));
+
+       return 0;
+}
+
+//& purpose: Checks  whether the extra data pointer is set and get correctly
+//& type: auto
+/**
+* @testcase                     ITc_media_format_get_extra_p
+* @since_tizen                  4.0
+* @author                       SRID(bipin.k)
+* @reviewer                     SRID(shobhit.v)
+* @type                         auto
+* @description                  Positive test case to set and get extra data pointer
+* @scenario                     Creates a media format\n
+*                               Checks  whether the given media packet of extra type
+* @apicovered                   media_format_get_extra
+* @passcase                     When set and get extra data pointer has same data
+* @failcase                     When set and get data of extra data pointer is differrent
+* @precondition                 Creates a media format
+* @postcondition                None
+*/
+int ITc_media_format_get_extra_p(void)
+{
+       START_TEST;
+       int nRet = MEDIA_FORMAT_ERROR_NONE;
+       void* get_extra=NULL;
+       char* extra = "extra";
+
+       nRet = media_format_set_extra(g_hfmt, (void*)extra);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_extra", MediaFormatGetError(nRet));
+       nRet = media_format_get_extra(g_hfmt, &get_extra);
+
+       if(get_extra == NULL)
+       {
+               FPRINTF("[Line : %d][%s] media format received , get_extra =NULL:failure\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+       else
+       {
+               if (strcmp (extra, (char*)get_extra) != 0)
+               {
+                       FPRINTF("[Line : %d][%s] media format received , get_extra = %s:failure\\n", __LINE__, API_NAMESPACE,get_extra);
+                       return 1;
+               }
+       }
+       return 0;
+}
 
 /** @} */ 
 /** @} */
index 87fdaa4..fbcd274 100755 (executable)
 
 
 media_format_h g_hfmt;
-media_format_h g_Oldhfmt;
-static bool g_bMediaTools = false;
 
+static bool g_bMediaTools  = false;
+static bool g_bCallBackExt = false;  
+static bool g_bCallBackTbm = false;
+unsigned int *g_nTbmFormatArray = NULL;
+tbm_surface_h g_hSurface;
 static int FinalizeCallbackExtMem(media_packet_h packet, int err, void * userdata)
 {
        unsigned char *data = (unsigned char *)userdata;
        g_free(data);
+       g_bCallBackExt =  true;
        return MEDIA_PACKET_FINALIZE;
 }
 
+
 static int FinalizeCallback(media_packet_h packet, int err, void * userdata)
 {
        return MEDIA_PACKET_FINALIZE;
 }
 
+static int FinalizeCallbackTbmSurface(media_packet_h packet, int err, void * userdata)
+{
+       g_bCallBackTbm =true;
+       g_free(g_nTbmFormatArray);
+       return MEDIA_PACKET_FINALIZE;
+}
+
 void ITs_media_tools_startup(void)
 {
        struct stat stBuff;
@@ -48,8 +60,7 @@ void ITs_media_tools_startup(void)
        FPRINTF("[Line : %d][%s] TEST SUIT start-up: ITs_Media_Tool_p\\n", __LINE__, API_NAMESPACE);
 #endif
 
-       int nRet = media_format_create(&g_Oldhfmt);
-       nRet = media_format_ref(g_Oldhfmt);
+       int nRet = media_format_create(&g_hfmt);
        if ( nRet == MEDIA_FORMAT_ERROR_NONE )
        {
                g_bMediaTools = true;
@@ -96,14 +107,12 @@ int ITc_media_packet_create_p(void)
        START_TEST;
 
        media_packet_h hPacket;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_format_make_writable", MediaPacketGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
-       nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);   
+       nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
        nRet = media_packet_destroy(hPacket);
@@ -135,13 +144,11 @@ int ITc_media_packet_copy_p(void)
 
        media_packet_h hPacket;
        media_packet_h hPacketCopy;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
@@ -176,10 +183,8 @@ int ITc_media_packet_alloc_p(void)
        START_TEST;
 
        media_packet_h hPacket;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -214,13 +219,11 @@ int ITc_media_packet_alloc_p(void)
 */
 int ITc_media_packet_create_alloc_p(void)
 {
-       START_TEST;     
+       START_TEST;
 
        media_packet_h hPacket;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -256,17 +259,15 @@ int ITc_media_packet_get_buffer_data_ptr_p(void)
 
        media_packet_h hPacket;
        void* pData;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet =-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
-       nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
+
+       nRet = media_packet_create_alloc(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
-       nRet = media_packet_get_buffer_data_ptr(hPacket, &pData);       
+       nRet = media_packet_get_buffer_data_ptr(hPacket, &pData);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_buffer_data_ptr", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
 
        nRet = media_packet_destroy(hPacket);
@@ -298,26 +299,27 @@ int ITc_media_packet_is_video_p(void)
 
        media_packet_h hPacket;
        bool bIsVideo = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
+       int nRet =-1;
+
+       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_NV12);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
        nRet = media_packet_is_video(hPacket, &bIsVideo);
-       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_video", MediaPacketGetError(nRet), media_packet_destroy(hPacket));         
-       if ( bIsVideo == true )
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_video", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
+       if ( bIsVideo == false )
        {
-               FPRINTF("[Line : %d][%s] given media packet is for video\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] given media packet is not of  video\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
-
+       FPRINTF("[Line : %d][%s] given media packet is of  video\\n", __LINE__, API_NAMESPACE);
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -344,17 +346,15 @@ int ITc_media_packet_is_audio_p(void)
 
        media_packet_h hPacket;
        bool bIsAudio = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create",  MediaPacketGetError(nRet));
 
-       nRet = media_packet_is_audio(hPacket, &bIsAudio);               
+       nRet = media_packet_is_audio(hPacket, &bIsAudio);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_audio", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
        if ( bIsAudio == true )
        {
@@ -363,7 +363,7 @@ int ITc_media_packet_is_audio_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -390,17 +390,15 @@ int ITc_media_packet_is_codec_config_p(void)
 
        media_packet_h hPacket;
        bool  bIsCodecConfig = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
-       nRet = media_packet_is_codec_config(hPacket, &bIsCodecConfig);          
+       nRet = media_packet_is_codec_config(hPacket, &bIsCodecConfig);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_codec_config", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
        if ( bIsCodecConfig == true )
        {
@@ -409,7 +407,7 @@ int ITc_media_packet_is_codec_config_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -436,26 +434,27 @@ int ITc_media_packet_is_encoded_p(void)
 
        media_packet_h hPacket;
        bool  bIsEncoded = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
-       nRet = media_packet_is_encoded(hPacket, &bIsEncoded);   
+       nRet = media_packet_is_encoded(hPacket, &bIsEncoded);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_encoded", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
-       if ( bIsEncoded == true )
+       if ( bIsEncoded == false )
        {
-               FPRINTF("[Line : %d][%s] given media packet is encoded type\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] given media packet is not encoded type\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
-
+       FPRINTF("[Line : %d][%s] given media packet is  encoded type\\n", __LINE__, API_NAMESPACE);
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -482,26 +481,30 @@ int ITc_media_packet_is_end_of_stream_p(void)
 
        media_packet_h hPacket;
        bool  bIsEos = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
-       nRet = media_packet_is_end_of_stream(hPacket, &bIsEos); 
+       nRet = media_packet_set_flags(hPacket, MEDIA_PACKET_END_OF_STREAM);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_set_flags", MediaPacketGetError(nRet));
+
+       nRet = media_packet_is_end_of_stream(hPacket, &bIsEos);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_end_of_stream", MediaPacketGetError(nRet), media_packet_destroy(hPacket)); 
-       if ( bIsEos == true )
+       if ( bIsEos == false )
        {
-               FPRINTF("[Line : %d][%s] given media packet is eos\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] given media packet is not  eos\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
-
+       FPRINTF("[Line : %d][%s] given media packet is  eos\\n", __LINE__, API_NAMESPACE);
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -528,26 +531,27 @@ int ITc_media_packet_is_raw_p(void)
 
        media_packet_h hPacket;
        bool  bIsRaw = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
+       int nRet = -1;
+
+       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_I420);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
-       nRet = media_packet_is_raw(hPacket, &bIsRaw);   
+       nRet = media_packet_is_raw(hPacket, &bIsRaw);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_raw", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
-       if ( bIsRaw == true )
+       if ( bIsRaw == false )
        {       
-               FPRINTF("[Line : %d][%s] given media packet is raw type\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] given media packet is not raw type\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
-
+       FPRINTF("[Line : %d][%s] given media packet is  raw type\\n", __LINE__, API_NAMESPACE);
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -574,26 +578,30 @@ int ITc_media_packet_is_sync_frame_p(void)
 
        media_packet_h hPacket;
        bool  bIsSync = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
+       nRet = media_packet_set_flags(hPacket,MEDIA_PACKET_SYNC_FRAME);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_set_flags", MediaPacketGetError(nRet));
+
        nRet = media_packet_is_sync_frame(hPacket, &bIsSync);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_sync_frame", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
-       if ( bIsSync == true )
+       if ( bIsSync == false )
        {
-               FPRINTF("[Line : %d][%s] given media packet is sync frame\\n", __LINE__, API_NAMESPACE);
+               FPRINTF("[Line : %d][%s] given media packet is not sync frame\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
-
+       FPRINTF("[Line : %d][%s] given media packet is sync frame\\n", __LINE__, API_NAMESPACE);
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -621,25 +629,25 @@ int ITc_media_packet_set_get_format_p(void)
 
        media_packet_h hPacket;
        media_format_h hfmt;
-       media_format_h g_hfmt2;
+       media_format_h hfmt2;
+       int nRet=-1;
 
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
-       /* Create another type media format to set on packet*/
-       nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt2);
+
+       nRet = media_format_ref(g_hfmt);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_ref", MediaFormatGetError(nRet));
+
+       nRet = media_format_make_writable(g_hfmt, &hfmt2);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
        
-       nRet = media_format_set_audio_mime(g_hfmt2, MEDIA_FORMAT_AAC_HE);
+       nRet = media_format_set_audio_mime(hfmt2, MEDIA_FORMAT_AAC_HE);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
        
-       nRet = media_packet_set_format(hPacket, g_hfmt2);
+       nRet = media_packet_set_format(hPacket, hfmt2);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_set_format", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
 
        nRet = media_packet_get_format(hPacket, &hfmt); 
@@ -648,6 +656,8 @@ int ITc_media_packet_set_get_format_p(void)
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
 
+       nRet = media_format_unref(hfmt2);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_unref", MediaFormatGetError(nRet));
        return 0;
 }
 
@@ -676,10 +686,8 @@ int ITc_media_packet_set_get_pts_p(void)
        media_packet_h hPacket;
        uint64_t nPts = 1234567;
        uint64_t nGetPts = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet=-1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -700,7 +708,7 @@ int ITc_media_packet_set_get_pts_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -729,13 +737,11 @@ int ITc_media_packet_set_get_dts_p(void)
        media_packet_h hPacket;
        uint64_t nDts = 7654321;
        uint64_t nGetDts = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
@@ -782,10 +788,8 @@ int ITc_media_packet_set_get_duration_p(void)
        media_packet_h hPacket;
        uint64_t nDuration = 5000000;
        uint64_t nGetDuration = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -835,10 +839,8 @@ int ITc_media_packet_set_get_buffer_size_p(void)
        media_packet_h hPacket;
        uint64_t nBuff = 1024;
        uint64_t nGetBuff = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -859,7 +861,7 @@ int ITc_media_packet_set_get_buffer_size_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -888,10 +890,8 @@ int ITc_media_packet_set_get_extra_p(void)
        media_packet_h hPacket;
        char* pExtra = "extra";
        void *pGetExtra = NULL;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -912,7 +912,7 @@ int ITc_media_packet_set_get_extra_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -939,10 +939,8 @@ int ITc_media_packet_set_unset_flags_p(void)
        START_TEST;
 
        media_packet_h hPacket;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
        
@@ -962,7 +960,7 @@ int ITc_media_packet_set_unset_flags_p(void)
        {
                char *szEnumVal = NULL;
 
-               nRet = media_packet_set_flags(hPacket, eMediaBufferFlags[nEnumCounter]);        
+               nRet = media_packet_set_flags(hPacket, eMediaBufferFlags[nEnumCounter]);
                PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_set_flags", MediaPacketGetError(nRet),media_packet_destroy(hPacket));
 
                switch ( eMediaBufferFlags[nEnumCounter] )
@@ -1000,7 +998,7 @@ int ITc_media_packet_set_unset_flags_p(void)
                else
                {
                        FPRINTF("[Line : %d][%s] pass for enum = [ %s ]\\n", __LINE__, API_NAMESPACE,  szEnumVal);
-               }               
+               }
        }
 
        nRet = media_packet_destroy(hPacket);
@@ -1032,9 +1030,7 @@ int ITc_media_packet_set_get_flags_p(void)
        START_TEST;
 
        media_packet_h hPacket;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet = -1;
 
        nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
@@ -1115,14 +1111,24 @@ int ITc_media_packet_get_tbm_surface_p(void)
 
        media_packet_h hPacket;
        tbm_surface_h hSurface;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
-       nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
+       int nRet=-1;
+
+       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_I420);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
+
+       nRet = media_format_set_video_width(g_hfmt, 128);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet)); 
+
+       nRet = media_format_set_video_height(g_hfmt, 128);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
+
+       nRet = media_format_set_video_avg_bps(g_hfmt, 10000000);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
+
+       nRet = media_format_set_video_max_bps(g_hfmt, 15000000);
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
+
+       nRet = media_packet_create_alloc(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
        nRet = media_packet_get_tbm_surface(hPacket, &hSurface);
@@ -1130,7 +1136,7 @@ int ITc_media_packet_get_tbm_surface_p(void)
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
@@ -1157,13 +1163,11 @@ int ITc_media_packet_create_from_tbm_surface_p(void)
        START_TEST;
        
        unsigned int *nTbmFormatArray = NULL;
-       unsigned int g_nTotalFormatCount = 0;   
+       unsigned int g_nTotalFormatCount = 0;
        media_packet_h hPacketTbm;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
+       int nRet = -1;
+
+       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_VIDEO);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
        
        nRet = media_format_set_video_width(g_hfmt, 640);
@@ -1174,8 +1178,8 @@ int ITc_media_packet_create_from_tbm_surface_p(void)
        
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_video_max_bps(g_hfmt, 15000);   
+
+       nRet = media_format_set_video_max_bps(g_hfmt, 15000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
        
        tbm_surface_query_formats(&nTbmFormatArray, &g_nTotalFormatCount);
@@ -1185,6 +1189,12 @@ int ITc_media_packet_create_from_tbm_surface_p(void)
        nRet = media_packet_create_from_tbm_surface(g_hfmt, hSurface, FinalizeCallback, NULL, &hPacketTbm);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet));
 
+       nRet = media_packet_destroy(hPacketTbm);
+        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
+
+       nRet = tbm_surface_destroy(hSurface);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "tbm_surface_destroy", MediaPacketGetError(nRet));
+
        return 0;
 }
 
@@ -1211,26 +1221,34 @@ int ITc_media_packet_has_tbm_surface_buffer_p(void)
 
        media_packet_h hPacket;
        bool  bHasTbmSurface = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_audio_mime(g_hfmt, MEDIA_FORMAT_MP3);
+       int nRet = -1;
+
+       nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_NV12);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_audio_mime", MediaFormatGetError(nRet));
-       
-       nRet = media_packet_create(g_hfmt, FinalizeCallback, NULL, &hPacket);
+       nRet = media_format_set_video_width(g_hfmt, 640);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+
+       nRet = media_format_set_video_height(g_hfmt, 480);
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       nRet = media_packet_create_alloc(g_hfmt, FinalizeCallback, NULL, &hPacket);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
 
        nRet = media_packet_has_tbm_surface_buffer(hPacket, &bHasTbmSurface);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_has_tbm_surface_buffer", MediaPacketGetError(nRet),media_packet_destroy(hPacket));
        if ( bHasTbmSurface == true )
        {
-               FPRINTF("[Line : %d][%s] allocated buffer is tbm surface\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               FPRINTF("[Line : %d][%s] allocated buffer is tbm surface \\n", __LINE__, API_NAMESPACE);
+               return 0;
+       } 
+       else
+       {
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
+               return 1;
        }
 
-       nRet = media_packet_destroy(hPacket);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
        return 0;
 }
 
@@ -1256,33 +1274,37 @@ int ITc_media_packet_create_from_external_memory_p(void)
        media_packet_h packet;
        unsigned char *data = NULL;
        uint64_t size = 640*480*3/2;
-
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet = -1;
+       g_bCallBackExt = false;
 
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_H264_HP);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
 
        nRet = media_format_set_video_width(g_hfmt, 640);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet));
 
        nRet = media_format_set_video_height(g_hfmt, 480);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
 
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000000);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
 
        nRet = media_format_set_video_max_bps(g_hfmt, 15000000);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet),media_format_unref(g_hfmt));
+       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
 
        data = g_malloc(size);
+
        nRet = media_packet_create_from_external_memory (g_hfmt, data, size, FinalizeCallbackExtMem, data, &packet);
-       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_create_from_external_memory", MediaFormatGetError(nRet),media_format_unref(g_hfmt);g_free(data));
+       PRINT_RESULT_CLEANUP(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_create_from_external_memory", MediaFormatGetError(nRet),g_free(data));
 
        nRet =  media_packet_destroy(packet);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet),g_free(data));
-       
-       g_free(data);
+
+       if(g_bCallBackExt == false)
+       {
+               g_free(data);
+               return 1;
+       }
 
        return 0;
 }
@@ -1309,51 +1331,50 @@ int ITc_media_packet_get_number_of_video_planes_p(void)
 
        media_packet_h hPacketTbm;
        unsigned int *nTbmFormatArray = NULL;
-       unsigned int g_nTotalFormatCount = 0;   
+       unsigned int g_nTotalFormatCount = 0;
        int nNum = -1;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet = -1;
+
        CHECK_HANDLE(g_hfmt, "media_format_make_writable");
-       
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_width(g_hfmt, 640);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_height(g_hfmt, 480);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_max_bps(g_hfmt, 15000);   
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
-       
+
        tbm_surface_query_formats(&nTbmFormatArray, &g_nTotalFormatCount);
        tbm_surface_h hSurface = tbm_surface_create(128,128, nTbmFormatArray[0]);
        FREE_MEMORY(nTbmFormatArray);
 
        nRet = media_packet_create_from_tbm_surface(g_hfmt, hSurface, FinalizeCallback, NULL, &hPacketTbm);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet));
-       
-    nRet = media_packet_get_number_of_video_planes(hPacketTbm, &nNum);
+
+       nRet = media_packet_get_number_of_video_planes(hPacketTbm, &nNum);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_number_of_video_planes", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm));
-                       
-       if (nNum < 0)
+
+       if (nNum < 0)
        {
                FPRINTF("[Line : %d][%s] media_packet_get_number_of_video_planes is failed since no of planes returned is not correct \\n", __LINE__, API_NAMESPACE);
                
                nRet =  media_packet_destroy(hPacketTbm);
                PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
-       
+
                return 1;
        }
 
        nRet =  media_packet_destroy(hPacketTbm);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet)); 
-       
+
        return 0;
 }
 
@@ -1375,56 +1396,67 @@ int ITc_media_packet_get_number_of_video_planes_p(void)
 */
 int ITc_media_packet_get_video_stride_width_p(void)
 {
-       START_TEST;     
+       START_TEST;
 
        media_packet_h hPacketTbm;
-       unsigned int *nTbmFormatArray = NULL;
-       unsigned int g_nTotalFormatCount = 0;   
+       unsigned int nTotalFormatCount = 0;
        int nStrideWidth = -1;
        int nPlaneIndex = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
+       int nRet = -1;
+       g_bCallBackTbm =false;
+
        CHECK_HANDLE(g_hfmt, "media_format_make_writable");
        
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_width(g_hfmt, 640);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_height(g_hfmt, 480);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
        
-       nRet = media_format_set_video_max_bps(g_hfmt, 15000);   
+       nRet = media_format_set_video_max_bps(g_hfmt, 15000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
-       
-       tbm_surface_query_formats(&nTbmFormatArray, &g_nTotalFormatCount);
-       tbm_surface_h hSurface = tbm_surface_create(128,128, nTbmFormatArray[0]);
-       FREE_MEMORY(nTbmFormatArray);
 
-       nRet = media_packet_create_from_tbm_surface(g_hfmt, hSurface, FinalizeCallback, NULL, &hPacketTbm);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet));
-       
-    nRet = media_packet_get_video_stride_width(hPacketTbm, nPlaneIndex, &nStrideWidth);
-       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_video_stride_width", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm));
-                       
-       if (nStrideWidth < 0)
+       tbm_surface_query_formats(&g_nTbmFormatArray, &nTotalFormatCount);
+       g_hSurface = tbm_surface_create(128,128, g_nTbmFormatArray[0]);
+
+       nRet = media_packet_create_from_tbm_surface(g_hfmt, g_hSurface, FinalizeCallbackTbmSurface, NULL, &hPacketTbm);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet),tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
+       nRet = media_packet_get_video_stride_width(hPacketTbm, nPlaneIndex, &nStrideWidth);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_video_stride_width", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm);tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
+       if (nStrideWidth < 0)
        {
                FPRINTF("[Line : %d][%s] media_packet_get_video_stride_width is failed since returned width is not correct \\n", __LINE__, API_NAMESPACE);
                
                nRet =  media_packet_destroy(hPacketTbm);
-               PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
-       
+               PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet),media_packet_destroy(hPacketTbm);tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+               tbm_surface_destroy (g_hSurface);
+               g_free(g_nTbmFormatArray);
                return 1;
        }
-                       
-   nRet =  media_packet_destroy(hPacketTbm);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
-       
+       nRet =  media_packet_destroy(hPacketTbm);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet),tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
+       if(g_bCallBackTbm == false)
+       {
+               nRet = tbm_surface_destroy (g_hSurface);
+               PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "tbm_surface_destroy", MediaPacketGetError(nRet),g_free(g_nTbmFormatArray));
+               g_free(g_nTbmFormatArray);
+               return 1;
+       }
+
+       nRet = tbm_surface_destroy (g_hSurface);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "tbm_surface_destroy", MediaPacketGetError(nRet));
+
+       g_bCallBackTbm =false;
+
        return 0;
 }
 
@@ -1449,53 +1481,62 @@ int ITc_media_packet_get_video_stride_height_p(void)
        START_TEST;     
 
        media_packet_h hPacketTbm;
-       unsigned int *nTbmFormatArray = NULL;
-       unsigned int g_nTotalFormatCount = 0;   
+       unsigned int nTotalFormatCount = 0;
        int nStrideHeight = -1;
        int nPlaneIndex = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       CHECK_HANDLE(g_hfmt, "media_format_make_writable");
-       
+       int nRet = -1;
+       g_bCallBackTbm=false;
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
        
        nRet = media_format_set_video_width(g_hfmt, 640);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_width", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_height(g_hfmt, 480);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_height", MediaFormatGetError(nRet));
-       
+
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
-       
-       nRet = media_format_set_video_max_bps(g_hfmt, 15000);   
+
+       nRet = media_format_set_video_max_bps(g_hfmt, 15000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
-       
-       tbm_surface_query_formats(&nTbmFormatArray, &g_nTotalFormatCount);
-       tbm_surface_h hSurface = tbm_surface_create(128,128, nTbmFormatArray[0]);
-       FREE_MEMORY(nTbmFormatArray);
 
-       nRet = media_packet_create_from_tbm_surface(g_hfmt, hSurface, FinalizeCallback, NULL, &hPacketTbm);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet));
-       
-    nRet = media_packet_get_video_stride_height(hPacketTbm, nPlaneIndex, &nStrideHeight);
-       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_video_stride_height", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm));
-       
+       tbm_surface_query_formats(&g_nTbmFormatArray, &nTotalFormatCount);
+       g_hSurface = tbm_surface_create(128,128, g_nTbmFormatArray[0]);
+
+       nRet = media_packet_create_from_tbm_surface(g_hfmt, g_hSurface, FinalizeCallbackTbmSurface, NULL, &hPacketTbm);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet),tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
+       nRet = media_packet_get_video_stride_height(hPacketTbm, nPlaneIndex, &nStrideHeight);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_video_stride_height", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm);tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
        if (nStrideHeight < 0)
        {
                FPRINTF("[Line : %d][%s] media_packet_get_video_stride_height is failed since returned height is not correct \\n", __LINE__, API_NAMESPACE);
-               
+
                nRet =  media_packet_destroy(hPacketTbm);
-               PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
-       
+               PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet),tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+               tbm_surface_destroy (g_hSurface);
+               g_free(g_nTbmFormatArray);
                return 1;
        }
-                       
-    nRet =  media_packet_destroy(hPacketTbm);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
-       
+       nRet =  media_packet_destroy(hPacketTbm);
+       PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet),tbm_surface_destroy (g_hSurface);g_free(g_nTbmFormatArray));
+
+       if(g_bCallBackTbm == false)
+       {
+               nRet = tbm_surface_destroy (g_hSurface);
+               PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "tbm_surface_destroy", MediaPacketGetError(nRet),g_free(g_nTbmFormatArray));
+               g_free(g_nTbmFormatArray);
+               return 1;
+       }
+
+       nRet = tbm_surface_destroy (g_hSurface);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "tbm_surface_destroy", MediaPacketGetError(nRet));
+
+       g_bCallBackTbm = false;
+
        return 0;
 }
 
@@ -1521,14 +1562,11 @@ int ITc_media_packet_get_video_plane_data_ptr_p(void)
 
        media_packet_h hPacketTbm;
        unsigned int *nTbmFormatArray = NULL;
-       unsigned int g_nTotalFormatCount = 0;   
+       unsigned int g_nTotalFormatCount = 0;
        void *pPlanedata = NULL;
        int nPlaneIndex = 0;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       CHECK_HANDLE(g_hfmt, "media_format_make_writable");
-       
+       int nRet = -1;
+
        nRet = media_format_set_video_mime(g_hfmt, MEDIA_FORMAT_MPEG1);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_mime", MediaFormatGetError(nRet));
        
@@ -1541,7 +1579,7 @@ int ITc_media_packet_get_video_plane_data_ptr_p(void)
        nRet = media_format_set_video_avg_bps(g_hfmt, 10000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_avg_bps", MediaFormatGetError(nRet));
        
-       nRet = media_format_set_video_max_bps(g_hfmt, 15000);   
+       nRet = media_format_set_video_max_bps(g_hfmt, 15000);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_video_max_bps", MediaFormatGetError(nRet));
        
        tbm_surface_query_formats(&nTbmFormatArray, &g_nTotalFormatCount);
@@ -1551,7 +1589,7 @@ int ITc_media_packet_get_video_plane_data_ptr_p(void)
        nRet = media_packet_create_from_tbm_surface(g_hfmt, hSurface, FinalizeCallback, NULL, &hPacketTbm);
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create_from_tbm_surface", MediaPacketGetError(nRet));
        
-    nRet = media_packet_get_video_plane_data_ptr(hPacketTbm, nPlaneIndex, &pPlanedata);
+        nRet = media_packet_get_video_plane_data_ptr(hPacketTbm, nPlaneIndex, &pPlanedata);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_get_video_plane_data_ptr", MediaPacketGetError(nRet), media_packet_destroy(hPacketTbm));
        
        if ( pPlanedata == NULL )
@@ -1563,11 +1601,10 @@ int ITc_media_packet_get_video_plane_data_ptr_p(void)
        
                return 1;
        }
-                       
-       
-    nRet =  media_packet_destroy(hPacketTbm);
-       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet)); 
-       
+
+       nRet =  media_packet_destroy(hPacketTbm);
+       PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_destroy", MediaPacketGetError(nRet));
+
        return 0;
 }
 
@@ -1594,10 +1631,8 @@ int ITc_media_packet_is_text_p(void)
 
        media_packet_h hPacket;
        bool  bIsText = false;
-       
-       int nRet = media_format_make_writable(g_Oldhfmt, &g_hfmt);
-       PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_make_writable", MediaFormatGetError(nRet));
-       
+       int nRet = -1;
+
        nRet = media_format_set_text_mime(g_hfmt, MEDIA_FORMAT_TEXT_MP4);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_format_set_text_mime", MediaFormatGetError(nRet));
        
@@ -1605,7 +1640,7 @@ int ITc_media_packet_is_text_p(void)
        PRINT_RESULT(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_create", MediaPacketGetError(nRet));
        CHECK_HANDLE(hPacket,"media_packet_create");
 
-       nRet = media_packet_is_text(hPacket, &bIsText); 
+       nRet = media_packet_is_text(hPacket, &bIsText);
        PRINT_RESULT_CLEANUP(MEDIA_PACKET_ERROR_NONE, nRet, "media_packet_is_text", MediaPacketGetError(nRet), media_packet_destroy(hPacket));
        if ( bIsText == true )
        {
@@ -1614,12 +1649,14 @@ int ITc_media_packet_is_text_p(void)
        else
        {
                FPRINTF("[Line : %d][%s] given media packet is not text type\\n", __LINE__, API_NAMESPACE);
+               nRet = media_packet_destroy(hPacket);
+               PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
                return 1;
        }
 
        nRet = media_packet_destroy(hPacket);
        PRINT_RESULT(MEDIA_FORMAT_ERROR_NONE, nRet, "media_packet_destroy", MediaFormatGetError(nRet));
-       
+
        return 0;
 }
 
index f7a1b91..6bf4002 100755 (executable)
@@ -82,6 +82,9 @@ extern int ITc_media_format_set_get_video_frame_rate_p(void);
 extern int ITc_media_format_set_get_container_mime_p(void);
 extern int ITc_media_format_set_text_mime_set_text_type_get_text_info_p(void);
 extern int ITc_media_format_set_get_audio_aac_header_type_p(void);
+extern int ITc_media_format_set_extra_p(void);
+extern int ITc_media_format_get_extra_p(void);
+
 
 testcase tc_array[] = {
        {"ITc_media_packet_pool_create_destroy_p",ITc_media_packet_pool_create_destroy_p,ITs_media_pool_startup,ITs_media_pool_cleanup},
@@ -140,6 +143,8 @@ testcase tc_array[] = {
        {"ITc_media_format_set_get_container_mime_p",ITc_media_format_set_get_container_mime_p,ITs_media_format_startup,ITs_media_format_cleanup},
        {"ITc_media_format_set_text_mime_set_text_type_get_text_info_p",ITc_media_format_set_text_mime_set_text_type_get_text_info_p,ITs_media_format_startup,ITs_media_format_cleanup},
        {"ITc_media_format_set_get_audio_aac_header_type_p",ITc_media_format_set_get_audio_aac_header_type_p,ITs_media_format_startup,ITs_media_format_cleanup},
+       {"ITc_media_format_set_extra_p",ITc_media_format_set_extra_p,ITs_media_format_startup,ITs_media_format_cleanup}, 
+       {"ITc_media_format_get_extra_p",ITc_media_format_get_extra_p,ITs_media_format_startup,ITs_media_format_cleanup}, 
        {NULL, NULL}
 };
 
index f7a1b91..76116b5 100755 (executable)
@@ -82,6 +82,10 @@ extern int ITc_media_format_set_get_video_frame_rate_p(void);
 extern int ITc_media_format_set_get_container_mime_p(void);
 extern int ITc_media_format_set_text_mime_set_text_type_get_text_info_p(void);
 extern int ITc_media_format_set_get_audio_aac_header_type_p(void);
+extern int ITc_media_format_set_extra_p(void);
+extern int ITc_media_format_get_extra_p(void);
+
+
 
 testcase tc_array[] = {
        {"ITc_media_packet_pool_create_destroy_p",ITc_media_packet_pool_create_destroy_p,ITs_media_pool_startup,ITs_media_pool_cleanup},
@@ -140,6 +144,8 @@ testcase tc_array[] = {
        {"ITc_media_format_set_get_container_mime_p",ITc_media_format_set_get_container_mime_p,ITs_media_format_startup,ITs_media_format_cleanup},
        {"ITc_media_format_set_text_mime_set_text_type_get_text_info_p",ITc_media_format_set_text_mime_set_text_type_get_text_info_p,ITs_media_format_startup,ITs_media_format_cleanup},
        {"ITc_media_format_set_get_audio_aac_header_type_p",ITc_media_format_set_get_audio_aac_header_type_p,ITs_media_format_startup,ITs_media_format_cleanup},
+       {"ITc_media_format_set_extra_p",ITc_media_format_set_extra_p,ITs_media_format_startup,ITs_media_format_cleanup},
+       {"ITc_media_format_get_extra_p",ITc_media_format_get_extra_p,ITs_media_format_startup,ITs_media_format_cleanup},
        {NULL, NULL}
 };