[UTC][mediaeditor][ACR-1693] Add new API set for media editing framework 55/273855/13
authorHaesu Gwon <haesu.gwon@samsung.com>
Thu, 14 Apr 2022 12:09:36 +0000 (21:09 +0900)
committerHaesu Gwon <haesu.gwon@samsung.com>
Fri, 29 Apr 2022 08:10:52 +0000 (17:10 +0900)
Change-Id: I915e8eac3df4c2b806104cae75885f9292e22773

25 files changed:
packaging/TCT.spec
packaging/utc/core-mediaeditor-tests.spec [new file with mode: 0644]
packaging/utc/core-mediaeditor-tests.xml [new file with mode: 0644]
src/CMakeLists.txt
src/utc/mediaeditor/CMakeLists.txt [new file with mode: 0644]
src/utc/mediaeditor/public.list [new file with mode: 0644]
src/utc/mediaeditor/res/mobile/audio.mp3 [new file with mode: 0644]
src/utc/mediaeditor/res/mobile/project_load.xges [new file with mode: 0644]
src/utc/mediaeditor/res/mobile/video.mp4 [new file with mode: 0644]
src/utc/mediaeditor/res/tizeniot/audio.mp3 [new file with mode: 0644]
src/utc/mediaeditor/res/tizeniot/project_load.xges [new file with mode: 0644]
src/utc/mediaeditor/res/tizeniot/video.mp4 [new file with mode: 0644]
src/utc/mediaeditor/res/tv/audio.mp3 [new file with mode: 0644]
src/utc/mediaeditor/res/tv/project_load.xges [new file with mode: 0644]
src/utc/mediaeditor/res/tv/video.mp4 [new file with mode: 0644]
src/utc/mediaeditor/res/wearable/audio.mp3 [new file with mode: 0644]
src/utc/mediaeditor/res/wearable/project_load.xges [new file with mode: 0644]
src/utc/mediaeditor/res/wearable/video.mp4 [new file with mode: 0644]
src/utc/mediaeditor/tct-mediaeditor-core.c [new file with mode: 0644]
src/utc/mediaeditor/tct-mediaeditor-core_mobile.h [new file with mode: 0644]
src/utc/mediaeditor/tct-mediaeditor-core_tizeniot.h [new file with mode: 0644]
src/utc/mediaeditor/tct-mediaeditor-core_tv.h [new file with mode: 0644]
src/utc/mediaeditor/tct-mediaeditor-core_wearable.h [new file with mode: 0644]
src/utc/mediaeditor/utc-mediaeditor-callback.c [new file with mode: 0644]
src/utc/mediaeditor/utc-mediaeditor.c [new file with mode: 0644]

index bd5900af5a9d0f8243cfb54af603318f194a1182..7fcda88562e24264e20b0a5d8d7e85ecc97edfdb 100755 (executable)
@@ -138,6 +138,7 @@ BuildRequires:      pkgconfig(capi-system-battery-monitor)
 BuildRequires:  pkgconfig(capi-ui-sticker-consumer)
 BuildRequires:  pkgconfig(capi-ui-sticker-provider)
 BuildRequires:  pkgconfig(capi-media-webrtc)
+BuildRequires:  pkgconfig(capi-media-editor)
 Requires(post):  /sbin/ldconfig
 Requires(postun):  /sbin/ldconfig
 
@@ -1034,6 +1035,13 @@ Group:      Development/Tools
 %description -n core-webrtc-tests
 Native API Unit TC for webrtc
 
+%package -n core-mediaeditor-tests
+Summary:    Native API Unit TC for mediaeditor
+Group:      Development/Tools
+
+%description -n core-mediaeditor-tests
+Native API Unit TC for mediaeditor
+
 %package -n native-audio-io-ctc
 Summary:    Native API Compatibility TC for audio-io
 
@@ -2823,6 +2831,11 @@ pkgcmd -un org.tizen.testapp &
 /opt/share/packages/core-webrtc-tests.xml
 /opt/usr/share/license/core-webrtc-tests
 
+%files -n core-mediaeditor-tests
+/opt/usr/apps/core-mediaeditor-tests/*
+/opt/share/packages/core-mediaeditor-tests.xml
+/opt/usr/share/license/core-mediaeditor-tests
+
 # End Adding for UTC******************************************************************************************************************************
 
 %files -n native-audio-io-ctc
diff --git a/packaging/utc/core-mediaeditor-tests.spec b/packaging/utc/core-mediaeditor-tests.spec
new file mode 100644 (file)
index 0000000..1d0d948
--- /dev/null
@@ -0,0 +1,75 @@
+%define MODULE_NAME mediaeditor
+%define MODULE_LIBNAME capi-media-editor
+Name:       core-%{MODULE_NAME}-tests
+Summary:    Core API unit TC (%{name})
+Version:    0.1
+Release:    0
+Group:      Development/Tools
+License:    Apache License, Version 2.0
+Source0:    %{name}-%{version}.tar.gz
+BuildRequires: pkgconfig(%{MODULE_LIBNAME})
+BuildRequires: cmake
+BuildRequires: pkgconfig(capi-appfw-application)
+BuildRequires: pkgconfig(capi-system-info)
+BuildRequires: pkgconfig(dlog)
+BuildRequires: pkgconfig(elementary)
+
+%description
+Core API unit TC (%{name})
+
+%prep
+%setup -q
+
+%build
+
+%define PREFIX "%{_libdir}/%{name}"
+
+export LDFLAGS+="-Wl,--rpath=%{PREFIX} -Wl,--as-needed"
+
+%if %{?ASAN_BUILD:1}0
+       %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="true" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+%else
+       %if %{?DEVICE_BUILD_TYPE_MOBILE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="mobile" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_WEARABLE:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="wearable" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TV:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tv" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+       %if %{?DEVICE_BUILD_TYPE_TIZENIOT:1}0
+       cmake . -DMODULE="%{MODULE_NAME}" -DBUILDTCTYPE="utc" -DDEVICE_BUILD_TYPE="tizeniot" -DASANBUILD="false" -DCMAKE_INSTALL_PREFIX=%{_prefix}
+       %endif
+%endif
+
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{name}
+mkdir -p %{buildroot}/usr/share/packages/
+cp packaging/utc/%{name}.xml %{buildroot}/usr/share/packages/
+%post
+
+%postun
+
+
+%files
+/usr/apps/%{name}/*
+/usr/share/packages/%{name}.xml
+/usr/share/license/%{name}
+
diff --git a/packaging/utc/core-mediaeditor-tests.xml b/packaging/utc/core-mediaeditor-tests.xml
new file mode 100644 (file)
index 0000000..b8ebab6
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" package="core-mediaeditor-tests" version="0.1.0" api-version="6.0">
+  <label>CoreMediaeditorTest</label>
+  <author email="test@tizen.org" href="www.tizen.org">test</author>
+  <description>Core API test Application</description>
+  <ui-application appid="core.mediaeditor-tests" exec="/usr/apps/core-mediaeditor-tests/bin/tct-mediaeditor-core" nodisplay="false" multiple="false" type="capp" taskmanage="true">
+    <background-category value="background-network"/>
+    <background-category value="iot-communication"/>
+    <background-category value="media"/>
+  </ui-application>
+  <privileges>
+    <privilege>http://tizen.org/privilege/externalstorage</privilege>
+    <privilege>http://tizen.org/privilege/mediastorage</privilege>
+  </privileges>
+</manifest>
index 86aba9e326f07d68343446dd67b4a13dd01dae5e..e44a1fffbf3c0d79f606ccfa9325f5484ed196fd 100755 (executable)
@@ -197,6 +197,8 @@ ELSE( DEFINED MODULE )
        ADD_SUBDIRECTORY(utc/capi-ui-sticker)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/webrtc")
        ADD_SUBDIRECTORY(utc/webrtc)
+       MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/utc/mediaeditor")
+       ADD_SUBDIRECTORY(utc/mediaeditor)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/itc/accounts-svc")
        ADD_SUBDIRECTORY(itc/accounts-svc)
        MESSAGE(STATUS "Building: ${CMAKE_CURRENT_SOURCE_DIR}/itc/appcore-agent")
diff --git a/src/utc/mediaeditor/CMakeLists.txt b/src/utc/mediaeditor/CMakeLists.txt
new file mode 100644 (file)
index 0000000..603ecab
--- /dev/null
@@ -0,0 +1,38 @@
+SET(PKG_NAME "mediaeditor")
+
+SET(EXEC_NAME "tct-${PKG_NAME}-core")
+SET(RPM_NAME "core-${PKG_NAME}-tests")
+
+SET(CAPI_LIB "capi-media-editor")
+SET(TC_SOURCES
+    utc-mediaeditor.c
+    utc-mediaeditor-callback.c
+)
+
+PKG_CHECK_MODULES(${CAPI_LIB} REQUIRED
+    ${CAPI_LIB}
+    capi-appfw-application
+    glib-2.0
+    dlog
+)
+
+INCLUDE_DIRECTORIES(
+    ${${CAPI_LIB}_INCLUDE_DIRS}
+)
+
+ADD_EXECUTABLE(${EXEC_NAME} ${EXEC_NAME}.c ${TC_SOURCES} ${COMMON_FILE})
+TARGET_LINK_LIBRARIES(${EXEC_NAME}
+    ${${CAPI_LIB}_LIBRARIES}
+)
+
+INSTALL(PROGRAMS ${EXEC_NAME}
+    DESTINATION ${BIN_DIR}/${RPM_NAME}/bin
+)
+
+IF( DEFINED ASAN )
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Wall -pie -g -fsanitize=address -fsanitize-recover=address -U_FORTIFY_SOURCE -fno-omit-frame-pointer")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -Wl,-fsanitize=address")
+ELSE()
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g -fPIE -Wall")
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=/usr/lib -pie")
+ENDIF()
diff --git a/src/utc/mediaeditor/public.list b/src/utc/mediaeditor/public.list
new file mode 100644 (file)
index 0000000..4498add
--- /dev/null
@@ -0,0 +1,39 @@
+mediaeditor_create
+mediaeditor_destroy
+mediaeditor_set_display
+mediaeditor_get_state
+mediaeditor_start_render
+mediaeditor_cancel_render
+mediaeditor_start_preview
+mediaeditor_stop_preview
+mediaeditor_add_layer
+mediaeditor_remove_layer
+mediaeditor_activate_layer
+mediaeditor_deactivate_layer
+mediaeditor_move_layer
+mediaeditor_add_clip
+mediaeditor_remove_clip
+mediaeditor_split_clip
+mediaeditor_group_clip
+mediaeditor_ungroup_clip
+mediaeditor_move_clip_layer
+mediaeditor_get_clip_start
+mediaeditor_set_clip_start
+mediaeditor_get_clip_duration
+mediaeditor_set_clip_duration
+mediaeditor_get_clip_in_point
+mediaeditor_set_clip_in_point
+mediaeditor_get_clip_resolution
+mediaeditor_set_clip_resolution
+mediaeditor_get_clip_volume
+mediaeditor_set_clip_volume
+mediaeditor_add_transition
+mediaeditor_add_effect
+mediaeditor_remove_effect
+mediaeditor_create_project
+mediaeditor_load_project
+mediaeditor_save_project
+mediaeditor_set_error_cb
+mediaeditor_unset_error_cb
+mediaeditor_set_state_changed_cb
+mediaeditor_unset_state_changed_cb
diff --git a/src/utc/mediaeditor/res/mobile/audio.mp3 b/src/utc/mediaeditor/res/mobile/audio.mp3
new file mode 100644 (file)
index 0000000..a28b355
Binary files /dev/null and b/src/utc/mediaeditor/res/mobile/audio.mp3 differ
diff --git a/src/utc/mediaeditor/res/mobile/project_load.xges b/src/utc/mediaeditor/res/mobile/project_load.xges
new file mode 100644 (file)
index 0000000..6bef55b
--- /dev/null
@@ -0,0 +1,14 @@
+<ges version='0.1'>
+  <project properties='properties;' metadatas='metadatas, format-version=(string)0.1;'>
+    <encoding-profiles>
+    </encoding-profiles>
+    <ressources>
+    </ressources>
+    <timeline properties='properties;' metadatas='metadatas, duration=(guint64)0;'>
+      <layer priority='0' properties='properties;' metadatas='metadatas, volume=(float)1;'>
+      </layer>
+      <groups>
+      </groups>
+    </timeline>
+  </project>
+</ges>
diff --git a/src/utc/mediaeditor/res/mobile/video.mp4 b/src/utc/mediaeditor/res/mobile/video.mp4
new file mode 100644 (file)
index 0000000..f8d35e9
Binary files /dev/null and b/src/utc/mediaeditor/res/mobile/video.mp4 differ
diff --git a/src/utc/mediaeditor/res/tizeniot/audio.mp3 b/src/utc/mediaeditor/res/tizeniot/audio.mp3
new file mode 100644 (file)
index 0000000..a28b355
Binary files /dev/null and b/src/utc/mediaeditor/res/tizeniot/audio.mp3 differ
diff --git a/src/utc/mediaeditor/res/tizeniot/project_load.xges b/src/utc/mediaeditor/res/tizeniot/project_load.xges
new file mode 100644 (file)
index 0000000..6bef55b
--- /dev/null
@@ -0,0 +1,14 @@
+<ges version='0.1'>
+  <project properties='properties;' metadatas='metadatas, format-version=(string)0.1;'>
+    <encoding-profiles>
+    </encoding-profiles>
+    <ressources>
+    </ressources>
+    <timeline properties='properties;' metadatas='metadatas, duration=(guint64)0;'>
+      <layer priority='0' properties='properties;' metadatas='metadatas, volume=(float)1;'>
+      </layer>
+      <groups>
+      </groups>
+    </timeline>
+  </project>
+</ges>
diff --git a/src/utc/mediaeditor/res/tizeniot/video.mp4 b/src/utc/mediaeditor/res/tizeniot/video.mp4
new file mode 100644 (file)
index 0000000..f8d35e9
Binary files /dev/null and b/src/utc/mediaeditor/res/tizeniot/video.mp4 differ
diff --git a/src/utc/mediaeditor/res/tv/audio.mp3 b/src/utc/mediaeditor/res/tv/audio.mp3
new file mode 100644 (file)
index 0000000..a28b355
Binary files /dev/null and b/src/utc/mediaeditor/res/tv/audio.mp3 differ
diff --git a/src/utc/mediaeditor/res/tv/project_load.xges b/src/utc/mediaeditor/res/tv/project_load.xges
new file mode 100644 (file)
index 0000000..6bef55b
--- /dev/null
@@ -0,0 +1,14 @@
+<ges version='0.1'>
+  <project properties='properties;' metadatas='metadatas, format-version=(string)0.1;'>
+    <encoding-profiles>
+    </encoding-profiles>
+    <ressources>
+    </ressources>
+    <timeline properties='properties;' metadatas='metadatas, duration=(guint64)0;'>
+      <layer priority='0' properties='properties;' metadatas='metadatas, volume=(float)1;'>
+      </layer>
+      <groups>
+      </groups>
+    </timeline>
+  </project>
+</ges>
diff --git a/src/utc/mediaeditor/res/tv/video.mp4 b/src/utc/mediaeditor/res/tv/video.mp4
new file mode 100644 (file)
index 0000000..f8d35e9
Binary files /dev/null and b/src/utc/mediaeditor/res/tv/video.mp4 differ
diff --git a/src/utc/mediaeditor/res/wearable/audio.mp3 b/src/utc/mediaeditor/res/wearable/audio.mp3
new file mode 100644 (file)
index 0000000..a28b355
Binary files /dev/null and b/src/utc/mediaeditor/res/wearable/audio.mp3 differ
diff --git a/src/utc/mediaeditor/res/wearable/project_load.xges b/src/utc/mediaeditor/res/wearable/project_load.xges
new file mode 100644 (file)
index 0000000..6bef55b
--- /dev/null
@@ -0,0 +1,14 @@
+<ges version='0.1'>
+  <project properties='properties;' metadatas='metadatas, format-version=(string)0.1;'>
+    <encoding-profiles>
+    </encoding-profiles>
+    <ressources>
+    </ressources>
+    <timeline properties='properties;' metadatas='metadatas, duration=(guint64)0;'>
+      <layer priority='0' properties='properties;' metadatas='metadatas, volume=(float)1;'>
+      </layer>
+      <groups>
+      </groups>
+    </timeline>
+  </project>
+</ges>
diff --git a/src/utc/mediaeditor/res/wearable/video.mp4 b/src/utc/mediaeditor/res/wearable/video.mp4
new file mode 100644 (file)
index 0000000..f8d35e9
Binary files /dev/null and b/src/utc/mediaeditor/res/wearable/video.mp4 differ
diff --git a/src/utc/mediaeditor/tct-mediaeditor-core.c b/src/utc/mediaeditor/tct-mediaeditor-core.c
new file mode 100644 (file)
index 0000000..2ea0bab
--- /dev/null
@@ -0,0 +1,142 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <string.h>
+#include "tct_common.h"
+
+#ifdef MOBILE
+#include "tct-mediaeditor-core_mobile.h"
+#endif
+
+#ifdef WEARABLE
+#include "tct-mediaeditor-core_wearable.h"
+#endif
+
+#ifdef TV
+#include "tct-mediaeditor-core_tv.h"
+#endif
+
+#ifdef TIZENIOT
+#include "tct-mediaeditor-core_tizeniot.h"
+#endif
+
+#include <malloc.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+#include <glib.h>
+#include <stdbool.h>
+#include <app.h>
+#include <dlog.h>
+
+static bool app_create(void *data)
+{
+    return true;
+}
+
+static void app_control(app_control_h app_control, void *data)
+{
+    char* pszGetTCName = NULL;
+    int i=0, result=0, nRet=0;
+    nRet = app_control_get_extra_data(app_control, "testcase_name", &pszGetTCName);
+    if(nRet != APP_CONTROL_ERROR_NONE)
+    {
+        dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] app_control_get_extra_data returns error = %d", __FUNCTION__, __LINE__, nRet);
+        PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to fetch test case name: app_control_get_extra_data API call fails\\n", __FILE__, __LINE__);
+        PRINT_TC_RESULT("%d",1);
+        FREE_MEMORY_TC(pszGetTCName);
+        return;
+    }
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Executing TC Name = %s", __FUNCTION__, __LINE__, pszGetTCName);
+    for ( i = 0; tc_array[i].name; i++ )
+    {
+        if ( 0 == strncmp(pszGetTCName, tc_array[i].name, strlen(pszGetTCName)) )
+        {
+            DUMP_UTC_ERRLOG();
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Startup begin", pszGetTCName);
+            if ( tc_array[i].startup )
+            {
+                tc_array[i].startup();
+            }
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Startup end", pszGetTCName);
+
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Body begin", pszGetTCName);
+            result = tc_array[i].function();
+            dlog_print(DLOG_INFO, "NativeTCT", "%s returns value = %d", pszGetTCName, result);
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Body end", pszGetTCName);
+
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Cleanup begin", pszGetTCName);
+            if ( tc_array[i].cleanup )
+            {
+                tc_array[i].cleanup();
+            }
+            dlog_print(DLOG_INFO, "NativeTCT", "%s : Cleanup end", pszGetTCName);
+
+            CLOSE_UTC_ERRLOG();
+            PRINT_TC_RESULT("%d",result);
+
+            if(0 == strncmp(pszGetTCName, "utc_media_sound_manager_get_voip_session_mode_n2", strlen(pszGetTCName)))
+            {
+                /* Session TCs and Stream TCs should be seperated each other process */
+                ui_app_exit();
+            }
+            FREE_MEMORY_TC(pszGetTCName);
+
+            return;
+        }
+    }
+
+    dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d] Unable to execute %s : Unknown Test Case Name", __FUNCTION__, __LINE__, pszGetTCName);
+    PRINT_UTC_LOG("\\n[%s][Line : %d]Unable to execute %s : Unknown Test Case Name\\n", __FILE__, __LINE__, pszGetTCName);
+    PRINT_TC_RESULT("%d",1);
+    FREE_MEMORY_TC(pszGetTCName);
+    return;
+}
+
+static void app_terminate(void *data)
+{
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is now Terminating", __FUNCTION__, __LINE__);
+}
+
+int main(int argc, char *argv[])
+{
+    int ret = 0;
+
+    ui_app_lifecycle_callback_s event_callback = {0,};
+    event_callback.create = app_create;
+    event_callback.terminate = app_terminate;
+    event_callback.app_control = app_control;
+
+    //setting gcda file location for coverage
+    setenv("GCOV_PREFIX","/tmp",1);
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Coverage *.gcda File location set to /tmp/home/abuild/rpmbuild/BUILD/ ", __FUNCTION__, __LINE__);
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Main Function is Invoked", __FUNCTION__, __LINE__);
+    ret = ui_app_main(argc, argv, &event_callback, NULL);
+    if (ret != APP_ERROR_NONE)
+    {
+        dlog_print(DLOG_ERROR, "NativeTCT", "Application ui_app_main call gets failed. err = %d", ret);
+        PRINT_UTC_LOG("\\n[%s][Line : %d]Application ui_app_main call gets failed. err = %d\\n", __FILE__, __LINE__, ret);
+        PRINT_TC_RESULT("%d",1);
+        return ret;
+    }
+
+    dlog_print(DLOG_INFO, "NativeTCT", "[%s:%d] Application Package is Terminated", __FUNCTION__, __LINE__);
+    return ret;
+}
diff --git a/src/utc/mediaeditor/tct-mediaeditor-core_mobile.h b/src/utc/mediaeditor/tct-mediaeditor-core_mobile.h
new file mode 100644 (file)
index 0000000..87d4e75
--- /dev/null
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_MEDIAEDITOR-NATIVE_H__
+#define __TCT_MEDIAEDITOR-NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_mediaeditor_startup(void);
+extern void utc_mediaeditor_cleanup(void);
+extern void utc_mediaeditor_startup_create_win(void);
+extern void utc_mediaeditor_cleanup_destroy_win(void);
+extern void utc_mediaeditor_startup_callback(void);
+extern void utc_mediaeditor_cleanup_callback(void);
+
+extern int utc_mediaeditor_create_p(void);
+extern int utc_mediaeditor_create_n(void);
+extern int utc_mediaeditor_destroy_p(void);
+extern int utc_mediaeditor_destroy_n(void);
+extern int utc_mediaeditor_set_display_p(void);
+extern int utc_mediaeditor_set_display_n1(void);
+extern int utc_mediaeditor_set_display_n2(void);
+extern int utc_mediaeditor_set_display_n3(void);
+extern int utc_mediaeditor_get_state_p(void);
+extern int utc_mediaeditor_get_state_n1(void);
+extern int utc_mediaeditor_get_state_n2(void);
+extern int utc_mediaeditor_start_render_p(void);
+extern int utc_mediaeditor_start_render_n1(void);
+extern int utc_mediaeditor_start_render_n2(void);
+extern int utc_mediaeditor_start_render_n3(void);
+extern int utc_mediaeditor_start_render_n4(void);
+extern int utc_mediaeditor_cancel_render_p(void);
+extern int utc_mediaeditor_cancel_render_n1(void);
+extern int utc_mediaeditor_cancel_render_n2(void);
+extern int utc_mediaeditor_start_preview_p(void);
+extern int utc_mediaeditor_start_preview_n(void);
+extern int utc_mediaeditor_stop_preview_p(void);
+extern int utc_mediaeditor_stop_preview_n1(void);
+extern int utc_mediaeditor_stop_preview_n2(void);
+extern int utc_mediaeditor_add_layer_p(void);
+extern int utc_mediaeditor_add_layer_n1(void);
+extern int utc_mediaeditor_add_layer_n2(void);
+extern int utc_mediaeditor_remove_layer_p(void);
+extern int utc_mediaeditor_remove_layer_n1(void);
+extern int utc_mediaeditor_remove_layer_n2(void);
+extern int utc_mediaeditor_move_layer_p(void);
+extern int utc_mediaeditor_move_layer_n1(void);
+extern int utc_mediaeditor_move_layer_n2(void);
+extern int utc_mediaeditor_activate_layer_p(void);
+extern int utc_mediaeditor_activate_layer_n1(void);
+extern int utc_mediaeditor_activate_layer_n2(void);
+extern int utc_mediaeditor_deactivate_layer_p(void);
+extern int utc_mediaeditor_deactivate_layer_n1(void);
+extern int utc_mediaeditor_deactivate_layer_n2(void);
+extern int utc_mediaeditor_get_layer_priority_p(void);
+extern int utc_mediaeditor_get_layer_priority_n1(void);
+extern int utc_mediaeditor_get_layer_priority_n2(void);
+extern int utc_mediaeditor_get_layer_priority_n3(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_p(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n1(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n2(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n3(void);
+extern int utc_mediaeditor_get_layer_id_p(void);
+extern int utc_mediaeditor_get_layer_id_n1(void);
+extern int utc_mediaeditor_get_layer_id_n2(void);
+extern int utc_mediaeditor_get_layer_id_n3(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n1(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_n(void);
+extern int utc_mediaeditor_add_clip_p(void);
+extern int utc_mediaeditor_add_clip_n1(void);
+extern int utc_mediaeditor_add_clip_n2(void);
+extern int utc_mediaeditor_add_clip_n3(void);
+extern int utc_mediaeditor_remove_clip_p(void);
+extern int utc_mediaeditor_remove_clip_n1(void);
+extern int utc_mediaeditor_remove_clip_n2(void);
+extern int utc_mediaeditor_split_clip_p(void);
+extern int utc_mediaeditor_split_clip_n1(void);
+extern int utc_mediaeditor_split_clip_n2(void);
+extern int utc_mediaeditor_group_clip_p(void);
+extern int utc_mediaeditor_group_clip_n1(void);
+extern int utc_mediaeditor_group_clip_n2(void);
+extern int utc_mediaeditor_ungroup_clip_p(void);
+extern int utc_mediaeditor_ungroup_clip_n1(void);
+extern int utc_mediaeditor_ungroup_clip_n2(void);
+extern int utc_mediaeditor_move_clip_layer_p(void);
+extern int utc_mediaeditor_move_clip_layer_n1(void);
+extern int utc_mediaeditor_move_clip_layer_n2(void);
+extern int utc_mediaeditor_get_clip_start_p(void);
+extern int utc_mediaeditor_get_clip_start_n1(void);
+extern int utc_mediaeditor_get_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_start_n3(void);
+extern int utc_mediaeditor_set_clip_start_p(void);
+extern int utc_mediaeditor_set_clip_start_n1(void);
+extern int utc_mediaeditor_set_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_duration_p(void);
+extern int utc_mediaeditor_get_clip_duration_n1(void);
+extern int utc_mediaeditor_get_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_duration_n3(void);
+extern int utc_mediaeditor_set_clip_duration_p(void);
+extern int utc_mediaeditor_set_clip_duration_n1(void);
+extern int utc_mediaeditor_set_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_p(void);
+extern int utc_mediaeditor_get_clip_in_point_n1(void);
+extern int utc_mediaeditor_get_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_n3(void);
+extern int utc_mediaeditor_set_clip_in_point_p(void);
+extern int utc_mediaeditor_set_clip_in_point_n1(void);
+extern int utc_mediaeditor_set_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_p(void);
+extern int utc_mediaeditor_get_clip_resolution_n1(void);
+extern int utc_mediaeditor_get_clip_resolution_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_resolution_n4(void);
+extern int utc_mediaeditor_set_clip_resolution_p(void);
+extern int utc_mediaeditor_set_clip_resolution_n1(void);
+extern int utc_mediaeditor_set_clip_resolution_n2(void);
+extern int utc_mediaeditor_set_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_volume_p(void);
+extern int utc_mediaeditor_get_clip_volume_n1(void);
+extern int utc_mediaeditor_get_clip_volume_n2(void);
+extern int utc_mediaeditor_get_clip_volume_n3(void);
+extern int utc_mediaeditor_set_clip_volume_p(void);
+extern int utc_mediaeditor_set_clip_volume_n1(void);
+extern int utc_mediaeditor_set_clip_volume_n2(void);
+extern int utc_mediaeditor_add_transition_p(void);
+extern int utc_mediaeditor_add_transition_n1(void);
+extern int utc_mediaeditor_add_transition_n2(void);
+extern int utc_mediaeditor_add_transition_n3(void);
+extern int utc_mediaeditor_add_effect_p(void);
+extern int utc_mediaeditor_add_effect_n1(void);
+extern int utc_mediaeditor_add_effect_n2(void);
+extern int utc_mediaeditor_add_effect_n3(void);
+extern int utc_mediaeditor_remove_effect_p(void);
+extern int utc_mediaeditor_remove_effect_n1(void);
+extern int utc_mediaeditor_remove_effect_n2(void);
+extern int utc_mediaeditor_create_project_p(void);
+extern int utc_mediaeditor_create_project_n1(void);
+extern int utc_mediaeditor_create_project_n2(void);
+extern int utc_mediaeditor_load_project_p(void);
+extern int utc_mediaeditor_load_project_n1(void);
+extern int utc_mediaeditor_load_project_n2(void);
+extern int utc_mediaeditor_save_project_p(void);
+extern int utc_mediaeditor_save_project_n1(void);
+extern int utc_mediaeditor_save_project_n2(void);
+extern int utc_mediaeditor_set_error_cb_p(void);
+extern int utc_mediaeditor_set_error_cb_n1(void);
+extern int utc_mediaeditor_set_error_cb_n2(void);
+extern int utc_mediaeditor_unset_error_cb_p(void);
+extern int utc_mediaeditor_unset_error_cb_n1(void);
+extern int utc_mediaeditor_unset_error_cb_n2(void);
+extern int utc_mediaeditor_set_state_changed_cb_p(void);
+extern int utc_mediaeditor_set_state_changed_cb_n1(void);
+extern int utc_mediaeditor_set_state_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_state_changed_cb_p(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n1(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n2(void);
+
+testcase tc_array[] = {
+    {"utc_mediaeditor_create_p",utc_mediaeditor_create_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_n",utc_mediaeditor_create_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_p",utc_mediaeditor_destroy_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_n",utc_mediaeditor_destroy_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_p",utc_mediaeditor_set_display_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_set_display_n1",utc_mediaeditor_set_display_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n2",utc_mediaeditor_set_display_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n3",utc_mediaeditor_set_display_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_p",utc_mediaeditor_get_state_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n1",utc_mediaeditor_get_state_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n2",utc_mediaeditor_get_state_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_p",utc_mediaeditor_start_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n1",utc_mediaeditor_start_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n2",utc_mediaeditor_start_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n3",utc_mediaeditor_start_render_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n4",utc_mediaeditor_start_render_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_p",utc_mediaeditor_cancel_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n1",utc_mediaeditor_cancel_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n2",utc_mediaeditor_cancel_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_preview_p",utc_mediaeditor_start_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_start_preview_n",utc_mediaeditor_start_preview_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_p",utc_mediaeditor_stop_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_stop_preview_n1",utc_mediaeditor_stop_preview_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_n2",utc_mediaeditor_stop_preview_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_p",utc_mediaeditor_add_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n1",utc_mediaeditor_add_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n2",utc_mediaeditor_add_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_p",utc_mediaeditor_remove_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n1",utc_mediaeditor_remove_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n2",utc_mediaeditor_remove_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_p",utc_mediaeditor_move_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n1",utc_mediaeditor_move_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n2",utc_mediaeditor_move_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_p",utc_mediaeditor_activate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n1",utc_mediaeditor_activate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n2",utc_mediaeditor_activate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_p",utc_mediaeditor_deactivate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n1",utc_mediaeditor_deactivate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n2",utc_mediaeditor_deactivate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_p",utc_mediaeditor_get_layer_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n1",utc_mediaeditor_get_layer_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n2",utc_mediaeditor_get_layer_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n3",utc_mediaeditor_get_layer_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_p",utc_mediaeditor_get_layer_lowest_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n1",utc_mediaeditor_get_layer_lowest_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n2",utc_mediaeditor_get_layer_lowest_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n3",utc_mediaeditor_get_layer_lowest_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_p",utc_mediaeditor_get_layer_id_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n1",utc_mediaeditor_get_layer_id_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n2",utc_mediaeditor_get_layer_id_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n3",utc_mediaeditor_get_layer_id_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_p",utc_mediaeditor_set_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n1",utc_mediaeditor_set_layer_priority_changed_cb_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n2",utc_mediaeditor_set_layer_priority_changed_cb_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_p",utc_mediaeditor_unset_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_n",utc_mediaeditor_unset_layer_priority_changed_cb_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_p",utc_mediaeditor_add_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n1",utc_mediaeditor_add_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n2",utc_mediaeditor_add_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n3",utc_mediaeditor_add_clip_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_p",utc_mediaeditor_remove_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n1",utc_mediaeditor_remove_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n2",utc_mediaeditor_remove_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_p",utc_mediaeditor_split_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n1",utc_mediaeditor_split_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n2",utc_mediaeditor_split_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_p",utc_mediaeditor_group_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n1",utc_mediaeditor_group_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n2",utc_mediaeditor_group_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_p",utc_mediaeditor_ungroup_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n1",utc_mediaeditor_ungroup_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n2",utc_mediaeditor_ungroup_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_p",utc_mediaeditor_move_clip_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n1",utc_mediaeditor_move_clip_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n2",utc_mediaeditor_move_clip_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_p",utc_mediaeditor_get_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n1",utc_mediaeditor_get_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n2",utc_mediaeditor_get_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n3",utc_mediaeditor_get_clip_start_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_p",utc_mediaeditor_set_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n1",utc_mediaeditor_set_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n2",utc_mediaeditor_set_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_p",utc_mediaeditor_get_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n1",utc_mediaeditor_get_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n2",utc_mediaeditor_get_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n3",utc_mediaeditor_get_clip_duration_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_p",utc_mediaeditor_set_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n1",utc_mediaeditor_set_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n2",utc_mediaeditor_set_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_p",utc_mediaeditor_get_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n1",utc_mediaeditor_get_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n2",utc_mediaeditor_get_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n3",utc_mediaeditor_get_clip_in_point_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_p",utc_mediaeditor_set_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n1",utc_mediaeditor_set_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n2",utc_mediaeditor_set_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_p",utc_mediaeditor_get_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n1",utc_mediaeditor_get_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n2",utc_mediaeditor_get_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n3",utc_mediaeditor_get_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n4",utc_mediaeditor_get_clip_resolution_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_p",utc_mediaeditor_set_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n1",utc_mediaeditor_set_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n2",utc_mediaeditor_set_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n3",utc_mediaeditor_set_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_p",utc_mediaeditor_get_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n1",utc_mediaeditor_get_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n2",utc_mediaeditor_get_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n3",utc_mediaeditor_get_clip_volume_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_p",utc_mediaeditor_set_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n1",utc_mediaeditor_set_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n2",utc_mediaeditor_set_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_p",utc_mediaeditor_add_transition_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n1",utc_mediaeditor_add_transition_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n2",utc_mediaeditor_add_transition_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n3",utc_mediaeditor_add_transition_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_p",utc_mediaeditor_add_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n1",utc_mediaeditor_add_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n2",utc_mediaeditor_add_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n3",utc_mediaeditor_add_effect_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_p",utc_mediaeditor_remove_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n1",utc_mediaeditor_remove_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n2",utc_mediaeditor_remove_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_p",utc_mediaeditor_create_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n1",utc_mediaeditor_create_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n2",utc_mediaeditor_create_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_p",utc_mediaeditor_load_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n1",utc_mediaeditor_load_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n2",utc_mediaeditor_load_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_p",utc_mediaeditor_save_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n1",utc_mediaeditor_save_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n2",utc_mediaeditor_save_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_error_cb_p",utc_mediaeditor_set_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n1",utc_mediaeditor_set_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n2",utc_mediaeditor_set_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_p",utc_mediaeditor_unset_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n1",utc_mediaeditor_unset_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n2",utc_mediaeditor_unset_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_p",utc_mediaeditor_set_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n1",utc_mediaeditor_set_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n2",utc_mediaeditor_set_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_p",utc_mediaeditor_unset_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n1",utc_mediaeditor_unset_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n2",utc_mediaeditor_unset_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {NULL, NULL}
+};
+
+#endif // __TCT_MEDIAEDITOR-NATIVE_H__
diff --git a/src/utc/mediaeditor/tct-mediaeditor-core_tizeniot.h b/src/utc/mediaeditor/tct-mediaeditor-core_tizeniot.h
new file mode 100644 (file)
index 0000000..87d4e75
--- /dev/null
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_MEDIAEDITOR-NATIVE_H__
+#define __TCT_MEDIAEDITOR-NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_mediaeditor_startup(void);
+extern void utc_mediaeditor_cleanup(void);
+extern void utc_mediaeditor_startup_create_win(void);
+extern void utc_mediaeditor_cleanup_destroy_win(void);
+extern void utc_mediaeditor_startup_callback(void);
+extern void utc_mediaeditor_cleanup_callback(void);
+
+extern int utc_mediaeditor_create_p(void);
+extern int utc_mediaeditor_create_n(void);
+extern int utc_mediaeditor_destroy_p(void);
+extern int utc_mediaeditor_destroy_n(void);
+extern int utc_mediaeditor_set_display_p(void);
+extern int utc_mediaeditor_set_display_n1(void);
+extern int utc_mediaeditor_set_display_n2(void);
+extern int utc_mediaeditor_set_display_n3(void);
+extern int utc_mediaeditor_get_state_p(void);
+extern int utc_mediaeditor_get_state_n1(void);
+extern int utc_mediaeditor_get_state_n2(void);
+extern int utc_mediaeditor_start_render_p(void);
+extern int utc_mediaeditor_start_render_n1(void);
+extern int utc_mediaeditor_start_render_n2(void);
+extern int utc_mediaeditor_start_render_n3(void);
+extern int utc_mediaeditor_start_render_n4(void);
+extern int utc_mediaeditor_cancel_render_p(void);
+extern int utc_mediaeditor_cancel_render_n1(void);
+extern int utc_mediaeditor_cancel_render_n2(void);
+extern int utc_mediaeditor_start_preview_p(void);
+extern int utc_mediaeditor_start_preview_n(void);
+extern int utc_mediaeditor_stop_preview_p(void);
+extern int utc_mediaeditor_stop_preview_n1(void);
+extern int utc_mediaeditor_stop_preview_n2(void);
+extern int utc_mediaeditor_add_layer_p(void);
+extern int utc_mediaeditor_add_layer_n1(void);
+extern int utc_mediaeditor_add_layer_n2(void);
+extern int utc_mediaeditor_remove_layer_p(void);
+extern int utc_mediaeditor_remove_layer_n1(void);
+extern int utc_mediaeditor_remove_layer_n2(void);
+extern int utc_mediaeditor_move_layer_p(void);
+extern int utc_mediaeditor_move_layer_n1(void);
+extern int utc_mediaeditor_move_layer_n2(void);
+extern int utc_mediaeditor_activate_layer_p(void);
+extern int utc_mediaeditor_activate_layer_n1(void);
+extern int utc_mediaeditor_activate_layer_n2(void);
+extern int utc_mediaeditor_deactivate_layer_p(void);
+extern int utc_mediaeditor_deactivate_layer_n1(void);
+extern int utc_mediaeditor_deactivate_layer_n2(void);
+extern int utc_mediaeditor_get_layer_priority_p(void);
+extern int utc_mediaeditor_get_layer_priority_n1(void);
+extern int utc_mediaeditor_get_layer_priority_n2(void);
+extern int utc_mediaeditor_get_layer_priority_n3(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_p(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n1(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n2(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n3(void);
+extern int utc_mediaeditor_get_layer_id_p(void);
+extern int utc_mediaeditor_get_layer_id_n1(void);
+extern int utc_mediaeditor_get_layer_id_n2(void);
+extern int utc_mediaeditor_get_layer_id_n3(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n1(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_n(void);
+extern int utc_mediaeditor_add_clip_p(void);
+extern int utc_mediaeditor_add_clip_n1(void);
+extern int utc_mediaeditor_add_clip_n2(void);
+extern int utc_mediaeditor_add_clip_n3(void);
+extern int utc_mediaeditor_remove_clip_p(void);
+extern int utc_mediaeditor_remove_clip_n1(void);
+extern int utc_mediaeditor_remove_clip_n2(void);
+extern int utc_mediaeditor_split_clip_p(void);
+extern int utc_mediaeditor_split_clip_n1(void);
+extern int utc_mediaeditor_split_clip_n2(void);
+extern int utc_mediaeditor_group_clip_p(void);
+extern int utc_mediaeditor_group_clip_n1(void);
+extern int utc_mediaeditor_group_clip_n2(void);
+extern int utc_mediaeditor_ungroup_clip_p(void);
+extern int utc_mediaeditor_ungroup_clip_n1(void);
+extern int utc_mediaeditor_ungroup_clip_n2(void);
+extern int utc_mediaeditor_move_clip_layer_p(void);
+extern int utc_mediaeditor_move_clip_layer_n1(void);
+extern int utc_mediaeditor_move_clip_layer_n2(void);
+extern int utc_mediaeditor_get_clip_start_p(void);
+extern int utc_mediaeditor_get_clip_start_n1(void);
+extern int utc_mediaeditor_get_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_start_n3(void);
+extern int utc_mediaeditor_set_clip_start_p(void);
+extern int utc_mediaeditor_set_clip_start_n1(void);
+extern int utc_mediaeditor_set_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_duration_p(void);
+extern int utc_mediaeditor_get_clip_duration_n1(void);
+extern int utc_mediaeditor_get_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_duration_n3(void);
+extern int utc_mediaeditor_set_clip_duration_p(void);
+extern int utc_mediaeditor_set_clip_duration_n1(void);
+extern int utc_mediaeditor_set_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_p(void);
+extern int utc_mediaeditor_get_clip_in_point_n1(void);
+extern int utc_mediaeditor_get_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_n3(void);
+extern int utc_mediaeditor_set_clip_in_point_p(void);
+extern int utc_mediaeditor_set_clip_in_point_n1(void);
+extern int utc_mediaeditor_set_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_p(void);
+extern int utc_mediaeditor_get_clip_resolution_n1(void);
+extern int utc_mediaeditor_get_clip_resolution_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_resolution_n4(void);
+extern int utc_mediaeditor_set_clip_resolution_p(void);
+extern int utc_mediaeditor_set_clip_resolution_n1(void);
+extern int utc_mediaeditor_set_clip_resolution_n2(void);
+extern int utc_mediaeditor_set_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_volume_p(void);
+extern int utc_mediaeditor_get_clip_volume_n1(void);
+extern int utc_mediaeditor_get_clip_volume_n2(void);
+extern int utc_mediaeditor_get_clip_volume_n3(void);
+extern int utc_mediaeditor_set_clip_volume_p(void);
+extern int utc_mediaeditor_set_clip_volume_n1(void);
+extern int utc_mediaeditor_set_clip_volume_n2(void);
+extern int utc_mediaeditor_add_transition_p(void);
+extern int utc_mediaeditor_add_transition_n1(void);
+extern int utc_mediaeditor_add_transition_n2(void);
+extern int utc_mediaeditor_add_transition_n3(void);
+extern int utc_mediaeditor_add_effect_p(void);
+extern int utc_mediaeditor_add_effect_n1(void);
+extern int utc_mediaeditor_add_effect_n2(void);
+extern int utc_mediaeditor_add_effect_n3(void);
+extern int utc_mediaeditor_remove_effect_p(void);
+extern int utc_mediaeditor_remove_effect_n1(void);
+extern int utc_mediaeditor_remove_effect_n2(void);
+extern int utc_mediaeditor_create_project_p(void);
+extern int utc_mediaeditor_create_project_n1(void);
+extern int utc_mediaeditor_create_project_n2(void);
+extern int utc_mediaeditor_load_project_p(void);
+extern int utc_mediaeditor_load_project_n1(void);
+extern int utc_mediaeditor_load_project_n2(void);
+extern int utc_mediaeditor_save_project_p(void);
+extern int utc_mediaeditor_save_project_n1(void);
+extern int utc_mediaeditor_save_project_n2(void);
+extern int utc_mediaeditor_set_error_cb_p(void);
+extern int utc_mediaeditor_set_error_cb_n1(void);
+extern int utc_mediaeditor_set_error_cb_n2(void);
+extern int utc_mediaeditor_unset_error_cb_p(void);
+extern int utc_mediaeditor_unset_error_cb_n1(void);
+extern int utc_mediaeditor_unset_error_cb_n2(void);
+extern int utc_mediaeditor_set_state_changed_cb_p(void);
+extern int utc_mediaeditor_set_state_changed_cb_n1(void);
+extern int utc_mediaeditor_set_state_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_state_changed_cb_p(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n1(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n2(void);
+
+testcase tc_array[] = {
+    {"utc_mediaeditor_create_p",utc_mediaeditor_create_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_n",utc_mediaeditor_create_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_p",utc_mediaeditor_destroy_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_n",utc_mediaeditor_destroy_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_p",utc_mediaeditor_set_display_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_set_display_n1",utc_mediaeditor_set_display_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n2",utc_mediaeditor_set_display_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n3",utc_mediaeditor_set_display_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_p",utc_mediaeditor_get_state_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n1",utc_mediaeditor_get_state_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n2",utc_mediaeditor_get_state_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_p",utc_mediaeditor_start_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n1",utc_mediaeditor_start_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n2",utc_mediaeditor_start_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n3",utc_mediaeditor_start_render_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n4",utc_mediaeditor_start_render_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_p",utc_mediaeditor_cancel_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n1",utc_mediaeditor_cancel_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n2",utc_mediaeditor_cancel_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_preview_p",utc_mediaeditor_start_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_start_preview_n",utc_mediaeditor_start_preview_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_p",utc_mediaeditor_stop_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_stop_preview_n1",utc_mediaeditor_stop_preview_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_n2",utc_mediaeditor_stop_preview_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_p",utc_mediaeditor_add_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n1",utc_mediaeditor_add_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n2",utc_mediaeditor_add_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_p",utc_mediaeditor_remove_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n1",utc_mediaeditor_remove_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n2",utc_mediaeditor_remove_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_p",utc_mediaeditor_move_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n1",utc_mediaeditor_move_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n2",utc_mediaeditor_move_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_p",utc_mediaeditor_activate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n1",utc_mediaeditor_activate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n2",utc_mediaeditor_activate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_p",utc_mediaeditor_deactivate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n1",utc_mediaeditor_deactivate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n2",utc_mediaeditor_deactivate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_p",utc_mediaeditor_get_layer_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n1",utc_mediaeditor_get_layer_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n2",utc_mediaeditor_get_layer_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n3",utc_mediaeditor_get_layer_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_p",utc_mediaeditor_get_layer_lowest_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n1",utc_mediaeditor_get_layer_lowest_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n2",utc_mediaeditor_get_layer_lowest_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n3",utc_mediaeditor_get_layer_lowest_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_p",utc_mediaeditor_get_layer_id_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n1",utc_mediaeditor_get_layer_id_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n2",utc_mediaeditor_get_layer_id_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n3",utc_mediaeditor_get_layer_id_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_p",utc_mediaeditor_set_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n1",utc_mediaeditor_set_layer_priority_changed_cb_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n2",utc_mediaeditor_set_layer_priority_changed_cb_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_p",utc_mediaeditor_unset_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_n",utc_mediaeditor_unset_layer_priority_changed_cb_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_p",utc_mediaeditor_add_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n1",utc_mediaeditor_add_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n2",utc_mediaeditor_add_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n3",utc_mediaeditor_add_clip_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_p",utc_mediaeditor_remove_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n1",utc_mediaeditor_remove_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n2",utc_mediaeditor_remove_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_p",utc_mediaeditor_split_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n1",utc_mediaeditor_split_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n2",utc_mediaeditor_split_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_p",utc_mediaeditor_group_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n1",utc_mediaeditor_group_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n2",utc_mediaeditor_group_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_p",utc_mediaeditor_ungroup_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n1",utc_mediaeditor_ungroup_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n2",utc_mediaeditor_ungroup_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_p",utc_mediaeditor_move_clip_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n1",utc_mediaeditor_move_clip_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n2",utc_mediaeditor_move_clip_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_p",utc_mediaeditor_get_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n1",utc_mediaeditor_get_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n2",utc_mediaeditor_get_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n3",utc_mediaeditor_get_clip_start_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_p",utc_mediaeditor_set_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n1",utc_mediaeditor_set_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n2",utc_mediaeditor_set_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_p",utc_mediaeditor_get_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n1",utc_mediaeditor_get_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n2",utc_mediaeditor_get_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n3",utc_mediaeditor_get_clip_duration_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_p",utc_mediaeditor_set_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n1",utc_mediaeditor_set_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n2",utc_mediaeditor_set_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_p",utc_mediaeditor_get_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n1",utc_mediaeditor_get_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n2",utc_mediaeditor_get_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n3",utc_mediaeditor_get_clip_in_point_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_p",utc_mediaeditor_set_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n1",utc_mediaeditor_set_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n2",utc_mediaeditor_set_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_p",utc_mediaeditor_get_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n1",utc_mediaeditor_get_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n2",utc_mediaeditor_get_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n3",utc_mediaeditor_get_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n4",utc_mediaeditor_get_clip_resolution_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_p",utc_mediaeditor_set_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n1",utc_mediaeditor_set_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n2",utc_mediaeditor_set_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n3",utc_mediaeditor_set_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_p",utc_mediaeditor_get_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n1",utc_mediaeditor_get_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n2",utc_mediaeditor_get_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n3",utc_mediaeditor_get_clip_volume_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_p",utc_mediaeditor_set_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n1",utc_mediaeditor_set_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n2",utc_mediaeditor_set_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_p",utc_mediaeditor_add_transition_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n1",utc_mediaeditor_add_transition_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n2",utc_mediaeditor_add_transition_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n3",utc_mediaeditor_add_transition_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_p",utc_mediaeditor_add_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n1",utc_mediaeditor_add_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n2",utc_mediaeditor_add_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n3",utc_mediaeditor_add_effect_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_p",utc_mediaeditor_remove_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n1",utc_mediaeditor_remove_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n2",utc_mediaeditor_remove_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_p",utc_mediaeditor_create_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n1",utc_mediaeditor_create_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n2",utc_mediaeditor_create_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_p",utc_mediaeditor_load_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n1",utc_mediaeditor_load_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n2",utc_mediaeditor_load_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_p",utc_mediaeditor_save_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n1",utc_mediaeditor_save_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n2",utc_mediaeditor_save_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_error_cb_p",utc_mediaeditor_set_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n1",utc_mediaeditor_set_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n2",utc_mediaeditor_set_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_p",utc_mediaeditor_unset_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n1",utc_mediaeditor_unset_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n2",utc_mediaeditor_unset_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_p",utc_mediaeditor_set_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n1",utc_mediaeditor_set_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n2",utc_mediaeditor_set_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_p",utc_mediaeditor_unset_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n1",utc_mediaeditor_unset_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n2",utc_mediaeditor_unset_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {NULL, NULL}
+};
+
+#endif // __TCT_MEDIAEDITOR-NATIVE_H__
diff --git a/src/utc/mediaeditor/tct-mediaeditor-core_tv.h b/src/utc/mediaeditor/tct-mediaeditor-core_tv.h
new file mode 100644 (file)
index 0000000..87d4e75
--- /dev/null
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_MEDIAEDITOR-NATIVE_H__
+#define __TCT_MEDIAEDITOR-NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_mediaeditor_startup(void);
+extern void utc_mediaeditor_cleanup(void);
+extern void utc_mediaeditor_startup_create_win(void);
+extern void utc_mediaeditor_cleanup_destroy_win(void);
+extern void utc_mediaeditor_startup_callback(void);
+extern void utc_mediaeditor_cleanup_callback(void);
+
+extern int utc_mediaeditor_create_p(void);
+extern int utc_mediaeditor_create_n(void);
+extern int utc_mediaeditor_destroy_p(void);
+extern int utc_mediaeditor_destroy_n(void);
+extern int utc_mediaeditor_set_display_p(void);
+extern int utc_mediaeditor_set_display_n1(void);
+extern int utc_mediaeditor_set_display_n2(void);
+extern int utc_mediaeditor_set_display_n3(void);
+extern int utc_mediaeditor_get_state_p(void);
+extern int utc_mediaeditor_get_state_n1(void);
+extern int utc_mediaeditor_get_state_n2(void);
+extern int utc_mediaeditor_start_render_p(void);
+extern int utc_mediaeditor_start_render_n1(void);
+extern int utc_mediaeditor_start_render_n2(void);
+extern int utc_mediaeditor_start_render_n3(void);
+extern int utc_mediaeditor_start_render_n4(void);
+extern int utc_mediaeditor_cancel_render_p(void);
+extern int utc_mediaeditor_cancel_render_n1(void);
+extern int utc_mediaeditor_cancel_render_n2(void);
+extern int utc_mediaeditor_start_preview_p(void);
+extern int utc_mediaeditor_start_preview_n(void);
+extern int utc_mediaeditor_stop_preview_p(void);
+extern int utc_mediaeditor_stop_preview_n1(void);
+extern int utc_mediaeditor_stop_preview_n2(void);
+extern int utc_mediaeditor_add_layer_p(void);
+extern int utc_mediaeditor_add_layer_n1(void);
+extern int utc_mediaeditor_add_layer_n2(void);
+extern int utc_mediaeditor_remove_layer_p(void);
+extern int utc_mediaeditor_remove_layer_n1(void);
+extern int utc_mediaeditor_remove_layer_n2(void);
+extern int utc_mediaeditor_move_layer_p(void);
+extern int utc_mediaeditor_move_layer_n1(void);
+extern int utc_mediaeditor_move_layer_n2(void);
+extern int utc_mediaeditor_activate_layer_p(void);
+extern int utc_mediaeditor_activate_layer_n1(void);
+extern int utc_mediaeditor_activate_layer_n2(void);
+extern int utc_mediaeditor_deactivate_layer_p(void);
+extern int utc_mediaeditor_deactivate_layer_n1(void);
+extern int utc_mediaeditor_deactivate_layer_n2(void);
+extern int utc_mediaeditor_get_layer_priority_p(void);
+extern int utc_mediaeditor_get_layer_priority_n1(void);
+extern int utc_mediaeditor_get_layer_priority_n2(void);
+extern int utc_mediaeditor_get_layer_priority_n3(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_p(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n1(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n2(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n3(void);
+extern int utc_mediaeditor_get_layer_id_p(void);
+extern int utc_mediaeditor_get_layer_id_n1(void);
+extern int utc_mediaeditor_get_layer_id_n2(void);
+extern int utc_mediaeditor_get_layer_id_n3(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n1(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_n(void);
+extern int utc_mediaeditor_add_clip_p(void);
+extern int utc_mediaeditor_add_clip_n1(void);
+extern int utc_mediaeditor_add_clip_n2(void);
+extern int utc_mediaeditor_add_clip_n3(void);
+extern int utc_mediaeditor_remove_clip_p(void);
+extern int utc_mediaeditor_remove_clip_n1(void);
+extern int utc_mediaeditor_remove_clip_n2(void);
+extern int utc_mediaeditor_split_clip_p(void);
+extern int utc_mediaeditor_split_clip_n1(void);
+extern int utc_mediaeditor_split_clip_n2(void);
+extern int utc_mediaeditor_group_clip_p(void);
+extern int utc_mediaeditor_group_clip_n1(void);
+extern int utc_mediaeditor_group_clip_n2(void);
+extern int utc_mediaeditor_ungroup_clip_p(void);
+extern int utc_mediaeditor_ungroup_clip_n1(void);
+extern int utc_mediaeditor_ungroup_clip_n2(void);
+extern int utc_mediaeditor_move_clip_layer_p(void);
+extern int utc_mediaeditor_move_clip_layer_n1(void);
+extern int utc_mediaeditor_move_clip_layer_n2(void);
+extern int utc_mediaeditor_get_clip_start_p(void);
+extern int utc_mediaeditor_get_clip_start_n1(void);
+extern int utc_mediaeditor_get_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_start_n3(void);
+extern int utc_mediaeditor_set_clip_start_p(void);
+extern int utc_mediaeditor_set_clip_start_n1(void);
+extern int utc_mediaeditor_set_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_duration_p(void);
+extern int utc_mediaeditor_get_clip_duration_n1(void);
+extern int utc_mediaeditor_get_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_duration_n3(void);
+extern int utc_mediaeditor_set_clip_duration_p(void);
+extern int utc_mediaeditor_set_clip_duration_n1(void);
+extern int utc_mediaeditor_set_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_p(void);
+extern int utc_mediaeditor_get_clip_in_point_n1(void);
+extern int utc_mediaeditor_get_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_n3(void);
+extern int utc_mediaeditor_set_clip_in_point_p(void);
+extern int utc_mediaeditor_set_clip_in_point_n1(void);
+extern int utc_mediaeditor_set_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_p(void);
+extern int utc_mediaeditor_get_clip_resolution_n1(void);
+extern int utc_mediaeditor_get_clip_resolution_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_resolution_n4(void);
+extern int utc_mediaeditor_set_clip_resolution_p(void);
+extern int utc_mediaeditor_set_clip_resolution_n1(void);
+extern int utc_mediaeditor_set_clip_resolution_n2(void);
+extern int utc_mediaeditor_set_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_volume_p(void);
+extern int utc_mediaeditor_get_clip_volume_n1(void);
+extern int utc_mediaeditor_get_clip_volume_n2(void);
+extern int utc_mediaeditor_get_clip_volume_n3(void);
+extern int utc_mediaeditor_set_clip_volume_p(void);
+extern int utc_mediaeditor_set_clip_volume_n1(void);
+extern int utc_mediaeditor_set_clip_volume_n2(void);
+extern int utc_mediaeditor_add_transition_p(void);
+extern int utc_mediaeditor_add_transition_n1(void);
+extern int utc_mediaeditor_add_transition_n2(void);
+extern int utc_mediaeditor_add_transition_n3(void);
+extern int utc_mediaeditor_add_effect_p(void);
+extern int utc_mediaeditor_add_effect_n1(void);
+extern int utc_mediaeditor_add_effect_n2(void);
+extern int utc_mediaeditor_add_effect_n3(void);
+extern int utc_mediaeditor_remove_effect_p(void);
+extern int utc_mediaeditor_remove_effect_n1(void);
+extern int utc_mediaeditor_remove_effect_n2(void);
+extern int utc_mediaeditor_create_project_p(void);
+extern int utc_mediaeditor_create_project_n1(void);
+extern int utc_mediaeditor_create_project_n2(void);
+extern int utc_mediaeditor_load_project_p(void);
+extern int utc_mediaeditor_load_project_n1(void);
+extern int utc_mediaeditor_load_project_n2(void);
+extern int utc_mediaeditor_save_project_p(void);
+extern int utc_mediaeditor_save_project_n1(void);
+extern int utc_mediaeditor_save_project_n2(void);
+extern int utc_mediaeditor_set_error_cb_p(void);
+extern int utc_mediaeditor_set_error_cb_n1(void);
+extern int utc_mediaeditor_set_error_cb_n2(void);
+extern int utc_mediaeditor_unset_error_cb_p(void);
+extern int utc_mediaeditor_unset_error_cb_n1(void);
+extern int utc_mediaeditor_unset_error_cb_n2(void);
+extern int utc_mediaeditor_set_state_changed_cb_p(void);
+extern int utc_mediaeditor_set_state_changed_cb_n1(void);
+extern int utc_mediaeditor_set_state_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_state_changed_cb_p(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n1(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n2(void);
+
+testcase tc_array[] = {
+    {"utc_mediaeditor_create_p",utc_mediaeditor_create_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_n",utc_mediaeditor_create_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_p",utc_mediaeditor_destroy_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_n",utc_mediaeditor_destroy_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_p",utc_mediaeditor_set_display_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_set_display_n1",utc_mediaeditor_set_display_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n2",utc_mediaeditor_set_display_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n3",utc_mediaeditor_set_display_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_p",utc_mediaeditor_get_state_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n1",utc_mediaeditor_get_state_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n2",utc_mediaeditor_get_state_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_p",utc_mediaeditor_start_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n1",utc_mediaeditor_start_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n2",utc_mediaeditor_start_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n3",utc_mediaeditor_start_render_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n4",utc_mediaeditor_start_render_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_p",utc_mediaeditor_cancel_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n1",utc_mediaeditor_cancel_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n2",utc_mediaeditor_cancel_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_preview_p",utc_mediaeditor_start_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_start_preview_n",utc_mediaeditor_start_preview_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_p",utc_mediaeditor_stop_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_stop_preview_n1",utc_mediaeditor_stop_preview_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_n2",utc_mediaeditor_stop_preview_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_p",utc_mediaeditor_add_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n1",utc_mediaeditor_add_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n2",utc_mediaeditor_add_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_p",utc_mediaeditor_remove_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n1",utc_mediaeditor_remove_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n2",utc_mediaeditor_remove_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_p",utc_mediaeditor_move_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n1",utc_mediaeditor_move_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n2",utc_mediaeditor_move_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_p",utc_mediaeditor_activate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n1",utc_mediaeditor_activate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n2",utc_mediaeditor_activate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_p",utc_mediaeditor_deactivate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n1",utc_mediaeditor_deactivate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n2",utc_mediaeditor_deactivate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_p",utc_mediaeditor_get_layer_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n1",utc_mediaeditor_get_layer_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n2",utc_mediaeditor_get_layer_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n3",utc_mediaeditor_get_layer_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_p",utc_mediaeditor_get_layer_lowest_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n1",utc_mediaeditor_get_layer_lowest_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n2",utc_mediaeditor_get_layer_lowest_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n3",utc_mediaeditor_get_layer_lowest_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_p",utc_mediaeditor_get_layer_id_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n1",utc_mediaeditor_get_layer_id_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n2",utc_mediaeditor_get_layer_id_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n3",utc_mediaeditor_get_layer_id_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_p",utc_mediaeditor_set_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n1",utc_mediaeditor_set_layer_priority_changed_cb_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n2",utc_mediaeditor_set_layer_priority_changed_cb_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_p",utc_mediaeditor_unset_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_n",utc_mediaeditor_unset_layer_priority_changed_cb_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_p",utc_mediaeditor_add_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n1",utc_mediaeditor_add_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n2",utc_mediaeditor_add_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n3",utc_mediaeditor_add_clip_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_p",utc_mediaeditor_remove_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n1",utc_mediaeditor_remove_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n2",utc_mediaeditor_remove_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_p",utc_mediaeditor_split_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n1",utc_mediaeditor_split_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n2",utc_mediaeditor_split_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_p",utc_mediaeditor_group_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n1",utc_mediaeditor_group_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n2",utc_mediaeditor_group_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_p",utc_mediaeditor_ungroup_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n1",utc_mediaeditor_ungroup_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n2",utc_mediaeditor_ungroup_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_p",utc_mediaeditor_move_clip_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n1",utc_mediaeditor_move_clip_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n2",utc_mediaeditor_move_clip_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_p",utc_mediaeditor_get_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n1",utc_mediaeditor_get_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n2",utc_mediaeditor_get_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n3",utc_mediaeditor_get_clip_start_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_p",utc_mediaeditor_set_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n1",utc_mediaeditor_set_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n2",utc_mediaeditor_set_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_p",utc_mediaeditor_get_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n1",utc_mediaeditor_get_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n2",utc_mediaeditor_get_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n3",utc_mediaeditor_get_clip_duration_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_p",utc_mediaeditor_set_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n1",utc_mediaeditor_set_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n2",utc_mediaeditor_set_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_p",utc_mediaeditor_get_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n1",utc_mediaeditor_get_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n2",utc_mediaeditor_get_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n3",utc_mediaeditor_get_clip_in_point_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_p",utc_mediaeditor_set_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n1",utc_mediaeditor_set_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n2",utc_mediaeditor_set_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_p",utc_mediaeditor_get_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n1",utc_mediaeditor_get_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n2",utc_mediaeditor_get_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n3",utc_mediaeditor_get_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n4",utc_mediaeditor_get_clip_resolution_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_p",utc_mediaeditor_set_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n1",utc_mediaeditor_set_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n2",utc_mediaeditor_set_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n3",utc_mediaeditor_set_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_p",utc_mediaeditor_get_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n1",utc_mediaeditor_get_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n2",utc_mediaeditor_get_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n3",utc_mediaeditor_get_clip_volume_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_p",utc_mediaeditor_set_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n1",utc_mediaeditor_set_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n2",utc_mediaeditor_set_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_p",utc_mediaeditor_add_transition_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n1",utc_mediaeditor_add_transition_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n2",utc_mediaeditor_add_transition_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n3",utc_mediaeditor_add_transition_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_p",utc_mediaeditor_add_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n1",utc_mediaeditor_add_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n2",utc_mediaeditor_add_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n3",utc_mediaeditor_add_effect_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_p",utc_mediaeditor_remove_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n1",utc_mediaeditor_remove_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n2",utc_mediaeditor_remove_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_p",utc_mediaeditor_create_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n1",utc_mediaeditor_create_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n2",utc_mediaeditor_create_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_p",utc_mediaeditor_load_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n1",utc_mediaeditor_load_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n2",utc_mediaeditor_load_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_p",utc_mediaeditor_save_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n1",utc_mediaeditor_save_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n2",utc_mediaeditor_save_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_error_cb_p",utc_mediaeditor_set_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n1",utc_mediaeditor_set_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n2",utc_mediaeditor_set_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_p",utc_mediaeditor_unset_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n1",utc_mediaeditor_unset_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n2",utc_mediaeditor_unset_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_p",utc_mediaeditor_set_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n1",utc_mediaeditor_set_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n2",utc_mediaeditor_set_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_p",utc_mediaeditor_unset_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n1",utc_mediaeditor_unset_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n2",utc_mediaeditor_unset_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {NULL, NULL}
+};
+
+#endif // __TCT_MEDIAEDITOR-NATIVE_H__
diff --git a/src/utc/mediaeditor/tct-mediaeditor-core_wearable.h b/src/utc/mediaeditor/tct-mediaeditor-core_wearable.h
new file mode 100644 (file)
index 0000000..87d4e75
--- /dev/null
@@ -0,0 +1,323 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TCT_MEDIAEDITOR-NATIVE_H__
+#define __TCT_MEDIAEDITOR-NATIVE_H__
+
+#include "testcase.h"
+#include "tct_common.h"
+
+extern void utc_mediaeditor_startup(void);
+extern void utc_mediaeditor_cleanup(void);
+extern void utc_mediaeditor_startup_create_win(void);
+extern void utc_mediaeditor_cleanup_destroy_win(void);
+extern void utc_mediaeditor_startup_callback(void);
+extern void utc_mediaeditor_cleanup_callback(void);
+
+extern int utc_mediaeditor_create_p(void);
+extern int utc_mediaeditor_create_n(void);
+extern int utc_mediaeditor_destroy_p(void);
+extern int utc_mediaeditor_destroy_n(void);
+extern int utc_mediaeditor_set_display_p(void);
+extern int utc_mediaeditor_set_display_n1(void);
+extern int utc_mediaeditor_set_display_n2(void);
+extern int utc_mediaeditor_set_display_n3(void);
+extern int utc_mediaeditor_get_state_p(void);
+extern int utc_mediaeditor_get_state_n1(void);
+extern int utc_mediaeditor_get_state_n2(void);
+extern int utc_mediaeditor_start_render_p(void);
+extern int utc_mediaeditor_start_render_n1(void);
+extern int utc_mediaeditor_start_render_n2(void);
+extern int utc_mediaeditor_start_render_n3(void);
+extern int utc_mediaeditor_start_render_n4(void);
+extern int utc_mediaeditor_cancel_render_p(void);
+extern int utc_mediaeditor_cancel_render_n1(void);
+extern int utc_mediaeditor_cancel_render_n2(void);
+extern int utc_mediaeditor_start_preview_p(void);
+extern int utc_mediaeditor_start_preview_n(void);
+extern int utc_mediaeditor_stop_preview_p(void);
+extern int utc_mediaeditor_stop_preview_n1(void);
+extern int utc_mediaeditor_stop_preview_n2(void);
+extern int utc_mediaeditor_add_layer_p(void);
+extern int utc_mediaeditor_add_layer_n1(void);
+extern int utc_mediaeditor_add_layer_n2(void);
+extern int utc_mediaeditor_remove_layer_p(void);
+extern int utc_mediaeditor_remove_layer_n1(void);
+extern int utc_mediaeditor_remove_layer_n2(void);
+extern int utc_mediaeditor_move_layer_p(void);
+extern int utc_mediaeditor_move_layer_n1(void);
+extern int utc_mediaeditor_move_layer_n2(void);
+extern int utc_mediaeditor_activate_layer_p(void);
+extern int utc_mediaeditor_activate_layer_n1(void);
+extern int utc_mediaeditor_activate_layer_n2(void);
+extern int utc_mediaeditor_deactivate_layer_p(void);
+extern int utc_mediaeditor_deactivate_layer_n1(void);
+extern int utc_mediaeditor_deactivate_layer_n2(void);
+extern int utc_mediaeditor_get_layer_priority_p(void);
+extern int utc_mediaeditor_get_layer_priority_n1(void);
+extern int utc_mediaeditor_get_layer_priority_n2(void);
+extern int utc_mediaeditor_get_layer_priority_n3(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_p(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n1(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n2(void);
+extern int utc_mediaeditor_get_layer_lowest_priority_n3(void);
+extern int utc_mediaeditor_get_layer_id_p(void);
+extern int utc_mediaeditor_get_layer_id_n1(void);
+extern int utc_mediaeditor_get_layer_id_n2(void);
+extern int utc_mediaeditor_get_layer_id_n3(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n1(void);
+extern int utc_mediaeditor_set_layer_priority_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_p(void);
+extern int utc_mediaeditor_unset_layer_priority_changed_cb_n(void);
+extern int utc_mediaeditor_add_clip_p(void);
+extern int utc_mediaeditor_add_clip_n1(void);
+extern int utc_mediaeditor_add_clip_n2(void);
+extern int utc_mediaeditor_add_clip_n3(void);
+extern int utc_mediaeditor_remove_clip_p(void);
+extern int utc_mediaeditor_remove_clip_n1(void);
+extern int utc_mediaeditor_remove_clip_n2(void);
+extern int utc_mediaeditor_split_clip_p(void);
+extern int utc_mediaeditor_split_clip_n1(void);
+extern int utc_mediaeditor_split_clip_n2(void);
+extern int utc_mediaeditor_group_clip_p(void);
+extern int utc_mediaeditor_group_clip_n1(void);
+extern int utc_mediaeditor_group_clip_n2(void);
+extern int utc_mediaeditor_ungroup_clip_p(void);
+extern int utc_mediaeditor_ungroup_clip_n1(void);
+extern int utc_mediaeditor_ungroup_clip_n2(void);
+extern int utc_mediaeditor_move_clip_layer_p(void);
+extern int utc_mediaeditor_move_clip_layer_n1(void);
+extern int utc_mediaeditor_move_clip_layer_n2(void);
+extern int utc_mediaeditor_get_clip_start_p(void);
+extern int utc_mediaeditor_get_clip_start_n1(void);
+extern int utc_mediaeditor_get_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_start_n3(void);
+extern int utc_mediaeditor_set_clip_start_p(void);
+extern int utc_mediaeditor_set_clip_start_n1(void);
+extern int utc_mediaeditor_set_clip_start_n2(void);
+extern int utc_mediaeditor_get_clip_duration_p(void);
+extern int utc_mediaeditor_get_clip_duration_n1(void);
+extern int utc_mediaeditor_get_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_duration_n3(void);
+extern int utc_mediaeditor_set_clip_duration_p(void);
+extern int utc_mediaeditor_set_clip_duration_n1(void);
+extern int utc_mediaeditor_set_clip_duration_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_p(void);
+extern int utc_mediaeditor_get_clip_in_point_n1(void);
+extern int utc_mediaeditor_get_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_in_point_n3(void);
+extern int utc_mediaeditor_set_clip_in_point_p(void);
+extern int utc_mediaeditor_set_clip_in_point_n1(void);
+extern int utc_mediaeditor_set_clip_in_point_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_p(void);
+extern int utc_mediaeditor_get_clip_resolution_n1(void);
+extern int utc_mediaeditor_get_clip_resolution_n2(void);
+extern int utc_mediaeditor_get_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_resolution_n4(void);
+extern int utc_mediaeditor_set_clip_resolution_p(void);
+extern int utc_mediaeditor_set_clip_resolution_n1(void);
+extern int utc_mediaeditor_set_clip_resolution_n2(void);
+extern int utc_mediaeditor_set_clip_resolution_n3(void);
+extern int utc_mediaeditor_get_clip_volume_p(void);
+extern int utc_mediaeditor_get_clip_volume_n1(void);
+extern int utc_mediaeditor_get_clip_volume_n2(void);
+extern int utc_mediaeditor_get_clip_volume_n3(void);
+extern int utc_mediaeditor_set_clip_volume_p(void);
+extern int utc_mediaeditor_set_clip_volume_n1(void);
+extern int utc_mediaeditor_set_clip_volume_n2(void);
+extern int utc_mediaeditor_add_transition_p(void);
+extern int utc_mediaeditor_add_transition_n1(void);
+extern int utc_mediaeditor_add_transition_n2(void);
+extern int utc_mediaeditor_add_transition_n3(void);
+extern int utc_mediaeditor_add_effect_p(void);
+extern int utc_mediaeditor_add_effect_n1(void);
+extern int utc_mediaeditor_add_effect_n2(void);
+extern int utc_mediaeditor_add_effect_n3(void);
+extern int utc_mediaeditor_remove_effect_p(void);
+extern int utc_mediaeditor_remove_effect_n1(void);
+extern int utc_mediaeditor_remove_effect_n2(void);
+extern int utc_mediaeditor_create_project_p(void);
+extern int utc_mediaeditor_create_project_n1(void);
+extern int utc_mediaeditor_create_project_n2(void);
+extern int utc_mediaeditor_load_project_p(void);
+extern int utc_mediaeditor_load_project_n1(void);
+extern int utc_mediaeditor_load_project_n2(void);
+extern int utc_mediaeditor_save_project_p(void);
+extern int utc_mediaeditor_save_project_n1(void);
+extern int utc_mediaeditor_save_project_n2(void);
+extern int utc_mediaeditor_set_error_cb_p(void);
+extern int utc_mediaeditor_set_error_cb_n1(void);
+extern int utc_mediaeditor_set_error_cb_n2(void);
+extern int utc_mediaeditor_unset_error_cb_p(void);
+extern int utc_mediaeditor_unset_error_cb_n1(void);
+extern int utc_mediaeditor_unset_error_cb_n2(void);
+extern int utc_mediaeditor_set_state_changed_cb_p(void);
+extern int utc_mediaeditor_set_state_changed_cb_n1(void);
+extern int utc_mediaeditor_set_state_changed_cb_n2(void);
+extern int utc_mediaeditor_unset_state_changed_cb_p(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n1(void);
+extern int utc_mediaeditor_unset_state_changed_cb_n2(void);
+
+testcase tc_array[] = {
+    {"utc_mediaeditor_create_p",utc_mediaeditor_create_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_n",utc_mediaeditor_create_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_p",utc_mediaeditor_destroy_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_destroy_n",utc_mediaeditor_destroy_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_p",utc_mediaeditor_set_display_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_set_display_n1",utc_mediaeditor_set_display_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n2",utc_mediaeditor_set_display_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_display_n3",utc_mediaeditor_set_display_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_p",utc_mediaeditor_get_state_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n1",utc_mediaeditor_get_state_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_state_n2",utc_mediaeditor_get_state_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_p",utc_mediaeditor_start_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n1",utc_mediaeditor_start_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n2",utc_mediaeditor_start_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n3",utc_mediaeditor_start_render_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_render_n4",utc_mediaeditor_start_render_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_p",utc_mediaeditor_cancel_render_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n1",utc_mediaeditor_cancel_render_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_cancel_render_n2",utc_mediaeditor_cancel_render_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_start_preview_p",utc_mediaeditor_start_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_start_preview_n",utc_mediaeditor_start_preview_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_p",utc_mediaeditor_stop_preview_p,utc_mediaeditor_startup_create_win,utc_mediaeditor_cleanup_destroy_win},
+    {"utc_mediaeditor_stop_preview_n1",utc_mediaeditor_stop_preview_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_stop_preview_n2",utc_mediaeditor_stop_preview_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_p",utc_mediaeditor_add_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n1",utc_mediaeditor_add_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_layer_n2",utc_mediaeditor_add_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_p",utc_mediaeditor_remove_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n1",utc_mediaeditor_remove_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_layer_n2",utc_mediaeditor_remove_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_p",utc_mediaeditor_move_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n1",utc_mediaeditor_move_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_layer_n2",utc_mediaeditor_move_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_p",utc_mediaeditor_activate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n1",utc_mediaeditor_activate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_activate_layer_n2",utc_mediaeditor_activate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_p",utc_mediaeditor_deactivate_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n1",utc_mediaeditor_deactivate_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_deactivate_layer_n2",utc_mediaeditor_deactivate_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_p",utc_mediaeditor_get_layer_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n1",utc_mediaeditor_get_layer_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n2",utc_mediaeditor_get_layer_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_priority_n3",utc_mediaeditor_get_layer_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_p",utc_mediaeditor_get_layer_lowest_priority_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n1",utc_mediaeditor_get_layer_lowest_priority_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n2",utc_mediaeditor_get_layer_lowest_priority_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_lowest_priority_n3",utc_mediaeditor_get_layer_lowest_priority_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_p",utc_mediaeditor_get_layer_id_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n1",utc_mediaeditor_get_layer_id_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n2",utc_mediaeditor_get_layer_id_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_layer_id_n3",utc_mediaeditor_get_layer_id_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_p",utc_mediaeditor_set_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n1",utc_mediaeditor_set_layer_priority_changed_cb_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_layer_priority_changed_cb_n2",utc_mediaeditor_set_layer_priority_changed_cb_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_p",utc_mediaeditor_unset_layer_priority_changed_cb_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_unset_layer_priority_changed_cb_n",utc_mediaeditor_unset_layer_priority_changed_cb_n,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_p",utc_mediaeditor_add_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n1",utc_mediaeditor_add_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n2",utc_mediaeditor_add_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_clip_n3",utc_mediaeditor_add_clip_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_p",utc_mediaeditor_remove_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n1",utc_mediaeditor_remove_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_clip_n2",utc_mediaeditor_remove_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_p",utc_mediaeditor_split_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n1",utc_mediaeditor_split_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_split_clip_n2",utc_mediaeditor_split_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_p",utc_mediaeditor_group_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n1",utc_mediaeditor_group_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_group_clip_n2",utc_mediaeditor_group_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_p",utc_mediaeditor_ungroup_clip_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n1",utc_mediaeditor_ungroup_clip_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_ungroup_clip_n2",utc_mediaeditor_ungroup_clip_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_p",utc_mediaeditor_move_clip_layer_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n1",utc_mediaeditor_move_clip_layer_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_move_clip_layer_n2",utc_mediaeditor_move_clip_layer_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_p",utc_mediaeditor_get_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n1",utc_mediaeditor_get_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n2",utc_mediaeditor_get_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_start_n3",utc_mediaeditor_get_clip_start_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_p",utc_mediaeditor_set_clip_start_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n1",utc_mediaeditor_set_clip_start_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_start_n2",utc_mediaeditor_set_clip_start_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_p",utc_mediaeditor_get_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n1",utc_mediaeditor_get_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n2",utc_mediaeditor_get_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_duration_n3",utc_mediaeditor_get_clip_duration_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_p",utc_mediaeditor_set_clip_duration_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n1",utc_mediaeditor_set_clip_duration_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_duration_n2",utc_mediaeditor_set_clip_duration_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_p",utc_mediaeditor_get_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n1",utc_mediaeditor_get_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n2",utc_mediaeditor_get_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_in_point_n3",utc_mediaeditor_get_clip_in_point_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_p",utc_mediaeditor_set_clip_in_point_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n1",utc_mediaeditor_set_clip_in_point_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_in_point_n2",utc_mediaeditor_set_clip_in_point_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_p",utc_mediaeditor_get_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n1",utc_mediaeditor_get_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n2",utc_mediaeditor_get_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n3",utc_mediaeditor_get_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_resolution_n4",utc_mediaeditor_get_clip_resolution_n4,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_p",utc_mediaeditor_set_clip_resolution_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n1",utc_mediaeditor_set_clip_resolution_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n2",utc_mediaeditor_set_clip_resolution_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_resolution_n3",utc_mediaeditor_set_clip_resolution_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_p",utc_mediaeditor_get_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n1",utc_mediaeditor_get_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n2",utc_mediaeditor_get_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_get_clip_volume_n3",utc_mediaeditor_get_clip_volume_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_p",utc_mediaeditor_set_clip_volume_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n1",utc_mediaeditor_set_clip_volume_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_clip_volume_n2",utc_mediaeditor_set_clip_volume_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_p",utc_mediaeditor_add_transition_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n1",utc_mediaeditor_add_transition_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n2",utc_mediaeditor_add_transition_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_transition_n3",utc_mediaeditor_add_transition_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_p",utc_mediaeditor_add_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n1",utc_mediaeditor_add_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n2",utc_mediaeditor_add_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_add_effect_n3",utc_mediaeditor_add_effect_n3,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_p",utc_mediaeditor_remove_effect_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n1",utc_mediaeditor_remove_effect_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_remove_effect_n2",utc_mediaeditor_remove_effect_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_p",utc_mediaeditor_create_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n1",utc_mediaeditor_create_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_create_project_n2",utc_mediaeditor_create_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_p",utc_mediaeditor_load_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n1",utc_mediaeditor_load_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_load_project_n2",utc_mediaeditor_load_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_p",utc_mediaeditor_save_project_p,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n1",utc_mediaeditor_save_project_n1,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_save_project_n2",utc_mediaeditor_save_project_n2,utc_mediaeditor_startup,utc_mediaeditor_cleanup},
+    {"utc_mediaeditor_set_error_cb_p",utc_mediaeditor_set_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n1",utc_mediaeditor_set_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_error_cb_n2",utc_mediaeditor_set_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_p",utc_mediaeditor_unset_error_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n1",utc_mediaeditor_unset_error_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_error_cb_n2",utc_mediaeditor_unset_error_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_p",utc_mediaeditor_set_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n1",utc_mediaeditor_set_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_set_state_changed_cb_n2",utc_mediaeditor_set_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_p",utc_mediaeditor_unset_state_changed_cb_p,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n1",utc_mediaeditor_unset_state_changed_cb_n1,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {"utc_mediaeditor_unset_state_changed_cb_n2",utc_mediaeditor_unset_state_changed_cb_n2,utc_mediaeditor_startup_callback,utc_mediaeditor_cleanup_callback},
+    {NULL, NULL}
+};
+
+#endif // __TCT_MEDIAEDITOR-NATIVE_H__
diff --git a/src/utc/mediaeditor/utc-mediaeditor-callback.c b/src/utc/mediaeditor/utc-mediaeditor-callback.c
new file mode 100644 (file)
index 0000000..62d4d82
--- /dev/null
@@ -0,0 +1,233 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "assert.h"
+#include <media_editor.h>
+
+static mediaeditor_h g_mediaeditor = NULL;
+
+static void __mediaeditor_error_cb(mediaeditor_error_e error, mediaeditor_state_e state, void *user_data)
+{
+}
+
+static void __mediaeditor_state_changed_cb(mediaeditor_state_e previous, mediaeditor_state_e current, void *user_data)
+{
+}
+
+/**
+ * @function    utc_mediaeditor_startup
+ * @description Should be called before a test
+ */
+void utc_mediaeditor_startup_callback(void)
+{
+    int ret = mediaeditor_create(&g_mediaeditor);
+    if (ret != MEDIAEDITOR_ERROR_NONE) {
+        fprintf(stderr, "mediaeditor_create() is failed");
+        return;
+    }
+}
+
+/**
+ * @function    utc_mediaeditor_cleanup
+ * @description Should be called after a test
+ */
+void utc_mediaeditor_cleanup_callback(void)
+{
+    if (g_mediaeditor) {
+        int ret = mediaeditor_destroy(g_mediaeditor);
+        if (ret != MEDIAEDITOR_ERROR_NONE) {
+            fprintf(stderr, "mediaeditor_destroy() is failed");
+            return;
+        }
+    }
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_error_cb_p
+ * @since_tizen 7.0
+ * @description Sets error cb\n
+ *              - Create a mediaeditor handle\n
+ *              - Set error callback
+ */
+int utc_mediaeditor_set_error_cb_p(void)
+{
+    int ret = mediaeditor_set_error_cb(g_mediaeditor, __mediaeditor_error_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_error_cb_n1
+ * @since_tizen 7.0
+ * @description Sets error cb\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_error_cb_n1(void)
+{
+    int ret = mediaeditor_set_error_cb(NULL, __mediaeditor_error_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_error_cb_n2
+ * @since_tizen 7.0
+ * @description Sets error cb\n
+ *              - Pass null cb function
+ */
+int utc_mediaeditor_set_error_cb_n2(void)
+{
+    int ret = mediaeditor_set_error_cb(g_mediaeditor, NULL, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_error_cb_p
+ * @since_tizen 7.0
+ * @description Unsets error cb\n
+ *              - Set error callback\n
+ *              - Unset error callback
+ */
+int utc_mediaeditor_unset_error_cb_p(void)
+{
+    int ret = mediaeditor_set_error_cb(g_mediaeditor, __mediaeditor_error_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_unset_error_cb(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_error_cb_n1
+ * @since_tizen 7.0
+ * @description Unsets error cb
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_unset_error_cb_n1(void)
+{
+    int ret = mediaeditor_unset_error_cb(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_error_cb_n2
+ * @since_tizen 7.0
+ * @description Unsets error cb\n
+ *              - Unset error cb without setting error cb
+ */
+int utc_mediaeditor_unset_error_cb_n2(void)
+{
+    int ret = mediaeditor_unset_error_cb(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_state_changed_cb_p
+ * @since_tizen 7.0
+ * @description Sets state changed cb\n
+ *              - Set state changed callback
+ */
+int utc_mediaeditor_set_state_changed_cb_p(void)
+{
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_state_changed_cb_n1
+ * @since_tizen 7.0
+ * @description Sets state changed cb\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_state_changed_cb_n1(void)
+{
+    int ret = mediaeditor_set_state_changed_cb(NULL, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_state_changed_cb_n2
+ * @since_tizen 7.0
+ * @description Sets state changed cb\n
+ *              - Pass null cb function
+ */
+int utc_mediaeditor_set_state_changed_cb_n2(void)
+{
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, NULL, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_state_changed_cb_p
+ * @since_tizen 7.0
+ * @description Unsets state changed cb\n
+ *              - Set state changed callback\n
+ *              - Unset state changed callback
+ */
+int utc_mediaeditor_unset_state_changed_cb_p(void)
+{
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_unset_state_changed_cb(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_state_changed_cb_n1
+ * @since_tizen 7.0
+ * @description Unsets state changed cb\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_unset_state_changed_cb_n1(void)
+{
+    int ret = mediaeditor_unset_state_changed_cb(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_state_changed_cb_n2
+ * @since_tizen 7.0
+ * @description Unsets state changed cb\n
+ *              - Unset state changed cb without set error cb
+ */
+int utc_mediaeditor_unset_state_changed_cb_n2(void)
+{
+    int ret = mediaeditor_unset_state_changed_cb(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
diff --git a/src/utc/mediaeditor/utc-mediaeditor.c b/src/utc/mediaeditor/utc-mediaeditor.c
new file mode 100644 (file)
index 0000000..3d9a207
--- /dev/null
@@ -0,0 +1,3123 @@
+/*
+ * Copyright (c) 2022 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "assert.h"
+#include <glib.h>
+#include <dlog.h>
+#include <Elementary.h>
+#include <media_editor.h>
+#include <system_info.h>
+#include <pthread.h>
+
+#define API_NAMESPACE "[MEDIAEDITOR]"
+#define TIMEOUT_MS 20000
+#define GET_DISPLAY(x) (void*)(x)
+
+#define DISPLAY_FEATURE "http://tizen.org/feature/display"
+#define EXPECTED_RET(V) ((__check_display_feature()) ? V : MEDIAEDITOR_ERROR_NOT_SUPPORTED)
+
+static GMainLoop *g_mainloop_render = NULL;
+static GMainLoop *g_mainloop_state = NULL;
+static GMainLoop *g_mainloop_project = NULL;
+static int g_timeout_id = 0;
+static Evas_Object *g_win = NULL;
+static Evas_Object *g_eo = NULL;
+
+static char* g_audio_clip_filename = "audio.mp3";
+static char* g_audio_clip_path = NULL;
+static char* g_video_clip_filename = "video.mp4";
+static char* g_video_clip_path = NULL;
+static char* g_render_filename = "output.mp4";
+static char* g_render_path = NULL;
+static char* g_project_new_filename = "project_new.xges";
+static char* g_project_new_path = NULL;
+static char* g_project_load_filename = "project_load.xges";
+static char* g_project_load_path = NULL;
+static mediaeditor_state_e g_target_state = MEDIAEDITOR_STATE_IDLE;
+
+static mediaeditor_h g_mediaeditor = NULL;
+
+pthread_t g_thread_id;
+gboolean g_exit = FALSE;
+
+static bool __check_display_feature()
+{
+    bool supported = false;
+
+    if (system_info_get_platform_bool(DISPLAY_FEATURE, &supported) != SYSTEM_INFO_ERROR_NONE) {
+        dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d], failed to get feature[%s]", __FUNCTION__, __LINE__, DISPLAY_FEATURE);
+        return false;
+    }
+
+    if (!supported) {
+        dlog_print(DLOG_ERROR, "NativeTCT", "feature[%s] is not supported", DISPLAY_FEATURE);
+        return false;
+    }
+
+    return true;
+}
+
+static gboolean __timeout_func(gpointer data)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] g_main_loop_quit()", __FUNCTION__, __LINE__);
+
+    g_main_loop_quit((GMainLoop *)data);
+    return FALSE;
+}
+
+static void __quit_mainloop(GMainLoop *mainloop)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] g_main_loop_quit()", __FUNCTION__, __LINE__);
+
+    if (g_timeout_id > 0) {
+        g_source_remove(g_timeout_id);
+        g_timeout_id = 0;
+    }
+
+    if (mainloop != NULL) {
+        g_main_loop_quit(mainloop);
+    }
+}
+
+static void __run_mainloop(GMainLoop **mainloop)
+{
+    *mainloop = g_main_loop_new(NULL, FALSE);
+
+    g_timeout_id = g_timeout_add(TIMEOUT_MS, __timeout_func, *mainloop);
+
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] call g_main_loop_run()", __FUNCTION__, __LINE__);
+
+    g_main_loop_run(*mainloop);
+
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s(%d)] quit g_main_loop_run()", __FUNCTION__, __LINE__);
+
+    g_main_loop_unref(*mainloop);
+    *mainloop = NULL;
+}
+
+static void __win_del(void *data, Evas_Object *obj, void *event)
+{
+    elm_exit();
+}
+
+static void __create_window()
+{
+    int w = 0;
+    int h = 0;
+
+    if (!__check_display_feature())
+        return;
+
+    g_win = elm_win_util_standard_add("mediaeditor_utc", "mediaeditor_utc");
+    if (g_win) {
+        elm_win_borderless_set(g_win, EINA_TRUE);
+        evas_object_smart_callback_add(g_win, "delete,request", __win_del, NULL);
+        elm_win_screen_size_get(g_win, NULL, NULL, &w, &h);
+        evas_object_resize(g_win, w, h);
+        elm_win_autodel_set(g_win, EINA_TRUE);
+    }
+
+    g_eo = evas_object_image_add(evas_object_evas_get(g_win));
+
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] g_win[%p] g_eo[%p]", __FUNCTION__, __LINE__, g_win, g_eo);
+}
+
+static void __destroy_window()
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d] g_win[%p] g_eo[%p]", __FUNCTION__, __LINE__, g_win, g_eo);
+
+    if (g_win) {
+        evas_object_del(g_win);
+        g_win = NULL;
+    }
+
+    if (g_eo) {
+        evas_object_del(g_eo);
+        g_eo = NULL;
+    }
+}
+
+static void __mediaeditor_render_completed_cb(void *user_data)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d]", __FUNCTION__, __LINE__);
+
+    __quit_mainloop(g_mainloop_render);
+}
+
+static void __mediaeditor_project_loaded_cb(void *user_data)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d]", __FUNCTION__, __LINE__);
+
+    __quit_mainloop(g_mainloop_project);
+}
+
+static void __mediaeditor_state_changed_cb(mediaeditor_state_e previous, mediaeditor_state_e current, void *user_data)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d], previous state[%d], current state[%d]", __FUNCTION__, __LINE__, previous, current);
+
+    if (g_target_state == current) {
+        __quit_mainloop(g_mainloop_state);
+    }
+}
+
+static void __mediaeditor_layer_priority_changed_cb(mediaeditor_layer_info_s *layer_infos, unsigned int size, void *user_data)
+{
+    dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d]", __FUNCTION__, __LINE__);
+
+    if (layer_infos == NULL) {
+        dlog_print(DLOG_ERROR, "NativeTCT", "[%s:%d], layer_infos is null", __FUNCTION__, __LINE__);
+        return;
+    }
+
+    for (unsigned int i = 0 ; i < size ; i++) {
+        dlog_print(DLOG_DEBUG, "NativeTCT", "[%s:%d], layer id[%d], layer priority[%d]",
+            __FUNCTION__, __LINE__, layer_infos[i].id, layer_infos[i].priority);
+    }
+}
+
+/**
+ * @function    utc_mediaeditor_startup
+ * @description Should be called before a test
+ */
+void utc_mediaeditor_startup(void)
+{
+    int ret = mediaeditor_create(&g_mediaeditor);
+    if (ret != MEDIAEDITOR_ERROR_NONE) {
+        fprintf(stderr, "mediaeditor_create() is failed");
+        return;
+    }
+
+    char pszValue[CONFIG_VALUE_LEN_MAX] = {0,};
+    if (true == GetValueForTCTSetting("DEVICE_SUITE_TARGET_30", pszValue, API_NAMESPACE)) {
+        PRINT_UTC_LOG("[Line : %d][%s] 'DEVICE_SUITE_TARGET_30' Values Received = %s\\n", __LINE__, API_NAMESPACE,  pszValue);
+
+        unsigned int size_of_path = strlen(pszValue) + strlen(g_audio_clip_filename) + 11;
+        g_audio_clip_path = (char*)malloc(size_of_path);
+        snprintf(g_audio_clip_path, size_of_path, "%s/res/%s", pszValue, g_audio_clip_filename);
+
+        size_of_path = strlen(pszValue) + strlen(g_video_clip_filename) + 11;
+        g_video_clip_path = (char*)malloc(size_of_path);
+        snprintf(g_video_clip_path, size_of_path, "%s/res/%s", pszValue, g_video_clip_filename);
+
+        size_of_path = strlen(pszValue) + strlen(g_render_filename) + 11;
+        g_render_path = (char*)malloc(size_of_path);
+        snprintf(g_render_path, size_of_path, "%s/res/%s", pszValue, g_render_filename);
+
+        size_of_path = strlen(pszValue) + strlen(g_project_new_filename) + 11;
+        g_project_new_path = (char*)malloc(size_of_path);
+        snprintf(g_project_new_path, size_of_path, "%s/res/%s", pszValue, g_project_new_filename);
+
+        size_of_path = strlen(pszValue) + strlen(g_project_load_filename) + 11;
+        g_project_load_path = (char*)malloc(size_of_path);
+        snprintf(g_project_load_path, size_of_path, "%s/res/%s", pszValue, g_project_load_filename);
+    } else {
+        PRINT_UTC_LOG("[Line : %d][%s] GetValueForTCTSetting returned error for 'DEVICE_SUITE_TARGET_30'\\n", __LINE__, API_NAMESPACE);
+    }
+}
+
+/**
+ * @function    utc_mediaeditor_cleanup
+ * @description Should be called after a test
+ */
+void utc_mediaeditor_cleanup(void)
+{
+    if (g_audio_clip_path) {
+        free(g_audio_clip_path);
+        g_audio_clip_path = NULL;
+    }
+
+    if (g_video_clip_path) {
+        free(g_video_clip_path);
+        g_video_clip_path = NULL;
+    }
+
+    if (g_render_path) {
+        free(g_render_path);
+        g_render_path = NULL;
+    }
+
+    if (g_project_new_path) {
+        free(g_project_new_path);
+        g_project_new_path = NULL;
+    }
+
+    if (g_project_load_path) {
+        free(g_project_load_path);
+        g_project_load_path = NULL;
+    }
+
+    if (g_mediaeditor) {
+        int ret = mediaeditor_destroy(g_mediaeditor);
+        if (ret != MEDIAEDITOR_ERROR_NONE) {
+            fprintf(stderr, "mediaeditor_destroy() is failed");
+            return;
+        }
+    }
+}
+
+/**
+ * @function    utc_mediaeditor_startup_create_win
+ * @description Should be called before a test using a window
+ */
+void utc_mediaeditor_startup_create_win(void)
+{
+    __create_window();
+
+    utc_mediaeditor_startup();
+}
+
+/**
+ * @function    utc_mediaeditor_cleanup_destroy_win
+ * @description Should be called after the test using a window
+ */
+void utc_mediaeditor_cleanup_destroy_win(void)
+{
+    __destroy_window();
+
+    utc_mediaeditor_cleanup();
+}
+
+/**
+ * @testcase    utc_mediaeditor_create_p
+ * @since_tizen 7.0
+ * @description Creates a mediaeditor handle
+ */
+int utc_mediaeditor_create_p(void)
+{
+    mediaeditor_h mediaeditor = NULL;
+
+    int ret = mediaeditor_create(&mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_destroy(mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_create_n
+ * @since_tizen 7.0
+ * @description Creates a mediaeditor handle\n
+ *              - Pass a invalid parameter
+ */
+int utc_mediaeditor_create_n(void)
+{
+    int ret = mediaeditor_create(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_destroy_p
+ * @since_tizen 7.0
+ * @description Destroys the mediaeditor handle\n
+ *              - Create a mediaeditor handle\n
+ *              - Pass the mediaeditor handle to destroy
+ */
+int utc_mediaeditor_destroy_p(void)
+{
+    mediaeditor_h mediaeditor = NULL;
+
+    int ret = mediaeditor_create(&mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_destroy(mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_destroy_n
+ * @since_tizen 7.0
+ * @description Destroys the mediaeditor handle\n
+ *              - Pass the null mediaeditor handle
+ */
+int utc_mediaeditor_destroy_n(void)
+{
+    int ret = mediaeditor_destroy(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_display_p
+ * @since_tizen 7.0
+ * @description Sets display\n
+ *              - Pass evas object
+ */
+int utc_mediaeditor_set_display_p(void)
+{
+    int ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_EVAS, GET_DISPLAY(g_eo));
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_display_n1
+ * @since_tizen 7.0
+ * @description Sets display\n
+ *              - Pass the null mediaeditor handle
+ */
+int utc_mediaeditor_set_display_n1(void)
+{
+    int ret = mediaeditor_set_display(NULL, MEDIAEDITOR_DISPLAY_TYPE_EVAS, GET_DISPLAY(g_eo));
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_display_n2
+ * @since_tizen 7.0
+ * @description Sets display\n
+ *              - Pass null display handle
+ */
+int utc_mediaeditor_set_display_n2(void)
+{
+    int ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_EVAS, NULL);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_display_n3
+ * @since_tizen 7.0
+ * @description Sets display\n
+ *              - Pass invalid display type
+ */
+int utc_mediaeditor_set_display_n3(void)
+{
+    int ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_NONE + 1, NULL);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_OVERLAY - 1, NULL);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_state_p
+ * @since_tizen 7.0
+ * @description Gets the mediaeditor state\n
+ *              - Get state of the handle
+ */
+int utc_mediaeditor_get_state_p(void)
+{
+    mediaeditor_state_e state = MEDIAEDITOR_STATE_IDLE;
+
+    int ret = mediaeditor_get_state(g_mediaeditor, &state);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(state, MEDIAEDITOR_STATE_IDLE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_state_n1
+ * @since_tizen 7.0
+ * @description Gets the mediaeditor state\n
+ *              - Pass null parameter
+ */
+int utc_mediaeditor_get_state_n1(void)
+{
+    int ret = mediaeditor_get_state(g_mediaeditor, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_state_n2
+ * @since_tizen 7.0
+ * @description Gets the mediaeditor state\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_state_n2(void)
+{
+    mediaeditor_state_e state = MEDIAEDITOR_STATE_IDLE;
+
+    int ret = mediaeditor_get_state(NULL, &state);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_render_p
+ * @since_tizen 7.0
+ * @description Starts rendering\n
+ *              - Adds layer and clip\n
+ *              - Starts rendering
+ */
+int utc_mediaeditor_start_render_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 5000;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_start_render(g_mediaeditor, g_render_path, __mediaeditor_render_completed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    /* Wait to receive render completed callback */
+    __run_mainloop(&g_mainloop_render);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_render_n1
+ * @since_tizen 7.0
+ * @description Starts rendering\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_start_render_n1(void)
+{
+    int ret = mediaeditor_start_render(NULL, g_render_path, __mediaeditor_render_completed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_render_n2
+ * @since_tizen 7.0
+ * @description Starts rendering\n
+ *              - Pass null path parameter
+ */
+int utc_mediaeditor_start_render_n2(void)
+{
+    int ret = mediaeditor_start_render(g_mediaeditor, NULL, __mediaeditor_render_completed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_render_n3
+ * @since_tizen 7.0
+ * @description Starts rendering\n
+ *              - Pass null callback parameter
+ */
+int utc_mediaeditor_start_render_n3(void)
+{
+    int ret = mediaeditor_start_render(g_mediaeditor, g_render_path, NULL, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_render_n4
+ * @since_tizen 7.0
+ * @description Starts rendering\n
+ *              - Start rendering without adding clip
+ */
+int utc_mediaeditor_start_render_n4(void)
+{
+    int ret = mediaeditor_start_render(g_mediaeditor, g_render_path, __mediaeditor_render_completed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_cancel_render_p
+ * @since_tizen 7.0
+ * @description Cancels rendering\n
+ *              - Start rendering\n
+ *              - Cancel rendering
+ */
+int utc_mediaeditor_cancel_render_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 10000;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    g_target_state = MEDIAEDITOR_STATE_RENDERING;
+
+    ret = mediaeditor_start_render(g_mediaeditor, g_render_path, __mediaeditor_render_completed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    /* Wait state transition : IDLE -> RENDERING */
+     __run_mainloop(&g_mainloop_state);
+
+    ret = mediaeditor_cancel_render(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_cancel_render_n1
+ * @since_tizen 7.0
+ * @description Cancels rendering\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_cancel_render_n1(void)
+{
+    int ret = mediaeditor_cancel_render(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_cancel_render_n2
+ * @since_tizen 7.0
+ * @description Cancels rendering\n
+ *              - Cancel rendering in invalid state
+ */
+int utc_mediaeditor_cancel_render_n2(void)
+{
+    int ret = mediaeditor_cancel_render(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_STATE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_preview_p
+ * @since_tizen 7.0
+ * @description Starts preview\n
+ *              - Set diaplay\n
+ *              - Add a layer and a clip\n
+ *              - Start and stop preview
+ */
+int utc_mediaeditor_start_preview_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_EVAS, GET_DISPLAY(g_eo));
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, 0, 5000, 0, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    g_target_state = MEDIAEDITOR_STATE_PREVIEW;
+
+    ret = mediaeditor_start_preview(g_mediaeditor);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    /* Wait state transition : IDLE -> PREVIEW */
+    __run_mainloop(&g_mainloop_state);
+
+    ret = mediaeditor_stop_preview(g_mediaeditor);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_start_preview_n
+ * @since_tizen 7.0
+ * @description Starts preview\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_start_preview_n(void)
+{
+    int ret = mediaeditor_start_preview(NULL);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_stop_preview_p
+ * @since_tizen 7.0
+ * @description Stops preview\n
+ *              - Set error callback\n
+ *              - Set display type and handle\n
+ *              - Add a layer and a clip\n
+ *              - Start preview\n
+ *              - Wait preview is started and stop preview
+ */
+int utc_mediaeditor_stop_preview_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_set_state_changed_cb(g_mediaeditor, __mediaeditor_state_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_display(g_mediaeditor, MEDIAEDITOR_DISPLAY_TYPE_EVAS, GET_DISPLAY(g_eo));
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, 0, 5000, 0, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    g_target_state = MEDIAEDITOR_STATE_PREVIEW;
+
+    ret = mediaeditor_start_preview(g_mediaeditor);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    /* Wait changing state to PREVIEW */
+    __run_mainloop(&g_mainloop_state);
+
+    ret = mediaeditor_stop_preview(g_mediaeditor);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_NONE));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_stop_preview_n1
+ * @since_tizen 7.0
+ * @description Stops preview\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_stop_preview_n1(void)
+{
+    int ret = mediaeditor_stop_preview(NULL);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_PARAMETER));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_stop_preview_n2
+ * @since_tizen 7.0
+ * @description Stops preview\n
+ *              - Stop preview in invalid state
+ */
+int utc_mediaeditor_stop_preview_n2(void)
+{
+    int ret = mediaeditor_stop_preview(g_mediaeditor);
+    assert_eq(ret, EXPECTED_RET(MEDIAEDITOR_ERROR_INVALID_STATE));
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_layer_p
+ * @since_tizen 7.0
+ * @description Adds layer\n
+ *              - Add a layer
+ */
+int utc_mediaeditor_add_layer_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_layer_n1
+ * @since_tizen 7.0
+ * @description Adds layer\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_add_layer_n1(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(NULL, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_layer_n2
+ * @since_tizen 7.0
+ * @description Adds layer\n
+ *              - Add a layer\n
+ *              - Pass null layer parameter
+ */
+int utc_mediaeditor_add_layer_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, NULL, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_layer_p
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Add a layer and remove it
+ */
+int utc_mediaeditor_remove_layer_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_remove_layer(g_mediaeditor, layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_layer_n1
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_remove_layer_n1(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_remove_layer(NULL, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_layer_n2
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Removes invalid layer
+ */
+int utc_mediaeditor_remove_layer_n2(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_remove_layer(g_mediaeditor, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_layer_p
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Add 2 layers\n
+ *              - Move layer to existing layer priority
+ */
+int utc_mediaeditor_move_layer_p(void)
+{
+    unsigned int layer_id1 = 0;
+    unsigned int layer_id2 = 0;
+    unsigned int layer_priority1 = 0;
+    unsigned int layer_priority2 = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id1, &layer_priority1);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id2, &layer_priority2);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_move_layer(g_mediaeditor, layer_id1, layer_priority2);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_layer_n1
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_move_layer_n1(void)
+{
+    int ret = mediaeditor_move_layer(NULL, 0, 1);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_layer_n2
+ * @since_tizen 7.0
+ * @description Removes layer\n
+ *              - Move invalid layer
+ */
+int utc_mediaeditor_move_layer_n2(void)
+{
+    unsigned int layer_id = 1;
+    unsigned int layer_priority = 1;
+
+    int ret = mediaeditor_move_layer(g_mediaeditor, layer_id, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_activate_layer_p
+ * @since_tizen 7.0
+ * @description Activates layer\n
+ *              - Add a layer and activate it
+ */
+int utc_mediaeditor_activate_layer_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_activate_layer(g_mediaeditor, layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_activate_layer_n1
+ * @since_tizen 7.0
+ * @description Activates layer\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_activate_layer_n1(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_activate_layer(NULL, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_activate_layer_n2
+ * @since_tizen 7.0
+ * @description Activates layer\n
+ *              - Activate invalid layer
+ */
+int utc_mediaeditor_activate_layer_n2(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_activate_layer(g_mediaeditor, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_deactivate_layer_p
+ * @since_tizen 7.0
+ * @description Deactivates layer\n
+ *              - Add a layer and deactivate it
+ */
+int utc_mediaeditor_deactivate_layer_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_deactivate_layer(g_mediaeditor, layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_deactivate_layer_n1
+ * @since_tizen 7.0
+ * @description Deactivates layer\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_deactivate_layer_n1(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_deactivate_layer(NULL, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_deactivate_layer_n2
+ * @since_tizen 7.0
+ * @description Deactivates layer\n
+ *              - Deactivate invalid layer
+ */
+int utc_mediaeditor_deactivate_layer_n2(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_deactivate_layer(g_mediaeditor, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_priority_p
+ * @since_tizen 7.0
+ * @description Gets the layer priority\n
+ *              - Add a layer\n
+ *              - Get layer priority
+ */
+int utc_mediaeditor_get_layer_priority_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_priority(g_mediaeditor, layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_priority_n1
+ * @since_tizen 7.0
+ * @description Gets the layer priority\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_layer_priority_n1(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_get_layer_priority(NULL, layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_priority_n2
+ * @since_tizen 7.0
+ * @description Gets the layer priority\n
+ *              - Add a layer\n
+ *              - Pass null layer priority parameter
+ */
+int utc_mediaeditor_get_layer_priority_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_priority(g_mediaeditor, layer_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_priority_n3
+ * @since_tizen 7.0
+ * @description Gets the layer priority\n
+ *              - Pass invalid layer id
+ */
+int utc_mediaeditor_get_layer_priority_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_get_layer_priority(g_mediaeditor, layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_lowest_priority_p
+ * @since_tizen 7.0
+ * @description Gets the layer lowest priority\n
+ *              - Add the first layer\n
+ *              - Get layer lowest priority and compare it with the first layer\n
+ *              - Add the second layer\n
+ *              - Get layer lowest priority and compare it with the second layer
+ */
+int utc_mediaeditor_get_layer_lowest_priority_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int layer_lowest_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_lowest_priority(g_mediaeditor, &layer_lowest_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(layer_lowest_priority, 0);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_lowest_priority(g_mediaeditor, &layer_lowest_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(layer_lowest_priority, 1);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_lowest_priority_n1
+ * @since_tizen 7.0
+ * @description Gets the layer lowest priority\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_layer_lowest_priority_n1(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_get_layer_lowest_priority(NULL, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_lowest_priority_n2
+ * @since_tizen 7.0
+ * @description Gets the layer lowest priority\n
+ *              - Pass null layer lowest priority parameter
+ */
+int utc_mediaeditor_get_layer_lowest_priority_n2(void)
+{
+    int ret = mediaeditor_get_layer_lowest_priority(g_mediaeditor, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_lowest_riority_n3
+ * @since_tizen 7.0
+ * @description Gets the layer lowest priority\n
+ *              - Get layer lowest priority without adding a layer
+ */
+int utc_mediaeditor_get_layer_lowest_priority_n3(void)
+{
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_get_layer_lowest_priority(g_mediaeditor, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_id_p
+ * @since_tizen 7.0
+ * @description Gets the layer id\n
+ *              - Add 2 layers\n
+ *              - Get layer id
+ */
+int utc_mediaeditor_get_layer_id_p(void)
+{
+    unsigned int layer_id1 = 0;
+    unsigned int layer_id2 = 0;
+    unsigned int get_layer_id = 0;
+    unsigned int layer_priority1 = 0;
+    unsigned int layer_priority2 = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id1, &layer_priority1);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id2, &layer_priority2);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_id(g_mediaeditor, layer_priority2, &get_layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(get_layer_id, layer_id2);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_id_n1
+ * @since_tizen 7.0
+ * @description Gets the layer id\n
+ *              - Add 2 layers\n
+ *              - Get layer id
+ */
+int utc_mediaeditor_get_layer_id_n1(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_get_layer_id(NULL, layer_priority, &layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_id_n2
+ * @since_tizen 7.0
+ * @description Gets the layer id\n
+ *              - Add a layer\n
+ *              - Pass null layer id parameter
+ */
+int utc_mediaeditor_get_layer_id_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_id(g_mediaeditor, layer_priority, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_layer_id_n3
+ * @since_tizen 7.0
+ * @description Gets the layer id\n
+ *              - Add a layer\n
+ *              - Get layer lowest priority
+ */
+int utc_mediaeditor_get_layer_id_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int get_layer_id = 0;
+    unsigned int layer_priority = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_layer_id(g_mediaeditor, 10, &get_layer_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_layer_priority_changed_cb_p
+ * @since_tizen 7.0
+ * @description Set layer priority changed callback\n
+ *              - Set layer priority changed callback
+ */
+int utc_mediaeditor_set_layer_priority_changed_cb_p(void)
+{
+    int ret = mediaeditor_set_layer_priority_changed_cb(g_mediaeditor, __mediaeditor_layer_priority_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_layer_priority_changed_cb_n1
+ * @since_tizen 7.0
+ * @description Set layer priority changed callback\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_layer_priority_changed_cb_n1(void)
+{
+    int ret = mediaeditor_set_layer_priority_changed_cb(NULL, __mediaeditor_layer_priority_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_layer_priority_changed_cb_n2
+ * @since_tizen 7.0
+ * @description Set layer priority changed callback\n
+ *              - Pass null callback parameter
+ */
+int utc_mediaeditor_set_layer_priority_changed_cb_n2(void)
+{
+    int ret = mediaeditor_set_layer_priority_changed_cb(g_mediaeditor, NULL, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_layer_priority_changed_cb_p
+ * @since_tizen 7.0
+ * @description Unset layer priority changed callback\n
+ *              - Set layer priority changed callback and unset it
+ */
+int utc_mediaeditor_unset_layer_priority_changed_cb_p(void)
+{
+    int ret = mediaeditor_set_layer_priority_changed_cb(g_mediaeditor, __mediaeditor_layer_priority_changed_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_unset_layer_priority_changed_cb(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_unset_layer_priority_changed_cb_n
+ * @since_tizen 7.0
+ * @description Unset layer priority changed callback\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_unset_layer_priority_changed_cb_n(void)
+{
+    int ret = mediaeditor_unset_layer_priority_changed_cb(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_clip_p
+ * @since_tizen 7.0
+ * @description Adds clip\n
+ *              - Add a layer and a clip
+ */
+int utc_mediaeditor_add_clip_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_clip_n1
+ * @since_tizen 7.0
+ * @description Adds clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_add_clip_n1(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_clip(NULL, g_video_clip_path, layer_priority, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_clip_n2
+ * @since_tizen 7.0
+ * @description Adds clip\n
+ *              - Pass null path
+ */
+int utc_mediaeditor_add_clip_n2(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_clip(g_mediaeditor, NULL, layer_priority, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_clip_n3
+ * @since_tizen 7.0
+ * @description Adds clip\n
+ *              - Adds clip with invalid layer priority
+ */
+int utc_mediaeditor_add_clip_n3(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_priority, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_clip_p
+ * @since_tizen 7.0
+ * @description Removes clip\n
+ *              - Add a layer and a clip\n
+ *              - Remove clip
+ */
+int utc_mediaeditor_remove_clip_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_remove_clip(g_mediaeditor, clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_clip_n1
+ * @since_tizen 7.0
+ * @description Removes clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_remove_clip_n1(void)
+{
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_remove_clip(NULL, clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_clip_2
+ * @since_tizen 7.0
+ * @description Removes clip\n\
+ *              - Add a layer\n
+ *              - Remove invalid clip
+ */
+int utc_mediaeditor_remove_clip_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_remove_clip(g_mediaeditor, clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_split_clip_p
+ * @since_tizen 7.0
+ * @description Splits clip\n
+ *              - Add a layer and a clip\n
+ *              - Split clip
+ */
+int utc_mediaeditor_split_clip_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int split_clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_split_clip(g_mediaeditor, clip_id, duration / 2, &split_clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_split_clip_n1
+ * @since_tizen 7.0
+ * @description Splits clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_split_clip_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int split_clip_id = 0;
+
+    int ret = mediaeditor_split_clip(NULL, clip_id, 100, &split_clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_split_clip_n2
+ * @since_tizen 7.0
+ * @description Splits clip\n
+ *              - Add a layer\n
+ *              - Split invalid clip
+ */
+int utc_mediaeditor_split_clip_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int split_clip_id = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_split_clip(g_mediaeditor, clip_id, 50, &split_clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_group_clip_p
+ * @since_tizen 7.0
+ * @description Groups clip\n
+ *              - Add a layer and 2 clips\n
+ *              - Group clips
+ */
+int utc_mediaeditor_group_clip_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_ids[2] = { 0 };
+    unsigned int group_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_ids[0]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start + duration, duration, in_point, &clip_ids[1]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_group_clip(g_mediaeditor, clip_ids, 2, &group_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_group_clip_n1
+ * @since_tizen 7.0
+ * @description Groups clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_group_clip_n1(void)
+{
+    unsigned int clip_ids[2] = { 0 };
+    unsigned int group_id = 0;
+
+    int ret = mediaeditor_group_clip(NULL, clip_ids, 2, &group_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_group_clip_n2
+ * @since_tizen 7.0
+ * @description Groups clip\n
+ *              - Add a layer and a clip\n
+ *              - Group clip
+ */
+int utc_mediaeditor_group_clip_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_ids[2] = { 0 };
+    unsigned int group_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_ids[0]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_group_clip(g_mediaeditor, clip_ids, 2, &group_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_ungroup_clip_p
+ * @since_tizen 7.0
+ * @description Ungroups clip\n
+ *              - Add a layer and 2 clips\n
+ *              - Group clips and ungroup it
+ */
+int utc_mediaeditor_ungroup_clip_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_ids[2] = { 0 };
+    unsigned int *ungrouped_clip_ids;
+    unsigned int ungrouped_clip_size = 0;
+    unsigned int group_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_ids[0]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start + duration, duration, in_point, &clip_ids[1]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_group_clip(g_mediaeditor, clip_ids, 2, &group_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_ungroup_clip(g_mediaeditor, group_id, &ungrouped_clip_ids, &ungrouped_clip_size);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(ungrouped_clip_size, 2);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_ungroup_clip_n1
+ * @since_tizen 7.0
+ * @description Ungroups clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_ungroup_clip_n1(void)
+{
+    unsigned int *ungrouped_clip_ids;
+    unsigned int ungrouped_clip_size = 0;
+    unsigned int group_id = 0;
+
+    int ret = mediaeditor_ungroup_clip(NULL, group_id, &ungrouped_clip_ids, &ungrouped_clip_size);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_ungroup_clip_n2
+ * @since_tizen 7.0
+ * @description Ungroups clip\n
+ *              - Add a layer and 2 clips\n
+ *              - Group clips\n
+ *              - Ungroup invalid group id
+ */
+int utc_mediaeditor_ungroup_clip_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_ids[2] = { 0 };
+    unsigned int *ungrouped_clip_ids;
+    unsigned int ungrouped_clip_size = 0;
+    unsigned int group_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_ids[0]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start + duration, duration, in_point, &clip_ids[1]);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_group_clip(g_mediaeditor, clip_ids, 2, &group_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_ungroup_clip(g_mediaeditor, group_id + 1, &ungrouped_clip_ids, &ungrouped_clip_size);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_clip_layer_p
+ * @since_tizen 7.0
+ * @description Moves the layer of clip\n
+ *              - Add 2 layers and a clip\n
+ *              - Move clip layer
+ */
+int utc_mediaeditor_move_clip_layer_p(void)
+{
+    unsigned int layer_id1 = 0;
+    unsigned int layer_id2 = 0;
+    unsigned int layer_priority1 = 0;
+    unsigned int layer_priority2 = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id1, &layer_priority1);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_layer(g_mediaeditor, &layer_id2, &layer_priority2);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id1, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_move_clip_layer(g_mediaeditor, clip_id, layer_priority2);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_clip_layer_n1
+ * @since_tizen 7.0
+ * @description Moves the layer of clip
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_move_clip_layer_n1(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_move_clip_layer(NULL, clip_id, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_move_clip_layer_n2
+ * @since_tizen 7.0
+ * @description Moves the layer of clip\n
+ *              - Add a layer
+ *              - Move invalid clip
+ */
+int utc_mediaeditor_move_clip_layer_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_move_clip_layer(g_mediaeditor, clip_id, layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_start_p
+ * @since_tizen 7.0
+ * @description Gets the starting position of clip\n
+ *              - Add a layer and a clip
+ *              - Get clip start value
+ */
+int utc_mediaeditor_get_clip_start_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int get_start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_start(g_mediaeditor, clip_id, &get_start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(get_start, start);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_start_n1
+ * @since_tizen 7.0
+ * @description Gets the starting position of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_clip_start_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int get_start = 0;
+
+    int ret = mediaeditor_get_clip_start(NULL, clip_id, &get_start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_start_n2
+ * @since_tizen 7.0
+ * @description Gets the starting position of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get start value with null start parameter
+ */
+int utc_mediaeditor_get_clip_start_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_start(g_mediaeditor, clip_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_start_n3
+ * @since_tizen 7.0
+ * @description Gets the starting position of clip\n
+ *              - Add a layer\n
+ *              - Get start value with invalid clip id
+ */
+int utc_mediaeditor_get_clip_start_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int get_start = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_start(g_mediaeditor, clip_id, &get_start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_start_p
+ * @since_tizen 7.0
+ * @description Sets the starting position of clip\n
+ *              - Add a layer and a clip\n
+ *              - Set clip start value and get it
+ */
+int utc_mediaeditor_set_clip_start_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int set_start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_start(g_mediaeditor, clip_id, set_start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_start(g_mediaeditor, clip_id, &start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(set_start, start);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_start_n1
+ * @since_tizen 7.0
+ * @description Sets the starting position of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_clip_start_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+
+    int ret = mediaeditor_set_clip_start(NULL, clip_id, start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_start_n2
+ * @since_tizen 7.0
+ * @description Sets the starting position of clip\n
+ *              - Add a layer\n
+ *              - Set start value with invalid clip id
+ */
+int utc_mediaeditor_set_clip_start_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_start(g_mediaeditor, clip_id, start);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_duration_p
+ * @since_tizen 7.0
+ * @description Gets the duration of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get clip duration value
+ */
+int utc_mediaeditor_get_clip_duration_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int get_duration = 0;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_duration(g_mediaeditor, clip_id, &get_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(get_duration, duration);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_duration_n1
+ * @since_tizen 7.0
+ * @description Gets the duration of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_clip_duration_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int get_duration = 0;
+
+    int ret = mediaeditor_get_clip_duration(NULL, clip_id, &get_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_duration_n2
+ * @since_tizen 7.0
+ * @description Gets the duration of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get duration value with null duration parameter
+ */
+int utc_mediaeditor_get_clip_duration_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_duration(g_mediaeditor, clip_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_duration_n3
+ * @since_tizen 7.0
+ * @description Gets the duration of clip\n
+ *              - Add a layer\n
+ *              - Get duration value with invalid clip id
+ */
+int utc_mediaeditor_get_clip_duration_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int get_duration = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_duration(g_mediaeditor, clip_id, &get_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_duration_p
+ * @since_tizen 7.0
+ * @description Sets the duration of clip\n
+ *              - Add a layer and a clip\n
+ *              - Set duration value and get it
+ */
+int utc_mediaeditor_set_clip_duration_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int set_duration = 200;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_duration(g_mediaeditor, clip_id, set_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_duration(g_mediaeditor, clip_id, &duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(set_duration, duration);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_duration_n1
+ * @since_tizen 7.0
+ * @description Sets the duration of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_clip_duration_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int set_duration = 100;
+
+    int ret = mediaeditor_set_clip_duration(NULL, clip_id, set_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_duration_n2
+ * @since_tizen 7.0
+ * @description Sets the duration of clip\n
+ *              - Add a layer\n
+ *              - Sets duration value with invalid clip id
+ */
+int utc_mediaeditor_set_clip_duration_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int duration = 100;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_duration(g_mediaeditor, clip_id, duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_in_point_p
+ * @since_tizen 7.0
+ * @description Gets the in_point of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get clip in_pint value
+ */
+int utc_mediaeditor_get_clip_in_point_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int get_in_point = 10;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_in_point(g_mediaeditor, clip_id, &get_in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(get_in_point, in_point);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_in_point_n1
+ * @since_tizen 7.0
+ * @description Gets the in_point of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_clip_in_point_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int get_in_point = 0;
+
+    int ret = mediaeditor_get_clip_in_point(NULL, clip_id, &get_in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_in_point_n2
+ * @since_tizen 7.0
+ * @description Gets the in_point of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get in_point value with null in_point parameter
+ */
+int utc_mediaeditor_get_clip_in_point_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_in_point(g_mediaeditor, clip_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_in_point_n3
+ * @since_tizen 7.0
+ * @description Gets the in_point of clip\n
+ *              - Add a layer\n
+ *              - Gets in_point value with invalid clip id
+ */
+int utc_mediaeditor_get_clip_in_point_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int get_in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_in_point(g_mediaeditor, clip_id, &get_in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_in_point_p
+ * @since_tizen 7.0
+ * @description Sets the in_point of clip\n
+ *              - Add a layer and a clip\n
+ *              - Set in_point value and get it
+ */
+int utc_mediaeditor_set_clip_in_point_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int set_in_point = 200;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_in_point(g_mediaeditor, clip_id, set_in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_in_point(g_mediaeditor, clip_id, &in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(set_in_point, in_point);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_in_point_n1
+ * @since_tizen 7.0
+ * @description Sets the in_point of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_clip_in_point_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int set_in_point = 100;
+
+    int ret = mediaeditor_set_clip_in_point(NULL, clip_id, set_in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_in_point_n2
+ * @since_tizen 7.0
+ * @description Sets the in_point of clip\n
+ *              - Add a layer\n
+ *              - Sets in_point value with invalid clip id
+ */
+int utc_mediaeditor_set_clip_in_point_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int in_point = 100;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_in_point(g_mediaeditor, clip_id, in_point);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_resolution_p
+ * @since_tizen 7.0
+ * @description Gets the resolution of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get resolution value
+ */
+int utc_mediaeditor_get_clip_resolution_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int width = 0;
+    unsigned int height = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, &width, &height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_resolution_n1
+ * @since_tizen 7.0
+ * @description Gets the resolution of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_clip_resolution_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int width = 0;
+    unsigned int height = 0;
+
+    int ret = mediaeditor_get_clip_resolution(NULL, clip_id, &width, &height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_resolution_n2
+ * @since_tizen 7.0
+ * @description Gets the resolution of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get resolution value with null parameter
+ */
+int utc_mediaeditor_get_clip_resolution_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+    unsigned int width = 0;
+    unsigned int height = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, NULL, &height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, &width, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_resolution_n3
+ * @since_tizen 7.0
+ * @description Gets the resolution of clip\n
+ *              - Add a layer\n
+ *              - Get resolution value with invalid clip id
+ */
+int utc_mediaeditor_get_clip_resolution_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int width = 0;
+    unsigned int height = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, &width, &height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_resolution_n4
+ * @since_tizen 7.0
+ * @description Gets the resolution of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get resolution with audio clip
+ */
+int utc_mediaeditor_get_clip_resolution_n4(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int width = 0;
+    unsigned int height = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_audio_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, &width, &height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_resolution_p
+ * @since_tizen 7.0
+ * @description Sets the resolution of clip\n
+ *              - Add a layer and a clip\n
+ *              - Set resolution value and get it
+ */
+int utc_mediaeditor_set_clip_resolution_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int set_width = 320;
+    unsigned int set_height = 160;
+    unsigned int get_width = 0;
+    unsigned int get_height = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_resolution(g_mediaeditor, clip_id, set_width, set_height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_resolution(g_mediaeditor, clip_id, &get_width, &get_height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(set_width, get_width);
+    assert_eq(set_height, get_height);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_resolution_n1
+ * @since_tizen 7.0
+ * @description Sets the resolution of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_clip_resolution_n1(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int width = 320;
+    unsigned int height = 160;
+
+    int ret = mediaeditor_set_clip_resolution(NULL, clip_id, width, height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_resolution_n2
+ * @since_tizen 7.0
+ * @description Sets the resolution of clip\n
+ *              - Set resolution with invalid clip id
+ */
+int utc_mediaeditor_set_clip_resolution_n2(void)
+{
+    unsigned int clip_id = 0;
+    unsigned int width = 320;
+    unsigned int height = 160;
+
+    int ret = mediaeditor_set_clip_resolution(g_mediaeditor, clip_id, width, height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_resolution_n3
+ * @since_tizen 7.0
+ * @description Sets the resolution of clip\n
+ *              - Add a layer and a clip\n
+ *              - Set resolution value with audio clip
+ */
+int utc_mediaeditor_set_clip_resolution_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    unsigned int set_width = 320;
+    unsigned int set_height = 160;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_audio_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_resolution(g_mediaeditor, clip_id, set_width, set_height);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_volume_p
+ * @since_tizen 7.0
+ * @description Gets the volume of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get volume value
+ */
+int utc_mediaeditor_get_clip_volume_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    double volume = 0.0;
+    double default_volume = 1.0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_volume(g_mediaeditor, clip_id, &volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(volume, default_volume);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_volume_n1
+ * @since_tizen 7.0
+ * @description Gets the volume of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_get_clip_volume_n1(void)
+{
+    unsigned int clip_id = 0;
+    double volume = 0.0;
+
+    int ret = mediaeditor_get_clip_volume(NULL, clip_id, &volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_volume_n2
+ * @since_tizen 7.0
+ * @description Gets the volume of clip\n
+ *              - Add a layer and a clip\n
+ *              - Gets volume value with null volume parameter
+ */
+int utc_mediaeditor_get_clip_volume_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_volume(g_mediaeditor, clip_id, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_get_clip_volume_n3
+ * @since_tizen 7.0
+ * @description Gets the volume of clip\n
+ *              - Add a layer\n
+ *              - Gets volume with invalid clip id
+ */
+int utc_mediaeditor_get_clip_volume_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    double volume = 0.0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_volume(g_mediaeditor, clip_id, &volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_volume_p
+ * @since_tizen 7.0
+ * @description Sets the volume of clip\n
+ *              - Add a layer and a clip\n
+ *              - Get default volume value and check it\n
+ *              - Set volume value and get it, check it
+ */
+int utc_mediaeditor_set_clip_volume_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 10;
+    unsigned int duration = 100;
+    unsigned int in_point = 100;
+    double set_volume = 0.5;
+    double get_volume = 0.0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_set_clip_volume(g_mediaeditor, clip_id, set_volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_get_clip_volume(g_mediaeditor, clip_id, &get_volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+    assert_eq(get_volume, set_volume);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_volume_n1
+ * @since_tizen 7.0
+ * @description Sets the volume of clip\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_set_clip_volume_n1(void)
+{
+    unsigned int clip_id = 0;
+    double volume = 1.0;
+
+    int ret = mediaeditor_set_clip_volume(NULL, clip_id, volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_set_clip_volume_n2
+ * @since_tizen 7.0
+ * @description Sets the volume of clip\n
+ *              - Sets volume value with invalid clip id
+ */
+int utc_mediaeditor_set_clip_volume_n2(void)
+{
+    unsigned int clip_id = 0;
+    double volume = 1.0;
+
+    int ret = mediaeditor_set_clip_volume(g_mediaeditor, clip_id, volume);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_transition_p
+ * @since_tizen 7.0
+ * @description Adds transition\n
+ *              - Add a layer and 2 clips\n
+ *              - Add transition
+ */
+int utc_mediaeditor_add_transition_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int in_point = 0;
+    unsigned int transition_start = 0;
+    unsigned int transition_duration = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start + (duration / 2), duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    transition_start = start + (duration / 2);
+    transition_duration = duration / 2;
+
+    ret = mediaeditor_add_transition(g_mediaeditor, MEDIAEDITOR_TRANSITION_TYPE_CROSSFADE, layer_id, transition_start, transition_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_transition_n1
+ * @since_tizen 7.0
+ * @description Adds transition\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_add_transition_n1(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int transition_start = 0;
+    unsigned int transition_duration = 100;
+
+    int ret = mediaeditor_add_transition(NULL, MEDIAEDITOR_TRANSITION_TYPE_CROSSFADE, layer_priority, transition_start, transition_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_transition_n2
+ * @since_tizen 7.0
+ * @description Adds transition\n
+ *              - Add a layer and 2 clips\n
+ *              - Pass invalid type parameter
+ */
+int utc_mediaeditor_add_transition_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int in_point = 0;
+    unsigned int transition_start = 0;
+    unsigned int transition_duration = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start + (duration / 2), duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    transition_start = start + (duration / 2);
+    transition_duration = duration / 2;
+
+    ret = mediaeditor_add_transition(g_mediaeditor, MEDIAEDITOR_TRANSITION_TYPE_CROSSFADE + 1, layer_priority, transition_start, transition_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    ret = mediaeditor_add_transition(g_mediaeditor, MEDIAEDITOR_TRANSITION_TYPE_NONE - 1, layer_priority, transition_start, transition_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_transition_n3
+ * @since_tizen 7.0
+ * @description Adds transition\n
+ *              - Pass invalid layer priority
+ */
+int utc_mediaeditor_add_transition_n3(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int transition_start = 0;
+    unsigned int transition_duration = 0;
+
+    transition_start = start + (duration / 2);
+    transition_duration = duration / 2;
+
+    int ret = mediaeditor_add_transition(g_mediaeditor, MEDIAEDITOR_TRANSITION_TYPE_CROSSFADE, layer_priority, transition_start, transition_duration);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_effect_p
+ * @since_tizen 7.0
+ * @description Adds effect\n
+ *              - Add a layer and a clip\n
+ *              - Add a effect
+ */
+int utc_mediaeditor_add_effect_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int effect_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_effect(g_mediaeditor, MEDIAEDITOR_EFFECT_VIDEO_TYPE_AGINGTV, layer_id, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_effect_n1
+ * @since_tizen 7.0
+ * @description Adds effect\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_add_effect_n1(void)
+{
+    unsigned int layer_priority = 0;
+    unsigned int effect_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+
+    int ret = mediaeditor_add_effect(NULL, MEDIAEDITOR_EFFECT_VIDEO_TYPE_AGINGTV, layer_priority, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_effect_n2
+ * @since_tizen 7.0
+ * @description Adds effect\n
+ *              - Add a layer\n
+ *              - Pass invalid type parameter
+ */
+int utc_mediaeditor_add_effect_n2(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int effect_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_effect(g_mediaeditor, MEDIAEDITOR_EFFECT_AUDIO_TYPE_ECHO + 1, layer_id, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    ret = mediaeditor_add_effect(g_mediaeditor, MEDIAEDITOR_EFFECT_TYPE_NONE - 1, layer_id, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_add_effect_n3
+ * @since_tizen 7.0
+ * @description Adds effect\n
+ *              - Add a clip\n
+ *              - Pass invalid layer id
+ */
+int utc_mediaeditor_add_effect_n3(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int effect_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_effect(g_mediaeditor, MEDIAEDITOR_EFFECT_VIDEO_TYPE_AGINGTV, layer_id + 1, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_effect_p
+ * @since_tizen 7.0
+ * @description Removes effect\n
+ *              - Add a layer and a clip\n
+ *              - Add a effect and remove it
+ */
+int utc_mediaeditor_remove_effect_p(void)
+{
+    unsigned int layer_id = 0;
+    unsigned int layer_priority = 0;
+    unsigned int clip_id = 0;
+    unsigned int effect_id = 0;
+    unsigned int start = 0;
+    unsigned int duration = 200;
+    unsigned int in_point = 0;
+
+    int ret = mediaeditor_add_layer(g_mediaeditor, &layer_id, &layer_priority);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_clip(g_mediaeditor, g_video_clip_path, layer_id, start, duration, in_point, &clip_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_add_effect(g_mediaeditor, MEDIAEDITOR_EFFECT_VIDEO_TYPE_AGINGTV, layer_id, start, duration, &effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_remove_effect(g_mediaeditor, effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_effect_n1
+ * @since_tizen 7.0
+ * @description Removes effect\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_remove_effect_n1(void)
+{
+    unsigned int effect_id = 0;
+
+    int ret = mediaeditor_remove_effect(NULL, effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_remove_effect_n2
+ * @since_tizen 7.0
+ * @description Removes effect\n
+ *              - Pass invalid effect_id
+ */
+int utc_mediaeditor_remove_effect_n2(void)
+{
+    unsigned int effect_id = 0;
+
+    int ret = mediaeditor_remove_effect(g_mediaeditor, effect_id);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_create_project_p
+ * @since_tizen 7.0
+ * @description Creates project\n
+ *              - Create a project
+ */
+int utc_mediaeditor_create_project_p(void)
+{
+    int ret = mediaeditor_create_project(g_mediaeditor, g_project_new_path);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_create_project_n1
+ * @since_tizen 7.0
+ * @description Creates project\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_create_project_n1(void)
+{
+    int ret = mediaeditor_create_project(NULL, g_project_new_path);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_create_project_n2
+ * @since_tizen 7.0
+ * @description Creates project\n
+ *              - Pass null path parameter
+ */
+int utc_mediaeditor_create_project_n2(void)
+{
+    int ret = mediaeditor_create_project(g_mediaeditor, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_load_project_p
+ * @since_tizen 7.0
+ * @description Loads project\n
+ *              - Load a project
+ */
+int utc_mediaeditor_load_project_p(void)
+{
+    int ret = mediaeditor_load_project(g_mediaeditor, g_project_load_path, __mediaeditor_project_loaded_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    __run_mainloop(&g_mainloop_project);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_load_project_n1
+ * @since_tizen 7.0
+ * @description Loads project\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_load_project_n1(void)
+{
+    int ret = mediaeditor_load_project(NULL, g_project_load_path, __mediaeditor_project_loaded_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_load_project_n2
+ * @since_tizen 7.0
+ * @description Loads project\n
+ *              - Load a project with null path parameter
+ */
+int utc_mediaeditor_load_project_n2(void)
+{
+    int ret = mediaeditor_load_project(g_mediaeditor, NULL, __mediaeditor_project_loaded_cb, NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_save_project_p
+ * @since_tizen 7.0
+ * @description Saves project\n
+ *              - Create a project and save it
+ */
+int utc_mediaeditor_save_project_p(void)
+{
+    int ret = mediaeditor_create_project(g_mediaeditor, g_project_new_path);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    ret = mediaeditor_save_project(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_NONE);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_save_project_n1
+ * @since_tizen 7.0
+ * @description Saves project\n
+ *              - Pass null mediaeditor handle
+ */
+int utc_mediaeditor_save_project_n1(void)
+{
+    int ret = mediaeditor_save_project(NULL);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_PARAMETER);
+
+    return 0;
+}
+
+/**
+ * @testcase    utc_mediaeditor_save_project_n2
+ * @since_tizen 7.0
+ * @description Saves project\n
+ *              - Saves project which is not loaded or created before
+ */
+int utc_mediaeditor_save_project_n2(void)
+{
+    int ret = mediaeditor_save_project(g_mediaeditor);
+    assert_eq(ret, MEDIAEDITOR_ERROR_INVALID_OPERATION);
+
+    return 0;
+}