186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru/*
286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * Copyright (C) 2011 The Android Open Source Project
386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru *
486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * Licensed under the Apache License, Version 2.0 (the "License");
586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * you may not use this file except in compliance with the License.
686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * You may obtain a copy of the License at
786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru *
886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru *      http://www.apache.org/licenses/LICENSE-2.0
986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru *
1086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * Unless required by applicable law or agreed to in writing, software
1186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * distributed under the License is distributed on an "AS IS" BASIS,
1286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * See the License for the specific language governing permissions and
1486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru * limitations under the License.
1586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru */
1686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
17db6028508c8eb31a0de1dcdfc410ddfe6df7c5adXia Wangpackage com.android.mediaframeworktest.functional.videoeditor;
1886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
1986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport java.io.File;
2086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport java.util.List;
2186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
2286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.graphics.Bitmap;
2386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.graphics.Rect;
2486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.AudioTrack;
2586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.EffectColor;
2686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.EffectKenBurns;
2786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.ExtractAudioWaveformProgressListener;
2886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.MediaImageItem;
2986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.MediaItem;
3086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.MediaProperties;
3186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.MediaVideoItem;
3286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.OverlayFrame;
3386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.Transition;
3486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.TransitionAlpha;
3586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.TransitionCrossfade;
3686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.TransitionFadeBlack;
3786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.TransitionSliding;
3886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.VideoEditor;
3986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.os.Environment;
4086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.test.ActivityInstrumentationTestCase;
4186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.media.videoeditor.VideoEditor.MediaProcessingProgressListener;
4286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
4386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.util.Log;
4486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport java.lang.annotation.Annotation;
4586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
4686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport com.android.mediaframeworktest.MediaFrameworkTest;
4786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport android.test.suitebuilder.annotation.LargeTest;
4886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguruimport com.android.mediaframeworktest.VideoEditorHelper;
4986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
5086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattagurupublic class VideoEditorAPITest extends
5186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        ActivityInstrumentationTestCase<MediaFrameworkTest> {
5286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private final String TAG = "VideoEditorTest";
5386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
5486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private final String PROJECT_LOCATION = VideoEditorHelper.PROJECT_LOCATION_COMMON;
5586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
5686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private final String INPUT_FILE_PATH = VideoEditorHelper.INPUT_FILE_PATH_COMMON;
5786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
5886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private final String PROJECT_CLASS_NAME =
5986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        "android.media.videoeditor.VideoEditorImpl";
6086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private VideoEditor mVideoEditor;
6186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    private VideoEditorHelper mVideoEditorHelper;
6286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
6386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public VideoEditorAPITest() {
6486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        super("com.android.mediaframeworktest", MediaFrameworkTest.class);
6586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
6686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
6786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @Override
6886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    protected void setUp() throws Exception {
6986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        // setup for each test case.
7086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        super.setUp();
7186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditorHelper = new VideoEditorHelper();
7286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        // Create a random String which will be used as project path, where all
7386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        // project related files will be stored.
7486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String projectPath = mVideoEditorHelper.
7586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            createRandomFile(PROJECT_LOCATION);
7686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor = mVideoEditorHelper.createVideoEditor(projectPath);
7786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
7886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
7986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @Override
8086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    protected void tearDown() throws Exception {
8186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditorHelper.destroyVideoEditor(mVideoEditor);
8286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        // Clean the directory created as project path
8386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditorHelper.deleteProject(new File(mVideoEditor.getPath()));
8486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        System.gc();
8586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        super.tearDown();
8686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
8786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
8886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
8986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test Creation of Media Video Item.
9086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
9186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_001
9286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
9386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItem() throws Exception {
9486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
9586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
9686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =
9786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_BLACK_BORDER;
9886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
9986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
10086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
10186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
10286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
10386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Video ID",
10486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getId().equals("mediaVideoItem1"));
10586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Video Filename",
10686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getFilename().equals(videoItemFileName));
10786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Video Rendering Mode",
10886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemRenderingMode, mediaVideoItem1.getRenderingMode());
10986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Video Item Duration", mediaVideoItem1.getDuration(),
11086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration());
11186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Video Overlay", 0,
11286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getAllOverlays().size());
11386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Video Effect", 0,
11486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getAllEffects().size());
11586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Media Video Begin transition",
11686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getBeginTransition());
11786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Media Video End transition",
11886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getEndTransition());
11986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(1000,11000);
12086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
12186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        if (mediaVideoItem1.getDuration() !=
12286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration()) {
12386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
12486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
12586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Video Item Duration & Timeline are same",
12686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException );
12786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
12886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
12986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
13086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test creation of Media Video Item with Set Extract Boundaries With Get
13186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * the Begin and End Time.
13286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
13386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_002
13486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
13586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemExtractBoundaries() throws Exception {
13686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
13786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
13886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
13986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
14086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
14186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
14286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
14386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
14486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
14586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(1000, 11000);
14686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item Duration = StoryBoard Duration",
14786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration(), mVideoEditor.getDuration());
14886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
14986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setExtractBoundaries(0, 100000000);
15086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
15186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
15286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
15386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Set Extract with Invalid Values endTime > FileDuration",
15486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
15586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
15686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
15786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
15886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setExtractBoundaries(100000000, 11000);
15986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
16086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
16186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
16286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Set Extract with Invalid Values startTime > endTime",
16386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
16486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
16586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
16686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
16786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setExtractBoundaries(0, 0);
16886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
16986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
17086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
17186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Set Extract with Invalid Values startTime = endTime",
17286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
17386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
17486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(1000, 10000);
17586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Item Duration is still the same",
17686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getTimelineDuration() ==
17786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getBoundaryEndTime()-
17886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getBoundaryBeginTime())) ? true : false);
17986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
18086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(1,mediaVideoItem1.getDuration()-1);
18186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item Start Time", 1,
18286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getBoundaryBeginTime());
18386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item End Time", (mediaVideoItem1.getDuration() - 1),
18486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getBoundaryEndTime());
18586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
18686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(1, mediaVideoItem1.getDuration());
18786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item Duration = StoryBoard Duration",
18886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration(), mVideoEditor.getDuration());
18986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
19086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0,mediaVideoItem1.getDuration()/2);
19186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item Duration = StoryBoard Duration",
19286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration(), mVideoEditor.getDuration());
19386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
19486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, -1);
19586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item Duration = StoryBoard Duration",
19686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getTimelineDuration(), mVideoEditor.getDuration());
19786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
19886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
19986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
20086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test creation of Media Video Item with Set and Get rendering Mode
20186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
20286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_003
20386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
20486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemRenderingModes() throws Exception {
20586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
20686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
20786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode= MediaItem.RENDERING_MODE_BLACK_BORDER;
20886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
20986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
21086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
21186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
21286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
21386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setRenderingMode(MediaItem.RENDERING_MODE_CROPPING);
21486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
21586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_CROPPING,
21686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getRenderingMode());
21786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
21886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setRenderingMode(
21986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                MediaItem.RENDERING_MODE_CROPPING + 911);
22086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
22186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
22286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
22386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Item Invalid rendering Mode", flagForException);
22486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
22586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
22686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setRenderingMode(
22786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                MediaItem.RENDERING_MODE_BLACK_BORDER - 11);
22886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
22986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
23086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
23186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Item Invalid rendering Mode", flagForException);
23286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
23386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_CROPPING,
23486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getRenderingMode());
23586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setRenderingMode(MediaItem.RENDERING_MODE_STRETCH);
23686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
23786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_STRETCH,
23886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getRenderingMode());
23986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
24086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
24186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /** Test Case  TC_API_004 is removed */
24286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
24386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
24486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Video API : Set Audio Volume, Get Audio Volume and Mute
24586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
24686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_005
24786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
24886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemAudioFeatures() throws Exception {
24986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
25086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
25186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
25286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
25386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
25486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
25586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
25686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
25786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setVolume(77);
25886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Updated Volume is 77", 77, mediaVideoItem1.getVolume());
25986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
26086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setMute(true);
26186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio must be Muted", mediaVideoItem1.isMuted());
26286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
26386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setVolume(78);
26486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Updated Volume is 78", 78, mediaVideoItem1.getVolume());
26586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio must be Muted", mediaVideoItem1.isMuted());
26686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
26786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
26886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setVolume(1000);
26986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
27086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
27186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
27286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Set Volume", flagForException);
27386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
27486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setMute(false);
27586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio must be Un-Muted", mediaVideoItem1.isMuted());
27686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
27786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setVolume(0);
27886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio must be Un-Muted", mediaVideoItem1.isMuted());
27986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
28086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
28186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
28286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setVolume(-1);
28386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
28486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
28586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
28686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Set Volume", flagForException);
28786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
28886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setVolume(100);
28986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaItem Volume", 100, mediaVideoItem1.getVolume());
29086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
29186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.setVolume(101);
29286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
29386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
29486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
29586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Set Volume", flagForException);
29686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaItem Volume", 100, mediaVideoItem1.getVolume());
29786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
29886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
29986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
30086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Video API : GetWaveFormData and
30186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * extractAudioWaveFormData
30286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
30386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
30486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_006
30586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
30686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemGetWaveformData() throws Exception {
30786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
30886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
30986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
31086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
31186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
31286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
31386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
31486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
31586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
31686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("WaveForm data", mediaVideoItem1.getWaveformData());
31786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int[] progressWaveform = new int[105];
31886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
31986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.extractAudioWaveform(new
32086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            ExtractAudioWaveformProgressListener() {
32186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                int i = 0;
32286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                public void onProgress(int progress) {
32386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                    Log.i("WaveformData","progress=" +progress);
32486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                    progressWaveform[i++] = progress;
32586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                }
32686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            });
32786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Progress of WaveForm data", mVideoEditorHelper
32886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            .checkProgressCBValues(progressWaveform));
32986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("WaveForm data", mediaVideoItem1.getWaveformData());
33086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Frame Duration",
33186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getWaveformData().getFrameDuration() > 0?
33286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
33386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Frame Count",
33486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getWaveformData().getFramesCount() > 0 ?
33586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
33686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Gain",
33786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getWaveformData().getFrameGains().length > 0 ?
33886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
33986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
34086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
34186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
34286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
34386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Video API : Get Effect, GetAllEffects, remove Effect
34486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
34586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
34686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_007
34786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
34886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemEffect() throws Exception {
34986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
35086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
35186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
35286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 = mVideoEditorHelper.
35386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            createMediaItem(mVideoEditor, "mediaVideoItem1", videoItemFileName,
35486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemRenderingMode);
35586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
35686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
35786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
35886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllEffects().size() == 0) ? true : false);
35986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by ID", mediaVideoItem1.getEffect("xyx"));
36086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
36186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor = mVideoEditorHelper.createEffectItem(
36286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "Effecton MVi1", 0, 4000, EffectColor.TYPE_GRADIENT,
36386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.GRAY);
36486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor);
36586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
36686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size", (mediaVideoItem1.
36786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            getAllEffects().size() == 1) ? true : false);
36886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Item by Valid ID", effectColor,
36986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getEffect(effectColor.getId()));
37086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by Invalid ID",
37186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getEffect("xyz"));
37286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by Invalid ID",
37386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.removeEffect("effectId"));
37486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
37586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllEffects().size() == 1) ? true : false);
37686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Removed", effectColor,
37786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.removeEffect(effectColor.getId()));
37886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
37986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllEffects().size() == 0) ? true : false);
38086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by ID", mediaVideoItem1.getEffect("effectId"));
38186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
38286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
38386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
38486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Video API : Get Before and after transition
38586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
38686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
38786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_008
38886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
38986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemTransitions() throws Exception {
39086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
39186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
39286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
39386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
39486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
39586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
39686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
39786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Begin Transition", mediaVideoItem1.getBeginTransition());
39886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("End Transition", mediaVideoItem1.getEndTransition());
39986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
40086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionFadeBlack transition1 =
40186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition1", mediaVideoItem1,
40286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            null, 0, Transition.BEHAVIOR_SPEED_UP);
40386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1);
40486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Begin transition", transition1,
40586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getEndTransition());
40686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
40786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("End Transition", mediaVideoItem1.getEndTransition());
40886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1.
40986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            getEndTransition().getId().equals(transition1.getId()));
41086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1.getEndTransition().getDuration() ==
41186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1.getDuration() ? true : false);
41286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1.getEndTransition().getBehavior() ==
41386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1.getBehavior() ? true : false);
41486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
41586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionFadeBlack transition2 = mVideoEditorHelper.createTFadeBlack(
41686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "transition2", null,mediaVideoItem1, 0, Transition.BEHAVIOR_LINEAR);
41786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2);
41886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("Begin transition", mediaVideoItem1.getBeginTransition());
41986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("End Transition", transition2,
42086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getBeginTransition());
42186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1.
42286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            getBeginTransition().getId().equals(transition2.getId()));
42386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1. getBeginTransition().getDuration() ==
42486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2.getDuration() ? true : false);
42586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaVideoItem1.getBeginTransition().getBehavior() ==
42686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2.getBehavior() ? true : false);
42786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
42886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
42986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
43086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Video API : Get All Overlay, Get Overlay and remove Overlay
43186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
43286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
43386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
43486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_009
43586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
43686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaVideoItemOverlays() throws Exception {
43786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH
43886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_32kHz_128kbps_s_0_26.3gp";
43986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayItemFileName = INPUT_FILE_PATH +
44086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "IMG_176x144_Overlay1.png";
44186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
44286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
44386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
44486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
44586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
44686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
44786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
44886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllOverlays().size() == 0) ? true : false);
44986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by ID", mediaVideoItem1.getOverlay("xyz"));
45086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
45186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayItemFileName,
45286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            176, 144);
45386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame = mVideoEditorHelper.createOverlay(
45486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "overlayId", mBitmap, 5000, 5000);
45586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addOverlay(overlayFrame);
45686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
45786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
45886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllOverlays().size() == 1) ? true : false);
45986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Item by Valid ID", overlayFrame, mediaVideoItem1
46086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            .getOverlay(overlayFrame.getId()));
46186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by Invalid ID",
46286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getOverlay("xyz"));
46386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by Invalid ID",
46486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.removeOverlay("xyz"));
46586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
46686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllOverlays().size() == 1) ? true : false);
46786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Removed", overlayFrame,
46886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.removeOverlay(overlayFrame.getId()));
46986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
47086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaVideoItem1.getAllOverlays().size() == 0) ? true : false);
47186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by ID",mediaVideoItem1.getOverlay("effectId"));
47286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
47386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
47486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
47586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test Creation of Media Image Item.
47686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
47786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_010
47886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
47986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItem() throws Exception {
48086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
48186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
48286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
48386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
48486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFileName, 5000, imageItemRenderingMode);
48586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Image ID",
48686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getId().equals("mediaImageItem1"));
48786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media IMage Filename",
48886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getFilename().equals(imageItemFileName));
48986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Rendering Mode",
49086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemRenderingMode, mediaImageItem1.getRenderingMode());
49186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Item Duration", mediaImageItem1.getDuration(),
49286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getTimelineDuration());
49386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Overlay", 0,
49486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getAllOverlays().size());
49586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Effect", 0,
49686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getAllEffects().size());
49786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Media Image Begin transition",
49886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getBeginTransition());
49986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Media Image End transition",
50086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getEndTransition());
50186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Scaled Height", MediaProperties.HEIGHT_720,
50286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledHeight());
50386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Scaled Width", 960,
50486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledWidth());
50586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Image Aspect Ratio", MediaProperties.ASPECT_RATIO_4_3,
50686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getAspectRatio());
50786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("Media Image Thumbnail",
50886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getThumbnail(960, MediaProperties.HEIGHT_720, 2000));
50986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
51086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
51186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
51286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : Get and Set rendering Mode
51386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
51486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_011
51586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
51686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemRenderingModes() throws Exception {
51786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
51886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
51986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
52086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
52186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
52286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, imageItemRenderingMode, 5000);
52386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
52486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
52586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.setRenderingMode(MediaItem.RENDERING_MODE_CROPPING);
52686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
52786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_CROPPING, mediaImageItem1.getRenderingMode());
52886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
52986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.setRenderingMode(
53086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                MediaItem.RENDERING_MODE_CROPPING + 911);
53186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
53286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
53386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
53486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Item Invalid rendering Mode", flagForException);
53586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
53686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
53786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
53886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.setRenderingMode(
53986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                MediaItem.RENDERING_MODE_BLACK_BORDER - 11);
54086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
54186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
54286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
54386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Media Item Invalid rendering Mode", flagForException);
54486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
54586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
54686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_CROPPING,
54786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getRenderingMode());
54886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.setRenderingMode(MediaItem.RENDERING_MODE_STRETCH);
54986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("MediaVideo Item rendering Mode",
55086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            MediaItem.RENDERING_MODE_STRETCH,
55186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getRenderingMode());
55286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
55386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
55486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
55586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : GetHeight and GetWidth
55686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
55786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_012
55886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
55986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemHeightWidth() throws Exception {
56086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_640x480.jpg";
56186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
56286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
56386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
56486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, imageItemRenderingMode, 5000);
56586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
56686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
56786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Image Height = Image Scaled Height",
56886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledHeight(), mediaImageItem1.getHeight());
56986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Image Width = Image Scaled Width",
57086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledWidth(), mediaImageItem1.getWidth());
57186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
57286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
57386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
57486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
57586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru/**    This Test Case can be removed as this is already checked in TC 010 */
57686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
57786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : Scaled Height and Scaled GetWidth
57886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
57986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_013
58086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
58186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemScaledHeightWidth() throws Exception {
58286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
58386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
58486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
58586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
58686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
58786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, imageItemRenderingMode, 5000);
58886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
58986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
59086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotSame("Image Height = Image Scaled Height",
59186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledHeight(), mediaImageItem1.getHeight());
59286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotSame("Image Width = Image Scaled Width",
59386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getScaledWidth(), mediaImageItem1.getWidth());
59486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
59586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
59686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
59786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : Get Effect, GetAllEffects, remove Effect
59886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
59986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
60086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_014
60186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
60286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemEffect() throws Exception {
60386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
60486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
60586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
60686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
60786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 5000, imageItemRenderingMode);
60886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
60986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
61086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
61186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllEffects().size() == 0) ? true : false);
61286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by ID", mediaImageItem1.getEffect("xyx"));
61386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
61486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor =
61586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaImageItem1,
61686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "Effecton MVi1", 0, 4000, EffectColor.TYPE_GRADIENT, EffectColor.GRAY);
61786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.addEffect(effectColor);
61886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
61986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
62086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllEffects().size() == 1) ? true : false);
62186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Item by Valid ID",
62286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor, mediaImageItem1.getEffect(effectColor.getId()));
62386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by Invalid ID",
62486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getEffect("xyz"));
62586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by Invalid ID",
62686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.removeEffect("effectId"));
62786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
62886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllEffects().size() == 1) ? true : false);
62986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Removed", effectColor,
63086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.removeEffect(effectColor.getId()));
63186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect List Size",
63286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllEffects().size() == 0) ? true : false);
63386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Effect Item by ID", mediaImageItem1.getEffect("effectId"));
63486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
63586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
63686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
63786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : Get Before and after transition
63886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
63986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
64086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_015
64186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
64286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemTransitions() throws Exception {
64386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
64486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
64586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
64686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
64786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 5000, imageItemRenderingMode);
64886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
64986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
65086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Begin Transition", mediaImageItem1.getBeginTransition());
65186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("End Transition", mediaImageItem1.getEndTransition());
65286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
65386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionFadeBlack transition1 =
65486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition1", mediaImageItem1,
65586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            null, 0, Transition.BEHAVIOR_SPEED_UP);
65686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1);
65786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
65886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Begin transition", transition1,
65986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getEndTransition());
66086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("End Transition", mediaImageItem1.getEndTransition());
66186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getEndTransition().getId().equals
66286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (transition1.getId()));
66386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getEndTransition().getDuration() ==
66486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1.getDuration() ? true : false);
66586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getEndTransition().getBehavior() ==
66686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1.getBehavior() ? true : false);
66786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
66886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionFadeBlack transition2 = mVideoEditorHelper.createTFadeBlack(
66986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "transition2",null, mediaImageItem1, 0, Transition.BEHAVIOR_SPEED_UP);
67086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2);
67186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
67286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("Begin transition", mediaImageItem1.getBeginTransition());
67386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("End Transition", transition2,
67486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getBeginTransition());
67586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getBeginTransition().getId().equals(
67686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2.getId()));
67786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getBeginTransition().getDuration() ==
67886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2.getDuration() ? true : false);
67986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue(mediaImageItem1.getBeginTransition().getBehavior() ==
68086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2.getBehavior() ? true : false);
68186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
68286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
68386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
68486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Media Image API : Get All Overlay, Get Overlay and remove
68586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * Overlay
68686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
68786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
68886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_016
68986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
69086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testMediaImageItemOverlays() throws Exception {
69186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_640x480.jpg";
69286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayItemFileName = INPUT_FILE_PATH +
69386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "IMG_640x480_Overlay1.png";
69486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
69586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
69686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
69786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 12000, imageItemRenderingMode);
69886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
69986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
70086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
70186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllOverlays().size() == 0) ? true : false);
70286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by ID", mediaImageItem1.getOverlay("xyz"));
70386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayItemFileName,
70486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            640, 480);
70586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame =
70686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaImageItem1, "overlayId",
70786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mBitmap, 5000, 5000);
70886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.addOverlay(overlayFrame);
70986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
71086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
71186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllOverlays().size() == 1) ? true : false);
71286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Item by Valid ID", overlayFrame, mediaImageItem1
71386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            .getOverlay(overlayFrame.getId()));
71486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by Invalid ID",
71586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getOverlay("xyz"));
71686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Remove Overlay Item by Invalid ID",
71786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.removeOverlay("xyz"));
71886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
71986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllOverlays().size() == 1) ? true : false);
72086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Removed",
72186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame, mediaImageItem1.removeOverlay(overlayFrame.getId()));
72286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay List Size",
72386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem1.getAllOverlays().size() == 0) ? true : false);
72486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("Overlay Item by ID",
72586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1.getOverlay("effectId"));
72686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
72786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
72886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
72986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test creation of Audio Track
73086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
73186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
73286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_017
73386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
73486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrack() throws Exception {
73586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
73686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
73786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
73886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
73986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
74086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
74186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Item Duration", audioTrack.getDuration(),
74286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getTimelineDuration());
74386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start Time", 0, audioTrack.getStartTime());
74486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track is Looping", audioTrack.isLooping());
74586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.getVolume();
74686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track Ducking is Disabled",
74786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.isDuckingEnabled());
74886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track Filename",
74986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getFilename().equals(audioFileName));
75086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru         assertEquals("Audio Ducking Threshold", 0,
75186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getDuckingThreshhold());
75286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru         assertFalse("Audio Track Mute", audioTrack.isMuted());
75386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru         audioTrack.getDuckedTrackVolume();
75486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
75586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
75686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
75786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test creation of Audio Track with set extract boundaries
75886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
75986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_018
76086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
76186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackExtractBoundaries() throws Exception {
76286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
76386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
76486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
76586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
76686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
76786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
76886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
76986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setExtractBoundaries(1000, 5000);
77086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start time", 1000,
77186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryBeginTime());
77286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track End time", 5000,
77386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryEndTime());
77486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
77586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setExtractBoundaries(0, 100000000);
77686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
77786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
77886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
77986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track With endTime > FileDuration", flagForException);
78086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
78186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
78286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setExtractBoundaries(100000000, 5000);
78386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
78486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
78586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
78686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track With startTime > FileDuration",
78786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
78886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
78986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
79086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setExtractBoundaries(0, 0);
79186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
79286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
79386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
79486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        /* This is under discussion.  Hence, checked for False */
79586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track With startTime = endTime", flagForException);
79686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start time", 0,
79786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryBeginTime());
79886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track End time", 0,
79986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryEndTime());
80086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start time",0,
80186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryBeginTime());
80286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track End time", (audioTrack.getTimelineDuration()),
80386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryEndTime());
80486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setExtractBoundaries(0, audioTrack.getDuration() / 2);
80586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start time",0,
80686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryBeginTime());
80786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track End time", (audioTrack.getDuration() / 2),
80886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryEndTime());
80986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setExtractBoundaries(1, audioTrack.getDuration() - 1);
81086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start time", 1,
81186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryBeginTime());
81286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track End time", (audioTrack.getDuration() - 1),
81386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getBoundaryEndTime());
81486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
81586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
81686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
81786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                audioTrack.setExtractBoundaries(0, -1);
81886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
81986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
82086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
82186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue ("Audio Track end time < 0",flagForException);
82286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
82386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
82486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
82586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test creation of Audio Track with set Start Time and Get Time
82686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
82786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_019
82886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
82986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackSetGetTime() throws Exception {
83086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
83186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
83286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
83386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
83486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
83586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
83686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        /** set StartTime API is removed and start time is always 0 */
83786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Start Time", 0, audioTrack.getStartTime());
83886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
83986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
84086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
84186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Audio Track API: Enable Ducking
84286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
84386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_020
84486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
84586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackEnableDucking() throws Exception {
84686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
84786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
84886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
84986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
85086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
85186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
85286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
85386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Ducking Disabled by default",
85486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.isDuckingEnabled());
85586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.enableDucking(45, 70);
85686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Ducking Enabled", audioTrack.isDuckingEnabled());
85786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Ducking Threshold", 45,
85886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getDuckingThreshhold());
85986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Ducking Volume", 70,
86086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getDuckedTrackVolume());
86186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.enableDucking(85, 70);
86286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Ducking Threshold", 85,
86386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getDuckingThreshhold());
86486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Ducking Volume", 70,
86586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getDuckedTrackVolume());
86686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
86786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(91, 70);
86886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
86986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
87086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
87186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Enable ducking threshold > 90", flagForException);
87286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
87386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
87486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(90, 101);
87586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
87686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
87786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
87886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Enable ducking volume > 100", flagForException);
87986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
88086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
88186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(91, 101);
88286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
88386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
88486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
88586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Enable ducking volume > 100 and threshold > 91",
88686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
88786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
88886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
88986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(-1, 100);
89086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
89186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
89286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
89386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Enable ducking threshold < 0", flagForException);
89486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
89586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
89686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(1, -1);
89786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
89886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
89986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
90086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Enable ducking lowVolume < 0", flagForException);
90186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
90286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
90386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.enableDucking(0, 50);
90486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
90586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
90686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
90786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Enable ducking threshold = 0", flagForException);
90886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
90986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
91086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
91186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Audio Track API: Looping
91286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
91386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_021
91486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
91586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackLooping() throws Exception {
91686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
91786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
91886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
91986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
92086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
92186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Looping", audioTrack.isLooping());
92286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.enableLoop();
92386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Looping", audioTrack.isLooping());
92486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.disableLoop();
92586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Looping", audioTrack.isLooping());
92686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
92786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
92886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
92986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Audio Track API:Extract waveform data
93086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
93186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_022
93286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
93386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
93486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackWaveFormData() throws Exception {
93586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        /** Image item is added as dummy as Audio track cannot be added without
93686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru         * a media item in the story board
93786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru         */
93886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_640x480.jpg";
93986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
94086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem =
94186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
94286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 5000, imageItemRenderingMode);
94386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem);
94486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
94586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
94686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
94786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
94886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
94986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
95086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
95186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNull("WaveForm data", audioTrack.getWaveformData());
95286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
95386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int[] progressUpdate = new int[105];
95486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.generatePreview(new MediaProcessingProgressListener() {
95586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            int i = 0;
95686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            public void onProgress(Object item, int action, int progress) {
95786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                progressUpdate[i++] = progress;
95886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            }
95986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        });
96086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
96186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int[] progressWaveform = new int[105];
96286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
96386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.extractAudioWaveform(
96486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            new ExtractAudioWaveformProgressListener() {
96586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                int i = 0;
96686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                public void onProgress(int progress) {
96786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                    Log.i("AudioWaveformData","progress=" +progress);
96886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                    progressWaveform[i++] = progress;
96986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            }
97086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        });
97186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Progress of WaveForm data", mVideoEditorHelper
97286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            .checkProgressCBValues(progressWaveform));
97386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("WaveForm data", audioTrack.getWaveformData());
97486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Frame Duration",
97586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (audioTrack.getWaveformData().getFrameDuration() > 0 ?
97686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
97786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Frame Count",
97886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (audioTrack.getWaveformData().getFramesCount() > 0 ? true : false));
97986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("WaveForm Gain",
98086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (audioTrack.getWaveformData().getFrameGains().length > 0 ?
98186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
98286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
98386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
98486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
98586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Audio Track API: Mute
98686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
98786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_023
98886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
98986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackMute() throws Exception {
99086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
99186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
99286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
99386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
99486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track UnMute", audioTrack.isMuted());
99586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setMute(true);
99686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track Mute", audioTrack.isMuted());
99786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setMute(false);
99886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track UnMute", audioTrack.isMuted());
99986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
100086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
100186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
100286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test the Audio Track API: Get Volume and Set Volume
100386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
100486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_024
100586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
100686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioTrackGetSetVolume() throws Exception {
100786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
100886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
100986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
101086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
101186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
101286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setVolume(0);
101386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Volume", 0, audioTrack.getVolume());
101486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track UnMute", audioTrack.isMuted());
101586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.setVolume(45);
101686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Volume", 45, audioTrack.getVolume());
101786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track UnMute", audioTrack.isMuted());
101886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
101986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setVolume(-1);
102086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
102186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
102286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
102386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Volume = -1", flagForException);
102486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Volume", 45, audioTrack.getVolume());
102586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
102686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
102786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setVolume(101);
102886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
102986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
103086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
103186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Volume = 101", flagForException);
103286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
103386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
103486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.setVolume(1000);
103586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
103686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
103786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
103886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Volume = 10000", flagForException);
103986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Volume", 45, audioTrack.getVolume());
104086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
104186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
104286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
104386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect Color.
104486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
104586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_025
104686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
104786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAllEffects() throws Exception {
104886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH +
104986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_30fps_512Kbps_0_27.mp4";
105086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
105186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
105286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
105386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, MediaItem.RENDERING_MODE_BLACK_BORDER);
105486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
105586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
105686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor1 = mVideoEditorHelper.createEffectItem(
105786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect1", 1000, 1000, EffectColor.TYPE_COLOR,
105886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.PINK);
105986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor1);
106086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
106186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
106286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor1.getMediaItem());
106386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor1.getId().equals("effect1"));
106486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 1000, effectColor1.getStartTime());
106586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor1.getDuration());
106686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_COLOR,
106786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor1.getType());
106886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", EffectColor.PINK, effectColor1.getColor());
106986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
107086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor2 = mVideoEditorHelper.createEffectItem(
107186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect2", 2000, 1000, EffectColor.TYPE_COLOR,
107286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.GRAY);
107386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor2);
107486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
107586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
107686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor2.getMediaItem());
107786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor2.getId().equals("effect2"));
107886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 2000, effectColor2.getStartTime());
107986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor2.getDuration());
108086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_COLOR,
108186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor2.getType());
108286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", EffectColor.GRAY, effectColor2.getColor());
108386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
108486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor3 = mVideoEditorHelper.createEffectItem(
108586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect3", 3000, 1000, EffectColor.TYPE_COLOR,
108686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.GREEN);
108786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor3);
108886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
108986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
109086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor3.getMediaItem());
109186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor3.getId().equals("effect3"));
109286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 3000, effectColor3.getStartTime());
109386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor3.getDuration());
109486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_COLOR,
109586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor3.getType());
109686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", EffectColor.GREEN, effectColor3.getColor());
109786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
109886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor4 = mVideoEditorHelper.createEffectItem(
109986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect4", 4000, 1000, EffectColor.TYPE_GRADIENT,
110086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.PINK);
110186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor4);
110286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
110386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
110486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor4.getMediaItem());
110586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor4.getId().equals("effect4"));
110686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 4000, effectColor4.getStartTime());
110786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor4.getDuration());
110886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_GRADIENT,
110986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor4.getType());
111086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", EffectColor.PINK, effectColor4.getColor());
111186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
111286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor5 = mVideoEditorHelper.createEffectItem(
111386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect5", 5000, 1000,
111486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_GRADIENT, EffectColor.GRAY);
111586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor5);
111686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
111786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
111886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor5.getMediaItem());
111986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor5.getId().equals("effect5"));
112086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 5000, effectColor5.getStartTime());
112186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor5.getDuration());
112286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_GRADIENT,
112386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor5.getType());
112486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", EffectColor.GRAY, effectColor5.getColor());
112586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
112686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor6 = mVideoEditorHelper.createEffectItem(
112786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect6", 6000, 1000,
112886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_GRADIENT, EffectColor.GREEN);
112986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor6);
113086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
113186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
113286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor6.getMediaItem());
113386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor6.getId().equals("effect6"));
113486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 6000, effectColor6.getStartTime());
113586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor6.getDuration());
113686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type",
113786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_GRADIENT, effectColor6.getType());
113886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color",
113986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.GREEN, effectColor6.getColor());
114086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
114186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor7 = mVideoEditorHelper.createEffectItem(
114286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect7", 7000, 1000,
114386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_FIFTIES, 0);
114486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor7);
114586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
114686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
114786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor7.getMediaItem());
114886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor7.getId().equals("effect7"));
114986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 7000, effectColor7.getStartTime());
115086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor7.getDuration());
115186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_FIFTIES,
115286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor7.getType());
115386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", -1, effectColor7.getColor());
115486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
115586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor8 = mVideoEditorHelper.createEffectItem(
115686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect8", 8000, 1000, EffectColor.TYPE_SEPIA, 0);
115786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor8);
115886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
115986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
116086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor8.getMediaItem());
116186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor8.getId().equals("effect8"));
116286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 8000, effectColor8.getStartTime());
116386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor8.getDuration());
116486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_SEPIA,
116586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor8.getType());
116686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", -1, effectColor8.getColor());
116786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
116886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor9 = mVideoEditorHelper.createEffectItem(
116986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect9", 9000, 1000,
117086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_NEGATIVE, 0);
117186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor9);
117286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
117386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Associated Media Item", mediaVideoItem1,
117486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor9.getMediaItem());
117586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Id", effectColor9.getId().equals("effect9"));
117686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect StartTime", 9000, effectColor9.getStartTime());
117786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect EndTime", 1000, effectColor9.getDuration());
117886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Type", EffectColor.TYPE_NEGATIVE,
117986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor9.getType());
118086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Color", -1, effectColor9.getColor());
118186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
118286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect9",
118386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                9000, 1000, EffectColor.TYPE_COLOR - 1, 0);
118486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
118586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
118686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
118786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect type Invalid", flagForException);
118886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
118986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
119086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect9",
119186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                9000, 1000, EffectColor.TYPE_FIFTIES + 1, 0);
119286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
119386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
119486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
119586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect type Invalid", flagForException);
119686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
119786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect10",
119886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                10000, 1000, EffectColor.TYPE_FIFTIES +
119986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                EffectColor.TYPE_GRADIENT, 0);
120086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
120186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
120286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
120386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect type Invalid", flagForException);
120486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
120586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
120686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
120786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect Color : Set duration and Get Duration
120886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
120986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_026
121086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
121186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectSetgetDuration() throws Exception {
121286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH +
121386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_30fps_512Kbps_0_27.mp4";
121486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
121586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
121686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
121786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
121886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
121986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
122086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
122186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectColor effectColor1 = mVideoEditorHelper.createEffectItem(
122286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "effect1", 1000, 2000,
122386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            EffectColor.TYPE_COLOR, EffectColor.PINK);
122486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addEffect(effectColor1);
122586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
122686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        effectColor1.setDuration(5000);
122786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Updated Effect Duration", 5000,
122886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor1.getDuration());
122986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
123086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor1.setDuration(mediaVideoItem1.getDuration() + 1000);
123186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
123286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
123386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
123486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Color duration > mediaVideoItemDuration",
123586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
123686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Effect Duration", 5000, effectColor1.getDuration());
123786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
123886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
123986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            effectColor1.setDuration(-1);
124086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
124186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
124286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
124386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect Color duration = -1", flagForException);
124486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
124586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
124686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
124786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect Color : UNDEFINED color param value
124886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
124986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_027
125086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
125186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectUndefinedColorParam() throws Exception {
125286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH +
125386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_30fps_512Kbps_0_27.mp4";
125486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
125586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
125686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
125786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
125886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
125986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
126086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try{
126186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect1", 1000,
126286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            2000, EffectColor.TYPE_COLOR, 0xabcdabcd);
126386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }catch (IllegalArgumentException e){
126486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
126586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
126686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Effect added",flagForException);
126786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
126886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
126986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
127086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect Color : with Invalid StartTime and Duration
127186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
127286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_028
127386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
127486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectInvalidStartTimeAndDuration() throws Exception {
127586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName = INPUT_FILE_PATH +
127686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_15fps_1200Kbps_AACLC_48KHz_32kbps_m_1_17.3gp";
127786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int videoItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
127886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
127986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
128086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaVideoItem1",
128186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFileName, videoItemRenderingMode);
128286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
128386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
128486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
128586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect1",
128686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                400000000, 2000, EffectColor.TYPE_COLOR, EffectColor.GREEN);
128786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
128886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
128986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
129086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect with invalid StartTime", flagForException);
129186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
129286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
129386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
129486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect1", -1,
129586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                2000, EffectColor.TYPE_COLOR, EffectColor.GREEN);
129686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
129786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
129886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
129986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect with invalid StartTime", flagForException);
130086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
130186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
130286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
130386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(mediaVideoItem1, "effect1",
130486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                2000, -1, EffectColor.TYPE_COLOR, EffectColor.GREEN);
130586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
130686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
130786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
130886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect with invalid Duration", flagForException);
130986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
131086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
131186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
131286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /** Test cases 29, 30, 31, 32 and 33 are removed */
131386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
131486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
131586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
131686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect : with NULL Media Item
131786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
131886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_034
131986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
132086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectNullMediaItem() throws Exception {
132186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
132286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
132386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createEffectItem(null, "effect1", 1000, 4000,
132486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                EffectColor.TYPE_COLOR, EffectColor.GREEN);
132586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
132686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
132786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
132886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Effect with null MediaItem", flagForException);
132986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
133086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
133186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
133286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Effect : KenBurn Effect
133386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
133486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_035
133586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
133686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectKenBurn() throws Exception {
133788f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong        // Test ken burn effect using a JPEG file.
1338559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury        testEffectKenBurn(INPUT_FILE_PATH + "IMG_640x480.jpg",
1339559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury         "mediaImageItem1");
134088f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong
134188f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong        // Test ken burn effect using a PNG file
1342559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury        testEffectKenBurn(INPUT_FILE_PATH + "IMG_640x480.png",
1343559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury         "mediaImageItem2");
134488f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong    }
134588f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong
1346559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury    private void testEffectKenBurn(final String imageItemFileName,
1347559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury     final String MediaId) throws Exception {
134886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
134986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem =
1350559bb7951f283264e241df6845fef5bbe63b7f81Rajneesh Chowdury            mVideoEditorHelper.createMediaItem(mVideoEditor, MediaId,
135186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 5000, imageItemRenderingMode);
135286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem);
135386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
135486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect startRect = new Rect((mediaImageItem.getHeight() / 3),
135586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 3), (mediaImageItem.getHeight() / 2),
135686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 2));
135786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect endRect = new Rect(0, 0, mediaImageItem.getWidth(),
135886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem.getHeight());
135986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
136086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final EffectKenBurns kbEffectOnMediaItem = new EffectKenBurns(
136186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem, "KBOnM2", startRect, endRect, 500, 3000);
136286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
136388f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong        assertNotNull("EffectKenBurns: " + imageItemFileName,
136488f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong            kbEffectOnMediaItem);
136588f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong
136686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem.addEffect(kbEffectOnMediaItem);
136788f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong        assertEquals("KenBurn Start Rect: " + imageItemFileName, startRect,
136886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getStartRect());
136988f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong
137088f7194f6d93b6bb5822ad3c45ae9e59395212b9James Dong        assertEquals("KenBurn End Rect: " + imageItemFileName, endRect,
137186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getEndRect());
137286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
137386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
137486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
137586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test KenBurnEffect : Set StartRect and EndRect
137686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
137786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
137886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_036
137986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
138086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testEffectKenBurnSet() throws Exception {
138186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName = INPUT_FILE_PATH + "IMG_640x480.jpg";
138286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int imageItemRenderingMode =MediaItem.RENDERING_MODE_BLACK_BORDER;
138386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
138486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem =
138586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "mediaImageItem1",
138686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            imageItemFileName, 5000, imageItemRenderingMode);
138786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem);
138886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
138986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect startRect = new Rect((mediaImageItem.getHeight() / 3),
139086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 3), (mediaImageItem.getHeight() / 2),
139186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 2));
139286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect endRect = new Rect(0, 0, mediaImageItem.getWidth(),
139386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem.getHeight());
139486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
139586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        EffectKenBurns kbEffectOnMediaItem=null;
139686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        kbEffectOnMediaItem = new EffectKenBurns(mediaImageItem, "KBOnM2",
139786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            startRect, endRect, 500, 3000);
139886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
139986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("EffectKenBurns", kbEffectOnMediaItem);
140086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem.addEffect(kbEffectOnMediaItem);
140186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("KenBurn Start Rect", startRect,
140286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getStartRect());
140386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("KenBurn End Rect", endRect,
140486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getEndRect());
140586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
140686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect startRect1 = new Rect((mediaImageItem.getHeight() / 5),
140786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 5), (mediaImageItem.getHeight() / 4),
140886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (mediaImageItem.getWidth() / 4));
140986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect endRect1 = new Rect(10, 10, mediaImageItem.getWidth() / 4,
141086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem.getHeight() / 4);
141186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
141286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        /* Added newly to take care of removal set APIs */
141386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        kbEffectOnMediaItem = new EffectKenBurns(mediaImageItem, "KBOnM2_changed",
141486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            startRect1, endRect1, 500, 3000);
141586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
141686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("KenBurn Start Rect", startRect1,
141786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getStartRect());
141886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("KenBurn End Rect", endRect1,
141986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem.getEndRect());
142086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
142186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Rect zeroRect = new Rect(0, 0, 0, 0);
142286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
142386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem = new EffectKenBurns(mediaImageItem, "KBOnM2_zeroStart",
142486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                zeroRect, endRect, 500, 3000);
142586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
142686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
142786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
142886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
142986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Start Rect", flagForException);
143086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
143186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
143286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
143386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            kbEffectOnMediaItem = new EffectKenBurns(mediaImageItem, "KBOnM2_zeroEnd",
143486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                startRect, zeroRect, 500, 3000);
143586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
143686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
143786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
143886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid End Rect", flagForException);
143986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
144086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
144186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
144286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Transition : Fade To Black with all behavior
144386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * SPEED_UP/SPEED_DOWN/LINEAR/MIDDLE_SLOW/MIDDLE_FAST
144486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
144586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
144686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_037
144786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
144886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testTransitionFadeBlack() throws Exception {
144986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
145086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
145186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
145286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename2 = INPUT_FILE_PATH +
145386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_15fps_128kbps_1_35.3gp";
145486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename1 = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
145586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename3 = INPUT_FILE_PATH +
145686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_192kbps_1_5.mp4";
145786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename4 = INPUT_FILE_PATH +
145886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_256kbps_0_30.mp4";
145986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename5 = INPUT_FILE_PATH +
146086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_10fps_96kbps_0_25.3gp";
146186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
146286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
146386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
146486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
146586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
146686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
146786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
146886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
146986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem2 =
147086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2",
147186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFilename2, MediaItem.RENDERING_MODE_BLACK_BORDER);
147286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem2.setExtractBoundaries(0, 15000);
147386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem2);
147486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
147586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionFadeBlack transition1And2 = mVideoEditorHelper
147686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            .createTFadeBlack("transition1And2", mediaVideoItem1,
147786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem2, 3000, Transition.BEHAVIOR_SPEED_UP);
147886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1And2);
147986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
148086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
148186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getId().equals("transition1And2"));
148286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item",
148386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, transition1And2.getAfterMediaItem());
148486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem2,
148586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBeforeMediaItem());
148686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 3000, transition1And2.getDuration());
148786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_UP,
148886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBehavior());
148986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
149086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem3 =
149186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m3",
149286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename1, 15000, MediaItem.RENDERING_MODE_BLACK_BORDER);
149386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem3);
149486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
149586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionFadeBlack transition2And3 =
149686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition2And3", mediaVideoItem2,
149786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaImageItem3, 1000, Transition.BEHAVIOR_SPEED_DOWN);
149886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2And3);
149986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
150086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
150186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getId().equals("transition2And3"));
150286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem2,
150386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getAfterMediaItem());
150486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaImageItem3,
150586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBeforeMediaItem());
150686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 1000, transition2And3.getDuration());
150786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_DOWN,
150886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBehavior());
150986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
151086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem4 =
151186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m4",
151286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename3, MediaItem.RENDERING_MODE_BLACK_BORDER);
151386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem4.setExtractBoundaries(0, 20000);
151486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem4);
151586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
151686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionFadeBlack transition3And4 =
151786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition3And4", mediaImageItem3,
151886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem4, 5000, Transition.BEHAVIOR_LINEAR);
151986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition3And4);
152086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
152186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
152286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getId().equals("transition3And4"));
152386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaImageItem3,
152486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getAfterMediaItem());
152586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem4,
152686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBeforeMediaItem());
152786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 5000, transition3And4.getDuration());
152886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_LINEAR,
152986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBehavior());
153086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
153186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem5 =
153286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m5",
153386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename4, MediaItem.RENDERING_MODE_BLACK_BORDER);
153486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem5);
153586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
153686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionFadeBlack transition4And5 =
153786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition4And5", mediaVideoItem4,
153886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem5, 8000, Transition.BEHAVIOR_MIDDLE_FAST);
153986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition4And5);
154086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
154186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
154286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getId().equals("transition4And5"));
154386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem4,
154486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getAfterMediaItem());
154586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem5,
154686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBeforeMediaItem());
154786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 8000, transition4And5.getDuration());
154886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_FAST,
154986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBehavior());
155086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
155186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem6 =
155286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m6",
155386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename5, MediaItem.RENDERING_MODE_BLACK_BORDER);
155486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem6.setExtractBoundaries(0, 20000);
155586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem6);
155686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
155786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionFadeBlack transition5And6 =
155886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transition5And6", mediaVideoItem5,
155986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_SLOW);
156086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition5And6);
156186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
156286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
156386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getId().equals("transition5And6"));
156486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem5,
156586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getAfterMediaItem());
156686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem6,
156786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBeforeMediaItem());
156886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 2000, transition5And6.getDuration());
156986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_SLOW,
157086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBehavior());
157186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
157286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
157386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transitiond6", mediaVideoItem5,
157486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_SPEED_UP - 1);
157586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
157686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
157786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
157886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
157986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
158086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
158186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTFadeBlack("transitiond6", mediaVideoItem5,
158286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_FAST + 1);
158386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
158486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
158586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
158686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
158786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
158886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
158986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
159086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Transition : CrossFade with all behavior
159186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * SPEED_UP/SPEED_DOWN/LINEAR/MIDDLE_SLOW/MIDDLE_FAST
159286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
159386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
159486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_038
159586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
159686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testTransitionCrossFade() throws Exception {
159786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
159886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
159986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
160086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename2 = INPUT_FILE_PATH +
160186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_15fps_128kbps_1_35.3gp";
160286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename1 = INPUT_FILE_PATH + "IMG_1600x1200.jpg";
160386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename3 = INPUT_FILE_PATH +
160486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_192kbps_1_5.mp4";
160586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename4 = INPUT_FILE_PATH +
160686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_256kbps_0_30.mp4";
160786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename5 = INPUT_FILE_PATH +
160886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_10fps_96kbps_0_25.3gp";
160986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
161086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
161186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
161286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
161386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
161486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
161586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
161686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem2 =
161786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2",
161886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename2, MediaItem.RENDERING_MODE_BLACK_BORDER);
161986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem2.setExtractBoundaries(0, 15000);
162086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem2);
162186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
162286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionCrossfade transition1And2 =
162386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transition1And2", mediaVideoItem1,
162486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem2, 3000, Transition.BEHAVIOR_SPEED_UP);
162586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1And2);
162686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
162786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
162886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getId().equals("transition1And2"));
162986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem1,
163086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getAfterMediaItem());
163186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem2,
163286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBeforeMediaItem());
163386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 3000, transition1And2.getDuration());
163486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_UP,
163586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBehavior());
163686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
163786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem3 =
163886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m3",
163986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename1, 15000, MediaItem.RENDERING_MODE_BLACK_BORDER);
164086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem3);
164186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
164286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionCrossfade transition2And3 =
164386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transition2And3", mediaVideoItem2,
164486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaImageItem3, 1000, Transition.BEHAVIOR_SPEED_DOWN);
164586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2And3);
164686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
164786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
164886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getId().equals("transition2And3"));
164986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem2,
165086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getAfterMediaItem());
165186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaImageItem3,
165286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBeforeMediaItem());
165386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 1000, transition2And3.getDuration());
165486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_DOWN,
165586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBehavior());
165686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
165786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem4 =
165886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m4",
165986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename3, MediaItem.RENDERING_MODE_BLACK_BORDER);
166086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem4.setExtractBoundaries(0, 18000);
166186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem4);
166286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
166386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionCrossfade transition3And4 =
166486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transition3And4", mediaImageItem3,
166586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem4, 5000, Transition.BEHAVIOR_LINEAR);
166686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition3And4);
166786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
166886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
166986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getId().equals("transition3And4"));
167086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaImageItem3,
167186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getAfterMediaItem());
167286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem4,
167386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBeforeMediaItem());
167486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 5000, transition3And4.getDuration());
167586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_LINEAR,
167686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBehavior());
167786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
167886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem5 =
167986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m5",
168086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename4, MediaItem.RENDERING_MODE_BLACK_BORDER);
168186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem5);
168286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
168386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionCrossfade transition4And5 =
168486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transition4And5", mediaVideoItem4,
168586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem5, 8000, Transition.BEHAVIOR_MIDDLE_FAST);
168686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition4And5);
168786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
168886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
168986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getId().equals("transition4And5"));
169086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem4,
169186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getAfterMediaItem());
169286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem5,
169386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBeforeMediaItem());
169486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 8000, transition4And5.getDuration());
169586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_FAST,
169686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBehavior());
169786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
169886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem6 =
169986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m6",
170086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename5, MediaItem.RENDERING_MODE_BLACK_BORDER);
170186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem6.setExtractBoundaries(0, 20000);
170286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem6);
170386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
170486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionCrossfade transition5And6 =
170586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transition5And6", mediaVideoItem5,
170686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_SLOW);
170786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition5And6);
170886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
170986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
171086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getId().equals("transition5And6"));
171186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem5,
171286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getAfterMediaItem());
171386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem6,
171486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBeforeMediaItem());
171586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 2000, transition5And6.getDuration());
171686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_SLOW,
171786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBehavior());
171886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
171986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
172086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
172186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transitiond6", mediaVideoItem5,
172286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_SPEED_UP - 1);
172386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
172486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
172586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
172686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
172786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
172886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
172986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTCrossFade("transitiond6", mediaVideoItem5,
173086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_FAST + 1);
173186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
173286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
173386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
173486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
173586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
173686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
173786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
173886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Transition : Sliding with all behavior
173986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * SPEED_UP/SPEED_DOWN/LINEAR/MIDDLE_SLOW/MIDDLE_FAST and Direction =
174086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * DIRECTION_RIGHT_OUT_LEFT_IN
174186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * ,DIRECTION_LEFT_OUT_RIGHT_IN,DIRECTION_TOP_OUT_BOTTOM_IN
174286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * ,DIRECTION_BOTTOM_OUT_TOP_IN
174386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
174486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
174586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_039
174686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
174786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testTransitionSliding() throws Exception {
174886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
174986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
175086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename2 = INPUT_FILE_PATH +
175186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_15fps_128kbps_1_35.3gp";
175286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename1 = INPUT_FILE_PATH +
175386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "IMG_1600x1200.jpg";
175486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename3 = INPUT_FILE_PATH +
175586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_192kbps_1_5.mp4";
175686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename4 = INPUT_FILE_PATH +
175786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_256kbps_0_30.mp4";
175886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename5 = INPUT_FILE_PATH +
175986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_10fps_96kbps_0_25.3gp";
176086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
176186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
176286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
176386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
176486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
176586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
176686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
176786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
176886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem2 =
176986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2",
177086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename2, MediaItem.RENDERING_MODE_BLACK_BORDER);
177186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem2.setExtractBoundaries(0, 15000);
177286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem2);
177386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
177486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionSliding transition1And2 =
177586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transition1And2", mediaVideoItem1,
177686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem2, 3000, Transition.BEHAVIOR_SPEED_UP,
177786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN);
177886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1And2);
177986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
178086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
178186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getId().equals("transition1And2"));
178286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem1,
178386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getAfterMediaItem());
178486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem2,
178586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBeforeMediaItem());
178686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 3000, transition1And2.getDuration());
178786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_UP,
178886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBehavior());
178986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition Sliding",
179086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN,
179186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getDirection());
179286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
179386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem3 =
179486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m3",
179586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename1, 15000, MediaItem.RENDERING_MODE_BLACK_BORDER);
179686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem3);
179786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
179886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionSliding transition2And3 =
179986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transition2And3",
180086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem2, mediaImageItem3, 1000,
180186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                Transition.BEHAVIOR_SPEED_DOWN,
180286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_LEFT_OUT_RIGHT_IN);
180386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2And3);
180486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
180586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
180686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getId().equals("transition2And3"));
180786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem2,
180886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getAfterMediaItem());
180986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaImageItem3,
181086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBeforeMediaItem());
181186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 1000, transition2And3.getDuration());
181286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_DOWN,
181386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBehavior());
181486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition Sliding",
181586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            TransitionSliding.DIRECTION_LEFT_OUT_RIGHT_IN,
181686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getDirection());
181786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
181886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem4 =
181986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m4",
182086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename3, MediaItem.RENDERING_MODE_BLACK_BORDER);
182186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem4.setExtractBoundaries(0, 18000);
182286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem4);
182386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
182486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionSliding transition3And4 =
182586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transition3And4", mediaImageItem3,
182686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem4, 5000, Transition.BEHAVIOR_LINEAR,
182786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_TOP_OUT_BOTTOM_IN);
182886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition3And4);
182986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
183086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
183186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getId().equals("transition3And4"));
183286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaImageItem3,
183386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getAfterMediaItem());
183486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem4,
183586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBeforeMediaItem());
183686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 5000, transition3And4.getDuration());
183786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_LINEAR,
183886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBehavior());
183986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition Sliding",
184086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            TransitionSliding.DIRECTION_TOP_OUT_BOTTOM_IN,
184186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getDirection());
184286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
184386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem5 =
184486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m5",
184586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename4, MediaItem.RENDERING_MODE_BLACK_BORDER);
184686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem5);
184786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
184886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionSliding transition4And5 =
184986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transition4And5", mediaVideoItem4,
185086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem5, 8000, Transition.BEHAVIOR_MIDDLE_FAST,
185186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_BOTTOM_OUT_TOP_IN);
185286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition4And5);
185386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
185486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
185586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getId().equals("transition4And5"));
185686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem4,
185786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getAfterMediaItem());
185886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem5,
185986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBeforeMediaItem());
186086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 8000, transition4And5.getDuration());
186186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_FAST,
186286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBehavior());
186386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition Sliding",
186486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            TransitionSliding.DIRECTION_BOTTOM_OUT_TOP_IN,
186586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getDirection());
186686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
186786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem6 =
186886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m6",
186986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename5, MediaItem.RENDERING_MODE_BLACK_BORDER);
187086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem6.setExtractBoundaries(0, 20000);
187186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem6);
187286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
187386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionSliding transition5And6 =
187486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transition5And6", mediaVideoItem5,
187586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_SLOW,
187686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN);
187786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition5And6);
187886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
187986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
188086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getId().equals("transition5And6"));
188186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem5,
188286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getAfterMediaItem());
188386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem6,
188486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBeforeMediaItem());
188586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 2000, transition5And6.getDuration());
188686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_SLOW,
188786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getBehavior());
188886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition Sliding",
188986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN,
189086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition5And6.getDirection());
189186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
189286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
189386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
189486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transitiond6", mediaVideoItem5,
189586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_SLOW,
189686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN - 1);
189786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
189886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
189986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
190086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition Sliding with Invalid Direction", flagForException);
190186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
190286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
190386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transitiond6", mediaVideoItem5,
190486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_FAST + 1,
190586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_BOTTOM_OUT_TOP_IN + 1);
190686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
190786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
190886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
190986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition Sliding with Invalid behavior", flagForException);
191086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
191186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
191286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transitiond6", mediaVideoItem5,
191386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_SPEED_UP - 1,
191486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN);
191586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
191686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
191786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
191886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition Sliding with Invalid behavior", flagForException);
191986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
192086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
192186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTSliding("transitiond6", mediaVideoItem5,
192286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_FAST + 1,
192386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                TransitionSliding.DIRECTION_RIGHT_OUT_LEFT_IN);
192486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
192586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
192686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
192786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition Sliding with Invalid behavior", flagForException);
192886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
192986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
193086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
193186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Transition : Alpha with all behavior
193286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * SPEED_UP/SPEED_DOWN/LINEAR/MIDDLE_SLOW/MIDDLE_FAST
193386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
193486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
193586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_040
193686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
193786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testTransitionAlpha() throws Exception {
193886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
193986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
194086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
194186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename2 = INPUT_FILE_PATH +
194286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_15fps_128kbps_1_35.3gp";
194386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename1 = INPUT_FILE_PATH +
194486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "IMG_640x480.jpg";
194586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename3 = INPUT_FILE_PATH +
194686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_192kbps_1_5.mp4";
194786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename4 = INPUT_FILE_PATH +
194886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_256kbps_0_30.mp4";
194986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename5 = INPUT_FILE_PATH +
195086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_10fps_96kbps_0_25.3gp";
195186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String maskFilename = INPUT_FILE_PATH +
195286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "TransitionSpiral_QVGA.jpg";
195386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
195486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
195586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
195686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
195786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
195886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
195986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
196086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem2 =
196186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2",
196286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename2, MediaItem.RENDERING_MODE_BLACK_BORDER);
196386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem2.setExtractBoundaries(0, 15000);
196486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem2);
196586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
196686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionAlpha transition1And2 =
196786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition1And2", mediaVideoItem1,
196886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem2, 3000, Transition.BEHAVIOR_SPEED_UP, maskFilename,
196986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            10, false);
197086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1And2);
197186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
197286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
197386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getId().equals("transition1And2"));
197486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem1,
197586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getAfterMediaItem());
197686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem2,
197786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBeforeMediaItem());
197886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 3000, transition1And2.getDuration());
197986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_UP,
198086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBehavior());
198186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition maskFile",
198286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getMaskFilename().equals(maskFilename));
198386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition BlendingPercent", 10,
198486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBlendingPercent());
198586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Transition Invert", transition1And2.isInvert());
198686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
198786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem3 =
198886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m3",
198986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename1, 15000, MediaItem.RENDERING_MODE_BLACK_BORDER);
199086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem3);
199186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
199286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionAlpha transition2And3 =
199386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition2And3", mediaVideoItem2,
199486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaImageItem3, 1000, Transition.BEHAVIOR_SPEED_DOWN,
199586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                maskFilename, 30, false);
199686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition2And3);
199786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
199886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
199986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getId().equals("transition2And3"));
200086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem2,
200186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getAfterMediaItem());
200286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaImageItem3,
200386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBeforeMediaItem());
200486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 1000, transition2And3.getDuration());
200586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_SPEED_DOWN,
200686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBehavior());
200786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition maskFile",
200886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getMaskFilename().equals(maskFilename));
200986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition BlendingPercent", 30,
201086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And3.getBlendingPercent());
201186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Transition Invert", transition2And3.isInvert());
201286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
201386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem4 =
201486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m4",
201586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename3, MediaItem.RENDERING_MODE_BLACK_BORDER);
201686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem4.setExtractBoundaries(0, 18000);
201786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem4);
201886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
201986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionAlpha transition3And4 =
202086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition3And4", mediaImageItem3,
202186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem4, 5000, Transition.BEHAVIOR_LINEAR, maskFilename,
202286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            50, false);
202386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition3And4);
202486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
202586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
202686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getId().equals("transition3And4"));
202786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaImageItem3,
202886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getAfterMediaItem());
202986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem4,
203086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBeforeMediaItem());
203186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 5000, transition3And4.getDuration());
203286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_LINEAR,
203386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBehavior());
203486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition maskFile",
203586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getMaskFilename().equals(maskFilename));
203686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition BlendingPercent", 50,
203786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition3And4.getBlendingPercent());
203886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Transition Invert", transition3And4.isInvert());
203986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
204086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem5 =
204186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m5",
204286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename4, MediaItem.RENDERING_MODE_BLACK_BORDER);
204386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem5);
204486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
204586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionAlpha transition4And5 =
204686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition4And5", mediaVideoItem4,
204786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem5, 8000, Transition.BEHAVIOR_MIDDLE_FAST,
204886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            maskFilename, 70, true);
204986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition4And5);
205086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
205186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition ID",
205286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getId().equals("transition4And5"));
205386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion After Media item", mediaVideoItem4,
205486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getAfterMediaItem());
205586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Before Media item", mediaVideoItem5,
205686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBeforeMediaItem());
205786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Duration", 8000, transition4And5.getDuration());
205886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transtion Behavior", Transition.BEHAVIOR_MIDDLE_FAST,
205986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBehavior());
206086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition maskFile",
206186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getMaskFilename().equals(maskFilename));
206286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition BlendingPercent", 70,
206386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition4And5.getBlendingPercent());
206486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition Invert", transition4And5.isInvert());
206586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
206686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem6 =
206786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m6",
206886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename5, MediaItem.RENDERING_MODE_BLACK_BORDER);
206986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem6.setExtractBoundaries(0, 20000);
207086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem6);
207186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
207286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
207386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition5And6", mediaVideoItem5,
207486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem6, 2000, Transition.BEHAVIOR_MIDDLE_SLOW,
207586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                INPUT_FILE_PATH + "imDummyFile.jpg", 70,
207686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                true);
207786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
207886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
207986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
208086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("MaskFile is not exsisting", flagForException);
208186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
208286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
208386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition5And6", null, null, 2000,
208486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                Transition.BEHAVIOR_MIDDLE_SLOW, maskFilename, 101, true);
208586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
208686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
208786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
208886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Invalid Blending Percent", flagForException);
208986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
209086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
209186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
209286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transitiond6", mediaVideoItem4,
209386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem5, 2000, Transition.BEHAVIOR_SPEED_UP - 1,
209486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                maskFilename, 30, false);
209586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
209686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
209786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
209886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
209986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
210086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
210186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transitiond6", mediaVideoItem4,
210286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaVideoItem5, 2000, Transition.BEHAVIOR_MIDDLE_FAST + 1,
210386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                maskFilename, 30, false);
210486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
210586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
210686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
210786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition FadeBlack with Invalid behavior", flagForException);
210886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
210986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
211086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
211186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Frame Overlay for Media Video Item
211286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
211386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
211486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_041
211586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
211686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlayVideoItem() throws Exception {
211786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
211886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H263_profile0_176x144_10fps_256kbps_0_25.3gp";
211986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH +  "IMG_176x144_Overlay1.png";
212086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile2 = INPUT_FILE_PATH +  "IMG_176x144_Overlay2.png";
212186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
212286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
212386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
212486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
212586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
212686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap1 =  mVideoEditorHelper.getBitmap(overlayFile1,
212786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            176, 144);
212886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame1 = mVideoEditorHelper.createOverlay(
212986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "overlayId1", mBitmap1, 5000, 5000);
213086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addOverlay(overlayFrame1);
213186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
213286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay : Media Item", mediaVideoItem1,
213386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.getMediaItem());
213486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Id", overlayFrame1.getId().equals("overlayId1"));
213586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Bitmap", mBitmap1, overlayFrame1.getBitmap());
213686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Start Time", 5000, overlayFrame1.getStartTime());
213786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
213886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
213986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        Bitmap upddateBmp = mVideoEditorHelper.getBitmap(overlayFile2, 176, 144);
214086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        overlayFrame1.setBitmap(upddateBmp);
214186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Update Bitmap", upddateBmp, overlayFrame1.getBitmap());
214286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        upddateBmp.recycle();
214386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
214486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
214586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
214686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Frame Overlay for Media Video Item : Set duration and Get
214786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * Duration
214886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
214986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
215086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_042
215186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
215286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlaySetAndGet() throws Exception {
215386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
215486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_30fps_512Kbps_0_27.mp4";
215586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
215686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
215786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
215886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
215986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            640, 480);
216086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
216186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
216286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
216386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
216486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
216586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
216686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame1 = mVideoEditorHelper.createOverlay(
216786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1, "overlayId1", mBitmap, 5000, 5000);
216886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.addOverlay(overlayFrame1);
216986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        overlayFrame1.setDuration(5000);
217086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
217186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
217286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
217386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.setDuration(mediaVideoItem1.getDuration() + 10000);
217486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
217586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
217686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
217786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Duration > MediaVideo Item Duration",
217886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException);
217986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
218086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
218186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
218286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
218386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
218486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.setDuration(-1);
218586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
218686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
218786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
218886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Duration = -1", flagForException);
218986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
219086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
219186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
219286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Frame Overlay for Media Video Item : Set duration and Get
219386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * Duration
219486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
219586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
219686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_043
219786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
219886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlayInvalidTime() throws Exception {
219986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
220086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_1200kbps_AACLC_48khz_64kbps_m_1_17.3gp";
220186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
220286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
220386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
220486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
220586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
220686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
220786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
220886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
220986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
221086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
221186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                640, 480);
221286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaVideoItem1, "overlayId1",
221386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, 400000000, 2000);
221486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
221586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
221686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
221786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
221886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
221986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
222086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
222186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
222286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                640, 480);
222386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaVideoItem1, "overlayId2",
222486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, -1, 2000);
222586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
222686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
222786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
222886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
222986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
223086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
223186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
223286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
223386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            640, 480);
223486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaVideoItem1, "overlayId3",
223586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, 2000, -1);
223686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
223786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
223886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
223986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
224086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
224186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
224286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
224386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Frame Overlay for Media Image Item
224486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
224586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_045
224686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
224786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlayImageItem() throws Exception {
224886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename1 = INPUT_FILE_PATH + "IMG_640x480.jpg";
224986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
225086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile2 = INPUT_FILE_PATH + "IMG_640x480_Overlay2.png";
225186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
225286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
225386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
225486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename1, 10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
225586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
225686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
225786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1, 640,
225886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            480);
225986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame1 = mVideoEditorHelper.createOverlay(
226086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1, "overlayId1", mBitmap, 5000, 5000);
226186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.addOverlay(overlayFrame1);
226286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
226386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay : Media Item", mediaImageItem1,
226486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.getMediaItem());
226586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Id", overlayFrame1.getId().equals("overlayId1"));
226686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Bitmap",mBitmap ,overlayFrame1.getBitmap());
226786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Start Time", 5000, overlayFrame1.getStartTime());
226886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
226986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        Bitmap upddateBmp = mVideoEditorHelper.getBitmap(overlayFile2, 640, 480);
227086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
227186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        overlayFrame1.setBitmap(upddateBmp);
227286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Update Bitmap", upddateBmp, overlayFrame1.getBitmap());
227386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        upddateBmp.recycle();
227486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
227586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
227686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
227786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Frame Overlay for Media Image Item : Set duration and Get
227886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * Duration
227986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
228086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
228186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_046
228286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
228386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlaySetAndGetImage() throws Exception {
228486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH + "IMG_640x480.jpg";
228586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
228686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
228786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
228886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
228986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
229086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, 10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
229186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
229286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
229386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
229486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            640, 480);
229586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final OverlayFrame overlayFrame1 = mVideoEditorHelper.createOverlay(
229686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem1, "overlayId1", mBitmap, 5000, 5000);
229786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem1.addOverlay(overlayFrame1);
229886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
229986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        overlayFrame1.setDuration(5000);
230086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
230186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
230286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
230386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.setDuration(mediaImageItem1.getDuration() + 10000);
230486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
230586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
230686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
230786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Duration > Media Item Duration", flagForException);
230886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Overlay Duration", 5000, overlayFrame1.getDuration());
230986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
231086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
231186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
231286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            overlayFrame1.setDuration(-1);
231386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
231486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
231586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
231686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay Duration = -1", flagForException);
231786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
231886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
231986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
232086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test  Frame Overlay for  Media Image Item :Invalid StartTime and
232186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * Duration
232286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
232386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
232486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_047
232586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
232686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlayInvalidTimeImage() throws Exception {
232786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH + "IMG_640x480.jpg";
232886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
232986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
233086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
233186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
233286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
233386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, 10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
233486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
233586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
233686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
233786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
233886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                640, 480);
233986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaImageItem1, "overlayId1",
234086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, 400000000, 2000);
234186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
234286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
234386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
234486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
234586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
234686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
234786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
234886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
234986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                640, 480);
235086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaImageItem1, "overlayId2",
235186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, -1, 2000);
235286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
235386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
235486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
235586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
235686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
235786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
235886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
235986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1,
236086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                640, 480);
236186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createOverlay(mediaImageItem1, "overlayId3",
236286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mBitmap, 2000, -1);
236386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
236486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
236586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
236686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Overlay With Invalid Start Time", flagForException);
236786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
236886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
236986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
237086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To Test Frame Overlay Media Image Item :JPG File
237186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
237286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
237386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_048
237486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
237586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testFrameOverlayJPGImage() throws Exception {
237686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
237786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFilename = INPUT_FILE_PATH + "IMG_640x480.jpg";
237886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String overlayFile1 = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
237986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
238086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
238186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
238286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFilename, 10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
238386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem1);
238486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final Bitmap mBitmap =  mVideoEditorHelper.getBitmap(overlayFile1, 640,
238586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            480);
238686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditorHelper.createOverlay(mediaImageItem1, "overlayId1",
238786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mBitmap, 5000, 5000);
238886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
238986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
239086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
239186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Video Editor API
239286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
239386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
239486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
239586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_049
239686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
239786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testVideoEditorAPI() throws Exception {
239886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
239986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName1 = INPUT_FILE_PATH
240086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "MPEG4_SP_720x480_30fps_280kbps_AACLC_48kHz_96kbps_s_0_21.mp4";
240186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName2 = INPUT_FILE_PATH +
240286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "MPEG4_SP_640x480_15fps_1200kbps_AACLC_48khz_64kbps_m_1_17.3gp";
240386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName3 = INPUT_FILE_PATH
240486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "MPEG4_SP_640x480_15fps_512kbps_AACLC_48khz_132kbps_s_0_26.mp4";
240586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName1 = INPUT_FILE_PATH + "IMG_640x480.jpg";
240686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String imageItemFileName2 = INPUT_FILE_PATH + "IMG_176x144.jpg";
240786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFilename1 = INPUT_FILE_PATH +
240886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AMRNB_8KHz_12.2Kbps_m_1_17.3gp";
240986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFilename2 = INPUT_FILE_PATH +
241086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
241186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
241286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
241386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionCrossfade transition2And4;
241486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
241586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
241686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
241786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFileName1, renderingMode);
241886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 10000);
241986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
242086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
242186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem2 =
242286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2",
242386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFileName2, renderingMode);
242486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem2.setExtractBoundaries(mediaVideoItem2.getDuration() / 4,
242586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem2.getDuration() / 2);
242686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem2);
242786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
242886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem3 =
242986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m3",
243086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFileName3, renderingMode);
243186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem3.setExtractBoundaries(mediaVideoItem3.getDuration() / 2,
243286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem3.getDuration());
243386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem3);
243486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
243586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem1 =
243686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m4",
243786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFileName1, 5000, renderingMode);
243886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
243986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem2 =
244086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m5",
244186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                imageItemFileName2, 5000, renderingMode);
244286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
244386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        List<MediaItem> mediaList = mVideoEditor.getAllMediaItems();
244486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item List Size", 3, mediaList.size());
244586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
244686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.insertMediaItem(mediaImageItem1, mediaVideoItem2.getId());
244786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaList = mVideoEditor.getAllMediaItems();
244886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item List Size", 4, mediaList.size());
244986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 1", mediaVideoItem1, mediaList.get(0));
245086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 2", mediaVideoItem2, mediaList.get(1));
245186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 4", mediaImageItem1, mediaList.get(2));
245286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 3", mediaVideoItem3, mediaList.get(3));
245386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
245486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.insertMediaItem(mediaImageItem2, mediaImageItem1.getId());
245586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaList = mVideoEditor.getAllMediaItems();
245686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item List Size", 5, mediaList.size());
245786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 1", mediaVideoItem1, mediaList.get(0));
245886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 2", mediaVideoItem2, mediaList.get(1));
245986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 4", mediaImageItem1, mediaList.get(2));
246086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 5", mediaImageItem2, mediaList.get(3));
246186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 3", mediaVideoItem3, mediaList.get(4));
246286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
246386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.moveMediaItem(mediaVideoItem1.getId(), mediaImageItem2.getId());
246486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaList = mVideoEditor.getAllMediaItems();
246586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item List Size", 5, mediaList.size());
246686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 2", mediaVideoItem2, mediaList.get(0));
246786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 4", mediaImageItem1, mediaList.get(1));
246886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 5", mediaImageItem2, mediaList.get(2));
246986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 1", mediaVideoItem1, mediaList.get(3));
247086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media item 3", mediaVideoItem3, mediaList.get(4));
247186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
247286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Media Item 1", mediaVideoItem1,
247386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.getMediaItem(mediaVideoItem1.getId()));
247486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
247586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
247686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        transition2And4 = null;
247786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try{
247886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition2And4 = mVideoEditorHelper.createTCrossFade(
247986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                "transition2And4", mediaVideoItem2, mediaImageItem1, 2000,
248086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                Transition.BEHAVIOR_MIDDLE_FAST);
248186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addTransition(transition2And4);
248286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
248386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        catch (IllegalArgumentException e) {
248486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
248586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
248686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Transition2and4 cannot be created", flagForException);
248786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
248886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
248986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        TransitionCrossfade transition1And3 = null;
249086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
249186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try{
249286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And3 = mVideoEditorHelper.createTCrossFade(
249386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                "transition1And3", mediaVideoItem1, mediaVideoItem2, 5000,
249486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                Transition.BEHAVIOR_MIDDLE_FAST);
249586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mVideoEditor.addTransition(transition1And3);
249686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            }catch (IllegalArgumentException e) {
249786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                flagForException = true;
249886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            }
249986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition1and3 cannot be created", flagForException);
250086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
250186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        List<Transition> transitionList = mVideoEditor.getAllTransitions();
250286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition List", 1, transitionList.size());
250386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
250486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition 2", transition2And4,
250586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.getTransition(transition2And4.getId()));
250686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
250786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
250886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFilename1);
250986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
251086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
251186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        List<AudioTrack> audioList = mVideoEditor.getAllAudioTracks();
251286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio List", 1, audioList.size());
251386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
251486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack1 = mVideoEditorHelper.createAudio(
251586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack1", audioFilename2);
251686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
251786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
251886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addAudioTrack(audioTrack1);
251986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
252086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
252186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
252286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track support is 1 ", flagForException);
252386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
252486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
252586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
252686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.insertAudioTrack(audioTrack1,"audioTrack");
252786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
252886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
252986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
253086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track supports is 1 ", flagForException);
253186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
253286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Removing AudioTrack", audioTrack,
253386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.removeAudioTrack(audioTrack.getId()));
253486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
253586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Removing transition", transition2And4,
253686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.removeTransition(transition2And4.getId()));
253786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
253886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Removing Media Item", mediaVideoItem2,
253986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.removeMediaItem(mediaVideoItem2.getId()));
254086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
254186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.setAspectRatio(MediaProperties.ASPECT_RATIO_16_9);
254286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Check Aspect Ratio", MediaProperties.ASPECT_RATIO_16_9,
254386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.getAspectRatio());
254486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
254586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        long storyBoardDuration = mediaVideoItem1.getTimelineDuration()
254686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + mediaVideoItem3.getTimelineDuration()
254786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + mediaImageItem1.getDuration()
254886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + mediaImageItem2.getDuration();
254986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Story Board Duration", storyBoardDuration,
255086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.getDuration());
255186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
255286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
255386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
255486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To add Audio Track Greater than MediaItem Duration
255586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
255686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
255786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
255886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_050
255986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
256086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testVideoLessThanAudio() throws Exception {
256186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName1 = INPUT_FILE_PATH
256286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "MPEG4_SP_720x480_30fps_280kbps_AACLC_48kHz_96kbps_s_0_21.mp4";
256386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioTrackFilename = INPUT_FILE_PATH +
256486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
256586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
256686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
256786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
256886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
256986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFileName1, renderingMode);
257086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
257186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
257286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrackId", audioTrackFilename);
257386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
257486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Storyboard = mediaItem Duration",
257586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.getDuration(), mVideoEditor.getDuration());
257686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Duration > mediaItem Duration",
257786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            (audioTrack.getDuration() > mediaVideoItem1.getDuration() ?
257886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            true : false));
257986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
258086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
258186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
258286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test Video Editor API with 1080 P
258386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
258486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
258586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
258686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_051
258786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
258886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testVideoContentHD() throws Exception {
258986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFileName1 = INPUT_FILE_PATH
259086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            + "H264_BP_1920x1080_30fps_1200Kbps_1_10.mp4";
259186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
259286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1;
25933f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3Rajneesh Chowdury        // 1080p resolution is supported on some devices
25943f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3Rajneesh Chowdury        // but not on other devices.
25953f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3Rajneesh Chowdury        // So this test case is not generic and
25963f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3Rajneesh Chowdury        // hence we always assert true
25973f43e7d37f8efb0a0c6c07d1d0dd5103e26922d3Rajneesh Chowdury        boolean flagForException = true;
259886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
259986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1 = mVideoEditorHelper.createMediaItem(mVideoEditor,
260086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                "m1", videoItemFileName1, renderingMode);
260186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
260286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
260386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("VideoContent 1920x1080", flagForException);
260486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
260586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
260686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
260786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
260886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test: Remove audio track
260986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
261086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
261186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
261286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_052
261386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
261486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testRemoveAudioTrack() throws Exception {
261586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
261686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
261786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
261886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
261986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
262086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack1", audioFileName);
262186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
262286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
262386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Audio Track Item Duration", audioTrack.getDuration(),
262486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.getTimelineDuration());
262586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Audio Track ID", audioTrack.getId().equals("audioTrack1"));
262686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertNotNull("Remove Audio Track",
262786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.removeAudioTrack("audioTrack1"));
262886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try{
262986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.removeAudioTrack("audioTrack1");
263086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }catch (IllegalArgumentException e){
263186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
263286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
263386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Remove Audio Track not possible", flagForException);
263486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
263586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
263686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru      /**
263786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test: Disable ducking
263886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
263986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
264086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
264186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_053
264286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
264386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testAudioDuckingDisable() throws Exception {
264486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
264586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
264686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
264786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
264886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
264986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
265086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        audioTrack.disableDucking();
265186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Audio Track Ducking is Disabled",
265286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            audioTrack.isDuckingEnabled());
265386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
265486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
265586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
265686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_054
265786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /** This test case is added with Test case ID TC_API_010 */
265886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
265986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru      /**
266086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test: Need a basic test case for the get value for TransitionAlpha
266186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *  ( ie. getBlendingPercent, getMaskFilename, isInvert)
266286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
266386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
266486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
266586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_055
266686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
266786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testTransitionAlphaBasic() throws Exception {
266886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
266986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
267086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
267186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String maskFilename = INPUT_FILE_PATH + "IMG_640x480_Overlay1.png";
267286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
267386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
267486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaVideoItem mediaVideoItem1 =
267586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
267686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
267786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
267886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
267986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem =
268086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2", maskFilename,
268186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
268286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem.setDuration(15000);
268386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
268486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
268586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem);
268686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final TransitionAlpha transition1And2 =
268786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createTAlpha("transition1And2", mediaVideoItem1,
268886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                mediaImageItem, 3000, Transition.BEHAVIOR_SPEED_UP,
268986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                maskFilename, 10, false);
269086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addTransition(transition1And2);
269186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Transition maskFile",
269286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getMaskFilename().equals(maskFilename));
269386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertEquals("Transition BlendingPercent", 10,
269486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            transition1And2.getBlendingPercent());
269586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertFalse("Transition Invert", transition1And2.isInvert());
269686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
269786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
269886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    /**
269986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * To test: NULL arguments to the Video Editor APIs
270086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     *
270186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     * @throws Exception
270286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru     */
270386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    // TODO : remove TC_API_056
270486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    @LargeTest
270586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    public void testNullAPIs() throws Exception {
270686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
270786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String videoItemFilename1 = INPUT_FILE_PATH +
270886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "H264_BP_640x480_30fps_256kbps_1_17.mp4";
270986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String maskFilename = INPUT_FILE_PATH +
271086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "IMG_640x480_Overlay1.png";
271186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final String audioFileName = INPUT_FILE_PATH +
271286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
271386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        boolean flagForException = false;
271486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
271586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
271686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addAudioTrack(null);
271786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
271886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
271986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
272086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Video Editor with null Audio Track", flagForException);
272186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
272286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
272386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addMediaItem(null);
272486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
272586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
272686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
272786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Video Editor with NULL Image Item ", flagForException);
272886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
272986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
273086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addMediaItem(null);
273186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
273286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
273386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
273486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Video Editor with NULL Video Item ", flagForException);
273586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
273686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        MediaVideoItem mediaVideoItem1 = null;
273786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
273886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1 =
273986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m1",
274086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                videoItemFilename1, MediaItem.RENDERING_MODE_BLACK_BORDER);
274186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch (IllegalArgumentException e) {
274286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            assertTrue("Cannot Create Video Item", false);
274386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
274486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaVideoItem1.setExtractBoundaries(0, 15000);
274586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaVideoItem1);
274686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
274786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
274886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.addEffect(null);
274986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
275086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
275186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
275286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Video with null effect ", flagForException);
275386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
275486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
275586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaVideoItem1.addOverlay(null);
275686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
275786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
275886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
275986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Video with null overlay ", flagForException);
276086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
276186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final MediaImageItem mediaImageItem =
276286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditorHelper.createMediaItem(mVideoEditor, "m2", maskFilename,
276386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru                10000, MediaItem.RENDERING_MODE_BLACK_BORDER);
276486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mediaImageItem.setDuration(15000);
276586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addMediaItem(mediaImageItem);
276686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
276786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
276886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem.addEffect(null);
276986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
277086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
277186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
277286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Image with null effect ", flagForException);
277386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
277486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
277586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mediaImageItem.addOverlay(null);
277686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
277786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
277886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
277986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Image with null overlay ", flagForException);
278086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
278186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio(
278286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor, "audioTrack", audioFileName);
278386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        mVideoEditor.addAudioTrack(audioTrack);
278486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
278586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
278686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
278786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addTransition(null);
278886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
278986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
279086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
279186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Added null transition ", flagForException);
279286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
279386e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        flagForException = false;
279486e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        try {
279586e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            mVideoEditor.addTransition(null);
279686e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        } catch(IllegalArgumentException e) {
279786e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru            flagForException = true;
279886e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        }
279986e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru        assertTrue("Added null transition ", flagForException);
280086e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru
280186e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru    }
280286e9e9be1e6cbcc0f8dbb2ecc41fafa7ddb5f8d1Basavapatna Dattaguru}
2803