Loading media/tests/benchmark/MediaBenchmarkTest/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,10 @@ android_test { "android.test.base", ], jni_libs: [ "libmediabenchmark_jni", ], static_libs: [ "libMediaBenchmark", "junit", Loading media/tests/benchmark/MediaBenchmarkTest/build.gradle +13 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ android { compileSdkVersion 29 defaultConfig { applicationId "com.android.media.benchmark" minSdkVersion 21 minSdkVersion 28 targetSdkVersion 29 versionCode 1 versionName "1.0" Loading @@ -48,6 +48,18 @@ android { manifest.srcFile 'AndroidManifest.xml' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.10.2" } } } repositories { Loading media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/DecoderTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.media.benchmark.R; import com.android.media.benchmark.library.CodecUtils; import com.android.media.benchmark.library.Decoder; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -44,6 +45,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class DecoderTest { private static final Context mContext = Loading Loading @@ -194,4 +197,32 @@ public class DecoderTest { + mInputFilePath); } } @Test public void testNativeDecoder() throws IOException { File inputFile = new File(mInputFilePath + mInputFile); assertTrue("Cannot find " + mInputFile + " in directory " + mInputFilePath, inputFile.exists()); int status = -1; FileInputStream fileInput = new FileInputStream(inputFile); FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); int trackCount = extractor.setUpExtractor(fileDescriptor); assertTrue("Extraction failed. No tracks for file: ", trackCount > 0); for (int currentTrack = 0; currentTrack < trackCount; currentTrack++) { extractor.selectExtractorTrack(currentTrack); MediaFormat format = extractor.getFormat(currentTrack); String mime = format.getString(MediaFormat.KEY_MIME); ArrayList<String> mediaCodecs = CodecUtils.selectCodecs(mime, false); for (String codecName : mediaCodecs) { Log.i("Test: %s\n", mInputFile); Native nativeDecoder = new Native(); status = nativeDecoder.Decode(mInputFilePath, mInputFile, codecName, mAsyncMode); assertTrue( codecName + " decoder returned error " + status + " for file:" + mInputFile, status == 0); } } fileInput.close(); } } media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/EncoderTest.java +42 −4 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.media.benchmark.library.CodecUtils; import com.android.media.benchmark.library.Decoder; import com.android.media.benchmark.library.Encoder; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -43,6 +44,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class EncoderTest { private static final Context mContext = Loading Loading @@ -85,19 +88,16 @@ public class EncoderTest { public void sampleEncoderTest() throws Exception { int status; int frameSize; //Parameters for video int width = 0; int height = 0; int profile = 0; int level = 0; int frameRate = 0; //Parameters for audio int bitRate = 0; int sampleRate = 0; int numChannels = 0; File inputFile = new File(mInputFilePath + mInputFile); if (inputFile.exists()) { FileInputStream fileInput = new FileInputStream(inputFile); Loading Loading @@ -129,7 +129,6 @@ public class EncoderTest { bufInfo.presentationTimeUs + " size = " + bufInfo.size); } } while (sampleSize > 0); int tid = android.os.Process.myTid(); File decodedFile = new File(mContext.getFilesDir() + "/decoder_" + tid + ".out"); FileOutputStream decodeOutputStream = new FileOutputStream(decodedFile); Loading Loading @@ -269,4 +268,43 @@ public class EncoderTest { mInputFilePath); } } @Test public void testNativeEncoder() throws Exception { File inputFile = new File(mInputFilePath + mInputFile); assertTrue("Cannot find " + mInputFile + " in directory " + mInputFilePath, inputFile.exists()); int status = -1; int tid = android.os.Process.myTid(); final String mDecodedFile = mContext.getFilesDir() + "/decoder_" + tid + ".out"; FileInputStream fileInput = new FileInputStream(inputFile); FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); int trackCount = extractor.setUpExtractor(fileDescriptor); assertTrue("Extraction failed. No tracks for file: ", trackCount > 0); for (int currentTrack = 0; currentTrack < trackCount; currentTrack++) { extractor.selectExtractorTrack(currentTrack); MediaFormat format = extractor.getFormat(currentTrack); String mime = format.getString(MediaFormat.KEY_MIME); ArrayList<String> mediaCodecs = CodecUtils.selectCodecs(mime, true); // Encoding the decoder's output for (String codecName : mediaCodecs) { Native nativeEncoder = new Native(); status = nativeEncoder.Encode(mInputFilePath, mInputFile, mDecodedFile, codecName); assertTrue( codecName + " encoder returned error " + status + " for file:" + mInputFile, status == 0); } } File decodedFile = new File(mDecodedFile); // Cleanup temporary input file if (decodedFile.exists()) { if (decodedFile.delete()) { Log.i(TAG, "Successfully deleted - " + mDecodedFile); } else { Log.e(TAG, "Unable to delete - " + mDecodedFile); } } fileInput.close(); } } media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/ExtractorTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.media.benchmark.tests; import com.android.media.benchmark.R; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import android.content.Context; import android.util.Log; Loading Loading @@ -89,4 +90,25 @@ public class ExtractorTest { } assertThat(status, is(equalTo(0))); } @Test public void sampleExtractNativeTest() throws IOException { Native nativeExtractor = new Native(); int status = -1; File inputFile = new File(mInputFilePath + mInputFileName); if (inputFile.exists()) { FileInputStream fileInput = new FileInputStream(inputFile); status = nativeExtractor.Extract(mInputFilePath, mInputFileName); fileInput.close(); if (status != 0) { Log.e(TAG, "Extraction for " + mInputFileName + " failed."); } else { Log.i(TAG, "Extracted " + mInputFileName + " successfully."); } } else { Log.e(TAG, "Cannot find " + inputFile + " in directory " + mInputFilePath); } assertThat(status, is(equalTo(0))); } } Loading
media/tests/benchmark/MediaBenchmarkTest/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,10 @@ android_test { "android.test.base", ], jni_libs: [ "libmediabenchmark_jni", ], static_libs: [ "libMediaBenchmark", "junit", Loading
media/tests/benchmark/MediaBenchmarkTest/build.gradle +13 −1 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ android { compileSdkVersion 29 defaultConfig { applicationId "com.android.media.benchmark" minSdkVersion 21 minSdkVersion 28 targetSdkVersion 29 versionCode 1 versionName "1.0" Loading @@ -48,6 +48,18 @@ android { manifest.srcFile 'AndroidManifest.xml' } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path "src/main/cpp/CMakeLists.txt" version "3.10.2" } } } repositories { Loading
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/DecoderTest.java +31 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ import com.android.media.benchmark.R; import com.android.media.benchmark.library.CodecUtils; import com.android.media.benchmark.library.Decoder; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -44,6 +45,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class DecoderTest { private static final Context mContext = Loading Loading @@ -194,4 +197,32 @@ public class DecoderTest { + mInputFilePath); } } @Test public void testNativeDecoder() throws IOException { File inputFile = new File(mInputFilePath + mInputFile); assertTrue("Cannot find " + mInputFile + " in directory " + mInputFilePath, inputFile.exists()); int status = -1; FileInputStream fileInput = new FileInputStream(inputFile); FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); int trackCount = extractor.setUpExtractor(fileDescriptor); assertTrue("Extraction failed. No tracks for file: ", trackCount > 0); for (int currentTrack = 0; currentTrack < trackCount; currentTrack++) { extractor.selectExtractorTrack(currentTrack); MediaFormat format = extractor.getFormat(currentTrack); String mime = format.getString(MediaFormat.KEY_MIME); ArrayList<String> mediaCodecs = CodecUtils.selectCodecs(mime, false); for (String codecName : mediaCodecs) { Log.i("Test: %s\n", mInputFile); Native nativeDecoder = new Native(); status = nativeDecoder.Decode(mInputFilePath, mInputFile, codecName, mAsyncMode); assertTrue( codecName + " decoder returned error " + status + " for file:" + mInputFile, status == 0); } } fileInput.close(); } }
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/EncoderTest.java +42 −4 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ import com.android.media.benchmark.library.CodecUtils; import com.android.media.benchmark.library.Decoder; import com.android.media.benchmark.library.Encoder; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import org.junit.Test; import org.junit.runner.RunWith; Loading @@ -43,6 +44,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class EncoderTest { private static final Context mContext = Loading Loading @@ -85,19 +88,16 @@ public class EncoderTest { public void sampleEncoderTest() throws Exception { int status; int frameSize; //Parameters for video int width = 0; int height = 0; int profile = 0; int level = 0; int frameRate = 0; //Parameters for audio int bitRate = 0; int sampleRate = 0; int numChannels = 0; File inputFile = new File(mInputFilePath + mInputFile); if (inputFile.exists()) { FileInputStream fileInput = new FileInputStream(inputFile); Loading Loading @@ -129,7 +129,6 @@ public class EncoderTest { bufInfo.presentationTimeUs + " size = " + bufInfo.size); } } while (sampleSize > 0); int tid = android.os.Process.myTid(); File decodedFile = new File(mContext.getFilesDir() + "/decoder_" + tid + ".out"); FileOutputStream decodeOutputStream = new FileOutputStream(decodedFile); Loading Loading @@ -269,4 +268,43 @@ public class EncoderTest { mInputFilePath); } } @Test public void testNativeEncoder() throws Exception { File inputFile = new File(mInputFilePath + mInputFile); assertTrue("Cannot find " + mInputFile + " in directory " + mInputFilePath, inputFile.exists()); int status = -1; int tid = android.os.Process.myTid(); final String mDecodedFile = mContext.getFilesDir() + "/decoder_" + tid + ".out"; FileInputStream fileInput = new FileInputStream(inputFile); FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); int trackCount = extractor.setUpExtractor(fileDescriptor); assertTrue("Extraction failed. No tracks for file: ", trackCount > 0); for (int currentTrack = 0; currentTrack < trackCount; currentTrack++) { extractor.selectExtractorTrack(currentTrack); MediaFormat format = extractor.getFormat(currentTrack); String mime = format.getString(MediaFormat.KEY_MIME); ArrayList<String> mediaCodecs = CodecUtils.selectCodecs(mime, true); // Encoding the decoder's output for (String codecName : mediaCodecs) { Native nativeEncoder = new Native(); status = nativeEncoder.Encode(mInputFilePath, mInputFile, mDecodedFile, codecName); assertTrue( codecName + " encoder returned error " + status + " for file:" + mInputFile, status == 0); } } File decodedFile = new File(mDecodedFile); // Cleanup temporary input file if (decodedFile.exists()) { if (decodedFile.delete()) { Log.i(TAG, "Successfully deleted - " + mDecodedFile); } else { Log.e(TAG, "Unable to delete - " + mDecodedFile); } } fileInput.close(); } }
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/ExtractorTest.java +22 −0 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package com.android.media.benchmark.tests; import com.android.media.benchmark.R; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Native; import android.content.Context; import android.util.Log; Loading Loading @@ -89,4 +90,25 @@ public class ExtractorTest { } assertThat(status, is(equalTo(0))); } @Test public void sampleExtractNativeTest() throws IOException { Native nativeExtractor = new Native(); int status = -1; File inputFile = new File(mInputFilePath + mInputFileName); if (inputFile.exists()) { FileInputStream fileInput = new FileInputStream(inputFile); status = nativeExtractor.Extract(mInputFilePath, mInputFileName); fileInput.close(); if (status != 0) { Log.e(TAG, "Extraction for " + mInputFileName + " failed."); } else { Log.i(TAG, "Extracted " + mInputFileName + " successfully."); } } else { Log.e(TAG, "Cannot find " + inputFile + " in directory " + mInputFilePath); } assertThat(status, is(equalTo(0))); } }