1c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru/*
2c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * Copyright (C) 2011 The Android Open Source Project
3c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru *
4c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * Licensed under the Apache License, Version 2.0 (the "License");
5c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * you may not use this file except in compliance with the License.
6c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * You may obtain a copy of the License at
7c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru *
8c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru *      http://www.apache.org/licenses/LICENSE-2.0
9c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru *
10c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * Unless required by applicable law or agreed to in writing, software
11c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * distributed under the License is distributed on an "AS IS" BASIS,
12c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * See the License for the specific language governing permissions and
14c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru * limitations under the License.
15c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru */
16c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
17db6028508c8eb31a0de1dcdfc410ddfe6df7c5adXia Wangpackage com.android.mediaframeworktest.functional.videoeditor;
18c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
19c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport java.io.File;
20c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport java.io.IOException;
21c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
22c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.AudioTrack;
23c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.MediaImageItem;
24c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.MediaItem;
25c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.MediaProperties;
26c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.MediaVideoItem;
27c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.media.videoeditor.VideoEditor;
28c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.os.Environment;
29c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.test.ActivityInstrumentationTestCase;
30c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport android.test.suitebuilder.annotation.LargeTest;
31c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport com.android.mediaframeworktest.MediaFrameworkTest;
32c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguruimport com.android.mediaframeworktest.VideoEditorHelper;
33d0c281328903189b42585948054cfb14a1385d50shailendraimport com.android.mediaframeworktest.MediaProfileReader;
34c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
35c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattagurupublic class MediaPropertiesTest extends
36c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    ActivityInstrumentationTestCase<MediaFrameworkTest> {
37c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    private final String TAG = "MediaPropertiesTest";
38c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
39c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    private final String PROJECT_LOCATION = VideoEditorHelper.PROJECT_LOCATION_COMMON;
40c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
41c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    private final String INPUT_FILE_PATH = VideoEditorHelper.INPUT_FILE_PATH_COMMON;
42c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
43c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    private VideoEditor mVideoEditor;
44c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
45c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    private VideoEditorHelper mVideoEditorHelper;
46c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
47c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public MediaPropertiesTest() {
48c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        super("com.android.mediaframeworktest", MediaFrameworkTest.class);
49c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
50c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
51c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @Override
52c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    protected void setUp() throws Exception {
53c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        // setup for each test case.
54c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        super.setUp();
55c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        mVideoEditorHelper = new VideoEditorHelper();
56c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        // Create a random String which will be used as project path,
57c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        // where all project related files will be stored.
58c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String projectPath = mVideoEditorHelper.
59c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            createRandomFile(PROJECT_LOCATION);
60c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        mVideoEditor = mVideoEditorHelper.createVideoEditor(projectPath);
61c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
62c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
63c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @Override
64c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    protected void tearDown() throws Exception {
65c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        mVideoEditorHelper.destroyVideoEditor(mVideoEditor);
66c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        // Clean the directory created as project path
67c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        mVideoEditorHelper.deleteProject(new File(mVideoEditor.getPath()));
68c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        System.gc();
69c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        super.tearDown();
70c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
71c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
72c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    protected void validateVideoProperties(int aspectRatio, int fileType,
73c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        int videoCodecType, int duration, int videoBitrate, int fps,
743ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        int videoProfile, int videoLevel, int width, int height, int audioCodecType,
75c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        int audioSamplingFrequency, int audioChannel, int audioBitrate,
76c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        MediaVideoItem mvi) throws Exception {
77c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Aspect Ratio Mismatch", aspectRatio, mvi.getAspectRatio());
78c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("File Type Mismatch", fileType, mvi.getFileType());
79c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("VideoCodec Mismatch", videoCodecType, mvi.getVideoType());
80c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
81c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Video duration Mismatch", mVideoEditorHelper.checkRange (
82c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            duration, mvi.getDuration(), 10));
83c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Video Profile " + mvi.getVideoProfile(), videoProfile,
84c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            mvi.getVideoProfile());
853ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        assertEquals("Video Level " + mvi.getVideoLevel(), videoLevel,
863ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            mvi.getVideoLevel());
87c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Video height " + mvi.getHeight(), height, mvi.getHeight());
88c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Video width " + mvi.getWidth(), width, mvi.getWidth());
89c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        /** Check FPS with 10% range */
90c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("fps Mismatch" + mvi.getFps(),
91c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            mVideoEditorHelper.checkRange(fps, mvi.getFps(), 10));
92c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
93c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("AudioType Mismatch ", audioCodecType, mvi.getAudioType());
94c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Audio Sampling " + mvi.getAudioSamplingFrequency(),
95c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, mvi.getAudioSamplingFrequency());
96aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        // PV SW AAC codec always returns number of channels as Stereo.
97aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        // So we do not assert for number of audio channels for AAC_LC
98aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        if ( audioCodecType != MediaProperties.ACODEC_AAC_LC ) {
99aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury            assertEquals("Audio Channels " + mvi.getAudioChannels(), audioChannel,
100aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury                mvi.getAudioChannels());
101aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        }
102c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
103c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
104c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    protected void validateAudioProperties(int audioCodecType, int duration,
105c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        int audioSamplingFrequency, int audioChannel, int audioBitrate,
106c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        AudioTrack aT) throws Exception {
107c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("AudioType Mismatch ", audioCodecType, aT.getAudioType());
108c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Video duration Mismatch", mVideoEditorHelper.checkRange (
109c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            duration, aT.getDuration(), 10));
110c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Audio Sampling " + aT.getAudioSamplingFrequency(),
111c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, aT.getAudioSamplingFrequency());
112aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        // PV SW AAC codec always returns number of channels as Stereo.
113aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        // So we do not assert for number of audio channels for AAC_LC
114aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        if ( audioCodecType != MediaProperties.ACODEC_AAC_LC ) {
115aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury            assertEquals("Audio Channels " + aT.getAudioChannels(), audioChannel,
116aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury                aT.getAudioChannels());
117aea7d6cdfbe7e60b5ac4071759c39bfb2b11af3fRajneesh Chowdury        }
118c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
119c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
120c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    protected void validateImageProperties(int aspectRatio, int fileType,
121c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        int width, int height, MediaImageItem mii)
122c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        throws Exception {
123c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Aspect Ratio Mismatch", aspectRatio, mii.getAspectRatio());
124c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("File Type Mismatch", fileType, mii.getFileType());
125c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Image height " + mii.getHeight(), height, mii.getHeight());
126c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertEquals("Image width " + mii.getWidth(), width, mii.getWidth());
127c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
128c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
129c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
130c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
131c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file MPEG4 854 x 480
132c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
133c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
134c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEG4854_480() throws Exception {
135c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
136c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "MPEG4_SP_854x480_15fps_256kbps_AACLC_16khz_48kbps_s_0_26.mp4";
137c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_16_9;
138c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
139c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_MPEG4;
140c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26933;
141c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 319000;
142c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 48000;
143c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
144c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
145c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 16000;
146c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
1473ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.MPEG4Profile.MPEG4ProfileSimple;
1483ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.MPEG4Level.MPEG4Level1;
149c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 854;
150c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
151c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
152c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
153c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename,
154c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            MediaItem.RENDERING_MODE_BLACK_BORDER);
155c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
156c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
1573ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
158c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
159c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
160c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
161c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
162c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
163c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file MPEG4 WVGA
164c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
165c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
166c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEGWVGA() throws Exception {
167c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
168c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "MPEG4_SP_800x480_515kbps_15fps_AMR_NB_8KHz_12.2kbps_m_0_26.mp4";
169c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_5_3;
170c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
171c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_MPEG4;
172c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26933;
173c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 384000;
174c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 12800;
175c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
176c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AMRNB;
177c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 8000;
178c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 1;
1793ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.MPEG4Profile.MPEG4ProfileSimple;
1803ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.MPEG4Level.MPEG4Level1;
181c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 800;
182c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
183c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
184c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
185c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
186c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
187c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
188c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
1893ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
190c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
191c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
192c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
193c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
194c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test media properties for MPEG4 720x480 (NTSC) + AAC file.
195c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
196c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
197c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEGNTSC() throws Exception {
198c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
199c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "MPEG4_SP_720x480_30fps_280kbps_AACLC_48kHz_161kbps_s_0_26.mp4";
200c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_3_2;
201c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
202c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_MPEG4;
203c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26866;
204c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 403000;
205c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 160000;
206c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 30;
207c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
208c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 48000;
209c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
2103ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.MPEG4Profile.MPEG4ProfileSimple;
2113ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.MPEG4Level.MPEG4Level1;
212c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 720;
213c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
214c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
215c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
216c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
217c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
218c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
219c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
2203ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
221c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
222c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
223c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
224c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
225c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file MPEG4 VGA
226c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
227c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
228c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEGVGA() throws Exception {
229c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
230c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "MPEG4_SP_640x480_15fps_512kbps_AACLC_48khz_132kbps_s_0_26.mp4";
231c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_4_3;
232c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
233c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_MPEG4;
234c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26933;
235c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 533000;
236c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 128000;
237c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
238c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
239c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 48000;
240c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
2413ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.MPEG4Profile.MPEG4ProfileSimple;
2423ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.MPEG4Level.MPEG4Level1;
243c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 640;
244c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
245c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
246c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
247c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
248c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
249c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
250c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
2513ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
252c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
253c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
254c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
255c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
256c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file MPEG4 QCIF
257c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
258c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
259c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEGQCIF() throws Exception {
260c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
261c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "MPEG4_SP_176x144_12fps_92kbps_AMRNB_8KHz_12.2kbps_m_0_27.3gp";
262c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_11_9;
263c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_3GP;
264c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_MPEG4;
265c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 27000;
266c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 384000;
267c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 12200;
268c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 12;
269c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AMRNB;
270c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 8000;
271c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 1;
2723ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.MPEG4Profile.MPEG4ProfileSimple;
2733ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.MPEG4Level.MPEG4Level1;
274c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 176;
275c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_144;
276c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
277c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
278c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
279c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
280c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
281c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
2823ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
283c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
284c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
285c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
286c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
287c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To To test media properties for H263 176x144 (QCIF) + AAC (mono) file.
288c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
289c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
290c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH263QCIF() throws Exception {
291c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
292c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H263_profile0_176x144_15fps_256kbps_AACLC_16kHz_32kbps_m_0_26.3gp";
293c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_11_9;
294c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_3GP;
295c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoCodecType = MediaProperties.VCODEC_H263;
296c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26933;
297c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 384000;
298c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 64000;
299c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
300c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
301c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 16000;
302c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 1;
3033ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H263Profile.H263ProfileBaseline;
3043ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H263Level.H263Level10;
305c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 176;
306c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_144;
307c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
308c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
309c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
310c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
311c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
3123ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
313c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
314c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
315c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
316c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
317c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file H264 VGA
318c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
319c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
320c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264VGA() throws Exception {
321c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
322c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H264_BP_640x480_15fps_1200Kbps_AACLC_48KHz_64kps_m_0_27.3gp";
323c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_4_3;
324c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_3GP;
3253ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
326c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77600;
327c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 745000;
328c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 64000;
329c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
330c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
331c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 48000;
332c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
3333ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
3343ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
335c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 640;
336c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
337c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
338c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
339c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
340c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
341c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
3423ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
343c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
344c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
345c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
346c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
347c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file H264 NTSC
348c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
349c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
350c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264NTSC() throws Exception {
351c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
352c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H264_BP_720x480_25fps_256kbps_AMRNB_8khz_12.2kbps_m_0_26.mp4";
353c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_3_2;
354c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
3553ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
356c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 26880;
357c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 244000;
358c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 12200;
359c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 25;
360c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AMRNB;
361c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 8000;
362c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 1;
3633ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
3643ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
365c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 720;
366c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
367c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
368c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
369c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
370c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
371c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
372c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
3733ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
374c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
375c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
376c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
377c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
378c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test media properties for H264 800x480 (WVGA) + AAC file.
379c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
380c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
381c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264WVGA() throws Exception {
382c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH +
383c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru              "H264_BP_800x480_15fps_512kbps_AACLC_24KHz_38Kbps_s_1_17.mp4";
384c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_5_3;
385c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
3863ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
387c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77466;
388c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 528000;
389c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 38000;
390c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
391c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
392c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 24000;
393c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
3943ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
3953ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
396c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 800;
397c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
398c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
399c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
400c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
401c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
402c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
403c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
4043ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
405c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
406c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
407c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
408c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
409c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file H264 HD1280
410c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
411c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
412c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264HD1280() throws Exception {
413c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
414c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H264_BP_1280x720_15fps_512kbps_AACLC_16khz_48kbps_s_1_17.mp4";
415c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_16_9;
416c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
4173ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
418c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77600;
419c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 606000;
420c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 48000;
421c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 15;
422c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
423c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 16000;
424c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
4253ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
4263ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
427c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 1280;
428c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_720;
429c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
430c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
431c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
432c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
433c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
434c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
4353ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
436c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
437c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
438c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
439c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
440c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test media properties for H264 1080x720 + AAC file
441c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
442c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
443c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264HD1080WithAudio() throws Exception {
444c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
445c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H264_BP_1080x720_30fps_12Mbps_AACLC_44.1khz_64kbps_s_1_17.mp4";
446c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_3_2;
447c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
4483ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
449c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77500;
450c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 1190000;
451c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 64000;
452c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 10;
453c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
454c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 44100;
455c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
4563ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
4573ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
458c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 1080;
459c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_720;
460c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
461c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
462c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
463c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
464c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
465c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
4663ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
467c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
468c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
469c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
470c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
471c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file WMV - Unsupported type
472c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
473c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
474c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesWMVFile() throws Exception {
475c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH +
476c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "WMV_V7_640x480_15fps_512Kbps_wma_V9_44khz_48Kbps_s_1_30.wmv";
477c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
478d0c281328903189b42585948054cfb14a1385d50shailendra        if (MediaProfileReader.getWMVEnable() == false) {
479c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
480d0c281328903189b42585948054cfb14a1385d50shailendra        } else {
481d0c281328903189b42585948054cfb14a1385d50shailendra            try {
482d0c281328903189b42585948054cfb14a1385d50shailendra                new MediaVideoItem(mVideoEditor, "m1", videoItemFilename,
483d0c281328903189b42585948054cfb14a1385d50shailendra                    MediaItem.RENDERING_MODE_BLACK_BORDER);
484d0c281328903189b42585948054cfb14a1385d50shailendra            } catch (IllegalArgumentException e) {
485d0c281328903189b42585948054cfb14a1385d50shailendra                flagForException = true;
486d0c281328903189b42585948054cfb14a1385d50shailendra            } catch (IOException e) {
487d0c281328903189b42585948054cfb14a1385d50shailendra                flagForException = true;
488d0c281328903189b42585948054cfb14a1385d50shailendra            }
489c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
490c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for a WMV File -- Unsupported file type",
491c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
492c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
493c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
494c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
4953ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury     *To test media properties for H.264 Main/Advanced profile.
496c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
497c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
498c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264MainLineProfile() throws Exception {
499c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH
500c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            + "H264_MP_960x720_25fps_800kbps_AACLC_48Khz_192Kbps_s_1_17.mp4";
501c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_4_3;
5023ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
5033ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int fileType = MediaProperties.FILE_MP4;
5043ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int duration = 77500;
5053ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoBitrate = 800000;
5063ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int audioBitrate = 192000;
5073ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int fps = 25;
5083ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
5093ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int audioSamplingFrequency = 48000;
5103ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int audioChannel = 2;
5113ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileMain;
5123ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level31;
5133ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int width = 960;
5143ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int height = MediaProperties.HEIGHT_720;
515c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
516c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
517c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
518c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
5193ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury
5203ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
5213ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
5223ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
5233ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury
524c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
525c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
526c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
527c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for non existing file.
528c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
529c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
530c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesForNonExsitingFile() throws Exception {
531c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH + "abc.3gp";
532c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
533c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
534c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
535c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaVideoItem(mVideoEditor, "m1", videoItemFilename,
536c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                MediaItem.RENDERING_MODE_BLACK_BORDER);
537c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
538c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
539c8b4efdd743995219af494c5cdcb036591d8e06eshailendra        } catch (IOException e) {
540c8b4efdd743995219af494c5cdcb036591d8e06eshailendra            flagForException = true;
541c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
542c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for non exsisting file", flagForException);
543c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     }
544c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
545c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
546c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file H264 HD1080
547c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
548c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
549c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesH264HD1080WithoutAudio() throws Exception {
550c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH +
551c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "H264_BP_1080x720_30fps_800kbps_1_17.mp4";
552c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_3_2;
553c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_MP4;
5543ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoCodecType = MediaProperties.VCODEC_H264;
555c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77366;
556c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int videoBitrate = 859000;
557c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 0;
558c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fps = 30;
559c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = -1;
560c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 0;
561c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 0;
5623ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoProfile = MediaProperties.H264Profile.H264ProfileBaseline;
5633ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury        final int videoLevel = MediaProperties.H264Level.H264Level13;
564c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 1080;
565c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_720;
566c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
567c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
568c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaVideoItem mvi = mVideoEditorHelper.createMediaItem
569c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", videoItemFilename, renderingMode);
570c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
571c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateVideoProperties(aspectRatio, fileType, videoCodecType, duration,
5723ced044154945f9d60983032278e00fe28f4ab1bRajneesh Chowdury            videoBitrate, fps, videoProfile, videoLevel, width, height, audioCodecType,
573c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioSamplingFrequency, audioChannel, audioBitrate, mvi);
574c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
575c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
576c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
577c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for Image file of JPEG Type
578c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
579c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
580c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesVGAImage() throws Exception {
581c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String imageItemFilename = INPUT_FILE_PATH + "IMG_640x480.jpg";
582c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int imageItemDuration = 10000;
583c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_4_3;
584c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_JPEG;
585c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 640;
586c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = MediaProperties.HEIGHT_480;
587c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
588c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
589c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaImageItem mii = mVideoEditorHelper.createMediaItem
590c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", imageItemFilename, imageItemDuration,
591c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            renderingMode);
592c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateImageProperties(aspectRatio, fileType, width, height, mii);
593c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
594c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
595c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
596c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for Image file of PNG Type
597c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
598c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
599c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesPNG() throws Exception {
600c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String imageItemFilename = INPUT_FILE_PATH + "IMG_640x480.png";
601c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int imageItemDuration = 10000;
602c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int aspectRatio = MediaProperties.ASPECT_RATIO_4_3;
603c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int fileType = MediaProperties.FILE_PNG;
604c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int width = 640;
605c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int height = 480;
606c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
607c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final MediaImageItem mii = mVideoEditorHelper.createMediaItem
608c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "m1", imageItemFilename, imageItemDuration,
609c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            renderingMode);
610c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateImageProperties(aspectRatio, fileType, width, height, mii);
611c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
612c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
613c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
614c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file GIF - Unsupported type
615c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
616c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
617c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesGIFFile() throws Exception {
618c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
619c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String imageItemFilename = INPUT_FILE_PATH + "IMG_640x480.gif";
620c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int imageItemDuration = 10000;
621c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
622c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
623c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
624c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaImageItem(mVideoEditor, "m1", imageItemFilename,
625c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                imageItemDuration, renderingMode);
626c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
627c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
628c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
629c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for a GIF File -- Unsupported file type",
630c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
631c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
632c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
633c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
634c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file Text file named as 3GP
635c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
636c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
637c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesofDirtyFile() throws Exception {
638c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
639c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH +
640c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "Text_FileRenamedTo3gp.3gp";
641c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
642c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
643c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
644c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaVideoItem(mVideoEditor, "m1", videoItemFilename,
645c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                MediaItem.RENDERING_MODE_BLACK_BORDER);
646c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
647c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
648c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
649c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for a Dirty  File ",
650c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
651c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
652c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
653c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
654c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file name as NULL
655c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
656c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
657c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertieNULLFile() throws Exception {
658c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = null;
659c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
660c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
661c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
662c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaVideoItem(mVideoEditor, "m1", videoItemFilename,
663c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                renderingMode);
664c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
665c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
666c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
667c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for NULL  File ",
668c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
669c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
670c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
671c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
672c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test Media Properties for file which is of type MPEG2
673c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
674c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
675c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMPEG2File() throws Exception {
676c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String videoItemFilename = INPUT_FILE_PATH +
677c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "MPEG2_640x480_30fps_192kbps_1_5.mp4";
678c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
679c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
680c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
681c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaVideoItem(mVideoEditor, "m1", videoItemFilename,
682c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                renderingMode);
683c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
684c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
685c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
686c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Media Properties for a MPEG2 File --Unsupported file type",
687c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
688c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
689c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
690c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
691e1103cfc781b09d1a227f448374473093a451d6fJames Dong     *To test Media Properties for file without Video only Audio
692c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
693c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
694c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testProperties3GPWithoutVideoMediaItem() throws Exception {
695c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String audioFilename = INPUT_FILE_PATH +
696c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "AACLC_48KHz_256Kbps_s_1_17.3gp";
697c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        boolean flagForException = false;
698c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int renderingMode = MediaItem.RENDERING_MODE_BLACK_BORDER;
699c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        try {
700c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            new MediaVideoItem(mVideoEditor, "m1", audioFilename,
701c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru                renderingMode);
702c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        } catch (IllegalArgumentException e) {
703c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException = true;
704c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        }
705c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        assertTrue("Exception in Creaing Media Video item object without video",
706c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            flagForException);
707c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
708c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
709c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    /**
710c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test media properties for Audio Track file. (No Video, AAC Audio)
711c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
712c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
713c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testProperties3GPWithoutVideoAudioTrack() throws Exception {
714c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
715c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String audioFilename = INPUT_FILE_PATH +
716c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "AACLC_44.1kHz_256kbps_s_1_17.mp4";
717c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77554;
718c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 384000;
719c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_AAC_LC;
720c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 44100;
721c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
722c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
723c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio
724c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "a1", audioFilename);
725c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
726c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateAudioProperties(audioCodecType, duration, audioSamplingFrequency,
727c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioChannel, audioBitrate, audioTrack);
728c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
729c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
730c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        /**
731c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     *To test media properties for Audio Track file. MP3 file
732c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru     */
733c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    @LargeTest
734c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    public void testPropertiesMP3AudioTrack() throws Exception {
735c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
736c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final String audioFilename = INPUT_FILE_PATH +
737c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            "MP3_48KHz_128kbps_s_1_17.mp3";
738c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int duration = 77640;
739c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioBitrate = 128000;
740c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioCodecType = MediaProperties.ACODEC_MP3;
741c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioSamplingFrequency = 48000;
742c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final int audioChannel = 2;
743c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
744c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        final AudioTrack audioTrack = mVideoEditorHelper.createAudio
745c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            (mVideoEditor, "a1", audioFilename);
746c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru
747c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru        validateAudioProperties(audioCodecType, duration, audioSamplingFrequency,
748c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru            audioChannel, audioBitrate, audioTrack);
749c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru    }
750c0171d3e7b3459168e8db76b7f5d72b07f69f42aBasavapatna Dattaguru}
751