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