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