Loading media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/DecoderTest.java +15 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,9 @@ 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 com.android.media.benchmark.library.Stats; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -54,6 +56,8 @@ public class DecoderTest { InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mOutputFilePath = mContext.getString(R.string.output_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Decoder." + System.currentTimeMillis() + ".csv"; private static final String TAG = "DecoderTest"; private static final long PER_TEST_TIMEOUT_MS = 60000; private static final boolean DEBUG = false; Loading Loading @@ -105,6 +109,13 @@ public class DecoderTest { {"crowd_1920x1080_25fps_4000kbps_h265.mkv", true}}); } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test(timeout = PER_TEST_TIMEOUT_MS) public void testDecoder() throws IOException { File inputFile = new File(mInputFilePath + mInputFile); Loading Loading @@ -162,7 +173,8 @@ public class DecoderTest { decoder.deInitCodec(); assertEquals("Decoder returned error " + status + " for file: " + mInputFile + " with codec: " + codecName, 0, status); decoder.dumpStatistics(mInputFile + " " + codecName, extractor.getClipDuration()); decoder.dumpStatistics(mInputFile, codecName, (mAsyncMode ? "async" : "sync"), extractor.getClipDuration(), mStatsFile); Log.i(TAG, "Decoding Successful for file: " + mInputFile + " with codec: " + codecName); decoder.resetDecoder(); Loading Loading @@ -196,8 +208,8 @@ public class DecoderTest { for (String codecName : mediaCodecs) { Log.i("Test: %s\n", mInputFile); Native nativeDecoder = new Native(); int status = nativeDecoder.Decode(mInputFilePath, mInputFile, codecName, mAsyncMode); int status = nativeDecoder.Decode( mInputFilePath, mInputFile, mStatsFile, codecName, mAsyncMode); assertEquals("Decoder returned error " + status + " for file: " + mInputFile, 0, status); } Loading media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/EncoderTest.java +16 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,9 @@ 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 com.android.media.benchmark.library.Stats; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -38,6 +40,7 @@ import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; Loading @@ -53,6 +56,8 @@ public class EncoderTest { InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mOutputFilePath = mContext.getString(R.string.output_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Encoder." + System.currentTimeMillis() + ".csv"; private static final String TAG = "EncoderTest"; private static final long PER_TEST_TIMEOUT_MS = 120000; private static final boolean DEBUG = false; Loading @@ -60,7 +65,6 @@ public class EncoderTest { private static final int ENCODE_DEFAULT_FRAME_RATE = 25; private static final int ENCODE_DEFAULT_BIT_RATE = 8000000 /* 8 Mbps */; private static final int ENCODE_MIN_BIT_RATE = 600000 /* 600 Kbps */; private String mInputFile; @Parameterized.Parameters Loading @@ -85,6 +89,13 @@ public class EncoderTest { this.mInputFile = inputFileName; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test(timeout = PER_TEST_TIMEOUT_MS) public void sampleEncoderTest() throws Exception { int status; Loading Loading @@ -220,9 +231,8 @@ public class EncoderTest { assertEquals( codecName + " encoder returned error " + status + " for " + "file:" + " " + mInputFile, 0, status); encoder.dumpStatistics( mInputFile + "with " + codecName + " for " + "aSyncMode = " + asyncMode, extractor.getClipDuration()); encoder.dumpStatistics(mInputFile, codecName, (asyncMode ? "async" : "sync"), extractor.getClipDuration(), mStatsFile); Log.i(TAG, "Encoding complete for file: " + mInputFile + " with codec: " + codecName + " for aSyncMode = " + asyncMode); encoder.resetEncoder(); Loading Loading @@ -264,8 +274,8 @@ public class EncoderTest { // Encoding the decoder's output for (String codecName : mediaCodecs) { Native nativeEncoder = new Native(); int status = nativeEncoder.Encode(mInputFilePath, mInputFile, mDecodedFile, codecName); int status = nativeEncoder.Encode( mInputFilePath, mInputFile, mDecodedFile, mStatsFile, codecName); assertEquals( codecName + " encoder returned error " + status + " for " + "file:" + " " + mInputFile, 0, status); Loading media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/ExtractorTest.java +19 −2 Original line number Diff line number Diff line Loading @@ -19,12 +19,15 @@ 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 com.android.media.benchmark.library.Stats; import android.content.Context; import android.media.MediaFormat; import android.util.Log; import androidx.test.platform.app.InstrumentationRegistry; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -32,6 +35,7 @@ import org.junit.runners.Parameterized; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.Collection; Loading @@ -39,11 +43,15 @@ import java.util.Collection; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class ExtractorTest { private static Context mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Extractor." + System.currentTimeMillis() + ".csv"; private static final String TAG = "ExtractorTest"; private String mInputFileName; private int mTrackId; Loading Loading @@ -71,6 +79,13 @@ public class ExtractorTest { this.mTrackId = track; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test public void sampleExtractTest() throws IOException { File inputFile = new File(mInputFilePath + mInputFileName); Loading @@ -80,11 +95,13 @@ public class ExtractorTest { FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); extractor.setUpExtractor(fileDescriptor); MediaFormat format = extractor.getFormat(mTrackId); String mime = format.getString(MediaFormat.KEY_MIME); int status = extractor.extractSample(mTrackId); assertEquals("Extraction failed for " + mInputFileName, 0, status); Log.i(TAG, "Extracted " + mInputFileName + " successfully."); extractor.deinitExtractor(); extractor.dumpStatistics(mInputFileName); extractor.dumpStatistics(mInputFileName, mime, mStatsFile); fileInput.close(); } Loading @@ -95,7 +112,7 @@ public class ExtractorTest { assertTrue("Cannot find " + mInputFileName + " in directory " + mInputFilePath, inputFile.exists()); FileInputStream fileInput = new FileInputStream(inputFile); int status = nativeExtractor.Extract(mInputFilePath, mInputFileName); int status = nativeExtractor.Extract(mInputFilePath, mInputFileName, mStatsFile); fileInput.close(); assertEquals("Extraction failed for " + mInputFileName, 0, status); Log.i(TAG, "Extracted " + mInputFileName + " successfully."); Loading media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/MuxerTest.java +17 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import com.android.media.benchmark.R; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Muxer; import com.android.media.benchmark.library.Native; import com.android.media.benchmark.library.Stats; import androidx.test.platform.app.InstrumentationRegistry; Loading @@ -28,6 +29,7 @@ import android.media.MediaFormat; import android.media.MediaMuxer; import android.util.Log; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -35,6 +37,7 @@ import org.junit.runners.Parameterized; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; Loading @@ -47,11 +50,15 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class MuxerTest { private static Context mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Muxer." + System.currentTimeMillis() + ".csv"; private static final String TAG = "MuxerTest"; private static final Map<String, Integer> mMapFormat = new Hashtable<String, Integer>() { { Loading Loading @@ -94,6 +101,13 @@ public class MuxerTest { this.mFormat = outputFormat; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test public void sampleMuxerTest() throws IOException { File inputFile = new File(mInputFilePath + mInputFileName); Loading Loading @@ -132,7 +146,7 @@ public class MuxerTest { assertEquals("Cannot perform write operation for " + mInputFileName, 0, status); Log.i(TAG, "Muxed " + mInputFileName + " successfully."); muxer.deInitMuxer(); muxer.dumpStatistics(mInputFileName, extractor.getClipDuration()); muxer.dumpStatistics(mInputFileName, mFormat, extractor.getClipDuration(), mStatsFile); muxer.resetMuxer(); extractor.unselectExtractorTrack(currentTrack); inputBufferInfo.clear(); Loading @@ -151,7 +165,8 @@ public class MuxerTest { inputFile.exists()); int tid = android.os.Process.myTid(); String mMuxOutputFile = (mContext.getFilesDir() + "/mux_" + tid + ".out"); int status = nativeMuxer.Mux(mInputFilePath, mInputFileName, mMuxOutputFile, mFormat); int status = nativeMuxer.Mux( mInputFilePath, mInputFileName, mMuxOutputFile, mStatsFile, mFormat); assertEquals("Cannot perform write operation for " + mInputFileName, 0, status); Log.i(TAG, "Muxed " + mInputFileName + " successfully."); File muxedFile = new File(mMuxOutputFile); Loading media/tests/benchmark/MediaBenchmarkTest/src/main/cpp/NativeDecoder.cpp +11 −7 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #define LOG_TAG "NativeDecoder" #include <jni.h> #include <fstream> #include <stdio.h> #include <string.h> #include <sys/stat.h> Loading @@ -27,8 +28,8 @@ #include "Decoder.h" extern "C" JNIEXPORT int JNICALL Java_com_android_media_benchmark_library_Native_Decode( JNIEnv *env, jobject thiz, jstring jFilePath, jstring jFileName, jstring jCodecName, jboolean asyncMode) { JNIEnv *env, jobject thiz, jstring jFilePath, jstring jFileName, jstring jStatsFile, jstring jCodecName, jboolean asyncMode) { const char *filePath = env->GetStringUTFChars(jFilePath, nullptr); const char *fileName = env->GetStringUTFChars(jFileName, nullptr); string sFilePath = string(filePath) + string(fileName); Loading Loading @@ -105,10 +106,13 @@ extern "C" JNIEXPORT int JNICALL Java_com_android_media_benchmark_library_Native return -1; } decoder->deInitCodec(); env->ReleaseStringUTFChars(jCodecName, codecName); const char *inputReference = env->GetStringUTFChars(jFileName, nullptr); const char *statsFile = env->GetStringUTFChars(jStatsFile, nullptr); string sInputReference = string(inputReference); decoder->dumpStatistics(sInputReference); decoder->dumpStatistics(sInputReference, sCodecName, (asyncMode ? "async" : "sync"), statsFile); env->ReleaseStringUTFChars(jCodecName, codecName); env->ReleaseStringUTFChars(jStatsFile, statsFile); env->ReleaseStringUTFChars(jFileName, inputReference); if (inputBuffer) { free(inputBuffer); Loading Loading
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/DecoderTest.java +15 −3 Original line number Diff line number Diff line Loading @@ -28,7 +28,9 @@ 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 com.android.media.benchmark.library.Stats; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -54,6 +56,8 @@ public class DecoderTest { InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mOutputFilePath = mContext.getString(R.string.output_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Decoder." + System.currentTimeMillis() + ".csv"; private static final String TAG = "DecoderTest"; private static final long PER_TEST_TIMEOUT_MS = 60000; private static final boolean DEBUG = false; Loading Loading @@ -105,6 +109,13 @@ public class DecoderTest { {"crowd_1920x1080_25fps_4000kbps_h265.mkv", true}}); } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test(timeout = PER_TEST_TIMEOUT_MS) public void testDecoder() throws IOException { File inputFile = new File(mInputFilePath + mInputFile); Loading Loading @@ -162,7 +173,8 @@ public class DecoderTest { decoder.deInitCodec(); assertEquals("Decoder returned error " + status + " for file: " + mInputFile + " with codec: " + codecName, 0, status); decoder.dumpStatistics(mInputFile + " " + codecName, extractor.getClipDuration()); decoder.dumpStatistics(mInputFile, codecName, (mAsyncMode ? "async" : "sync"), extractor.getClipDuration(), mStatsFile); Log.i(TAG, "Decoding Successful for file: " + mInputFile + " with codec: " + codecName); decoder.resetDecoder(); Loading Loading @@ -196,8 +208,8 @@ public class DecoderTest { for (String codecName : mediaCodecs) { Log.i("Test: %s\n", mInputFile); Native nativeDecoder = new Native(); int status = nativeDecoder.Decode(mInputFilePath, mInputFile, codecName, mAsyncMode); int status = nativeDecoder.Decode( mInputFilePath, mInputFile, mStatsFile, codecName, mAsyncMode); assertEquals("Decoder returned error " + status + " for file: " + mInputFile, 0, status); } Loading
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/EncoderTest.java +16 −6 Original line number Diff line number Diff line Loading @@ -29,7 +29,9 @@ 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 com.android.media.benchmark.library.Stats; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -38,6 +40,7 @@ import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; Loading @@ -53,6 +56,8 @@ public class EncoderTest { InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mOutputFilePath = mContext.getString(R.string.output_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Encoder." + System.currentTimeMillis() + ".csv"; private static final String TAG = "EncoderTest"; private static final long PER_TEST_TIMEOUT_MS = 120000; private static final boolean DEBUG = false; Loading @@ -60,7 +65,6 @@ public class EncoderTest { private static final int ENCODE_DEFAULT_FRAME_RATE = 25; private static final int ENCODE_DEFAULT_BIT_RATE = 8000000 /* 8 Mbps */; private static final int ENCODE_MIN_BIT_RATE = 600000 /* 600 Kbps */; private String mInputFile; @Parameterized.Parameters Loading @@ -85,6 +89,13 @@ public class EncoderTest { this.mInputFile = inputFileName; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test(timeout = PER_TEST_TIMEOUT_MS) public void sampleEncoderTest() throws Exception { int status; Loading Loading @@ -220,9 +231,8 @@ public class EncoderTest { assertEquals( codecName + " encoder returned error " + status + " for " + "file:" + " " + mInputFile, 0, status); encoder.dumpStatistics( mInputFile + "with " + codecName + " for " + "aSyncMode = " + asyncMode, extractor.getClipDuration()); encoder.dumpStatistics(mInputFile, codecName, (asyncMode ? "async" : "sync"), extractor.getClipDuration(), mStatsFile); Log.i(TAG, "Encoding complete for file: " + mInputFile + " with codec: " + codecName + " for aSyncMode = " + asyncMode); encoder.resetEncoder(); Loading Loading @@ -264,8 +274,8 @@ public class EncoderTest { // Encoding the decoder's output for (String codecName : mediaCodecs) { Native nativeEncoder = new Native(); int status = nativeEncoder.Encode(mInputFilePath, mInputFile, mDecodedFile, codecName); int status = nativeEncoder.Encode( mInputFilePath, mInputFile, mDecodedFile, mStatsFile, codecName); assertEquals( codecName + " encoder returned error " + status + " for " + "file:" + " " + mInputFile, 0, status); Loading
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/ExtractorTest.java +19 −2 Original line number Diff line number Diff line Loading @@ -19,12 +19,15 @@ 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 com.android.media.benchmark.library.Stats; import android.content.Context; import android.media.MediaFormat; import android.util.Log; import androidx.test.platform.app.InstrumentationRegistry; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -32,6 +35,7 @@ import org.junit.runners.Parameterized; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Arrays; import java.util.Collection; Loading @@ -39,11 +43,15 @@ import java.util.Collection; import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class ExtractorTest { private static Context mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Extractor." + System.currentTimeMillis() + ".csv"; private static final String TAG = "ExtractorTest"; private String mInputFileName; private int mTrackId; Loading Loading @@ -71,6 +79,13 @@ public class ExtractorTest { this.mTrackId = track; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test public void sampleExtractTest() throws IOException { File inputFile = new File(mInputFilePath + mInputFileName); Loading @@ -80,11 +95,13 @@ public class ExtractorTest { FileDescriptor fileDescriptor = fileInput.getFD(); Extractor extractor = new Extractor(); extractor.setUpExtractor(fileDescriptor); MediaFormat format = extractor.getFormat(mTrackId); String mime = format.getString(MediaFormat.KEY_MIME); int status = extractor.extractSample(mTrackId); assertEquals("Extraction failed for " + mInputFileName, 0, status); Log.i(TAG, "Extracted " + mInputFileName + " successfully."); extractor.deinitExtractor(); extractor.dumpStatistics(mInputFileName); extractor.dumpStatistics(mInputFileName, mime, mStatsFile); fileInput.close(); } Loading @@ -95,7 +112,7 @@ public class ExtractorTest { assertTrue("Cannot find " + mInputFileName + " in directory " + mInputFilePath, inputFile.exists()); FileInputStream fileInput = new FileInputStream(inputFile); int status = nativeExtractor.Extract(mInputFilePath, mInputFileName); int status = nativeExtractor.Extract(mInputFilePath, mInputFileName, mStatsFile); fileInput.close(); assertEquals("Extraction failed for " + mInputFileName, 0, status); Log.i(TAG, "Extracted " + mInputFileName + " successfully."); Loading
media/tests/benchmark/MediaBenchmarkTest/src/androidTest/java/com/android/media/benchmark/tests/MuxerTest.java +17 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ import com.android.media.benchmark.R; import com.android.media.benchmark.library.Extractor; import com.android.media.benchmark.library.Muxer; import com.android.media.benchmark.library.Native; import com.android.media.benchmark.library.Stats; import androidx.test.platform.app.InstrumentationRegistry; Loading @@ -28,6 +29,7 @@ import android.media.MediaFormat; import android.media.MediaMuxer; import android.util.Log; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; Loading @@ -35,6 +37,7 @@ import org.junit.runners.Parameterized; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; Loading @@ -47,11 +50,15 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import static org.junit.Assert.assertTrue; @RunWith(Parameterized.class) public class MuxerTest { private static Context mContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); private static final String mInputFilePath = mContext.getString(R.string.input_file_path); private static final String mStatsFile = mContext.getFilesDir() + "/Muxer." + System.currentTimeMillis() + ".csv"; private static final String TAG = "MuxerTest"; private static final Map<String, Integer> mMapFormat = new Hashtable<String, Integer>() { { Loading Loading @@ -94,6 +101,13 @@ public class MuxerTest { this.mFormat = outputFormat; } @BeforeClass public static void writeStatsHeaderToFile() throws IOException { Stats mStats = new Stats(); boolean status = mStats.writeStatsHeader(mStatsFile); assertTrue("Unable to open stats file for writing!", status); } @Test public void sampleMuxerTest() throws IOException { File inputFile = new File(mInputFilePath + mInputFileName); Loading Loading @@ -132,7 +146,7 @@ public class MuxerTest { assertEquals("Cannot perform write operation for " + mInputFileName, 0, status); Log.i(TAG, "Muxed " + mInputFileName + " successfully."); muxer.deInitMuxer(); muxer.dumpStatistics(mInputFileName, extractor.getClipDuration()); muxer.dumpStatistics(mInputFileName, mFormat, extractor.getClipDuration(), mStatsFile); muxer.resetMuxer(); extractor.unselectExtractorTrack(currentTrack); inputBufferInfo.clear(); Loading @@ -151,7 +165,8 @@ public class MuxerTest { inputFile.exists()); int tid = android.os.Process.myTid(); String mMuxOutputFile = (mContext.getFilesDir() + "/mux_" + tid + ".out"); int status = nativeMuxer.Mux(mInputFilePath, mInputFileName, mMuxOutputFile, mFormat); int status = nativeMuxer.Mux( mInputFilePath, mInputFileName, mMuxOutputFile, mStatsFile, mFormat); assertEquals("Cannot perform write operation for " + mInputFileName, 0, status); Log.i(TAG, "Muxed " + mInputFileName + " successfully."); File muxedFile = new File(mMuxOutputFile); Loading
media/tests/benchmark/MediaBenchmarkTest/src/main/cpp/NativeDecoder.cpp +11 −7 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ #define LOG_TAG "NativeDecoder" #include <jni.h> #include <fstream> #include <stdio.h> #include <string.h> #include <sys/stat.h> Loading @@ -27,8 +28,8 @@ #include "Decoder.h" extern "C" JNIEXPORT int JNICALL Java_com_android_media_benchmark_library_Native_Decode( JNIEnv *env, jobject thiz, jstring jFilePath, jstring jFileName, jstring jCodecName, jboolean asyncMode) { JNIEnv *env, jobject thiz, jstring jFilePath, jstring jFileName, jstring jStatsFile, jstring jCodecName, jboolean asyncMode) { const char *filePath = env->GetStringUTFChars(jFilePath, nullptr); const char *fileName = env->GetStringUTFChars(jFileName, nullptr); string sFilePath = string(filePath) + string(fileName); Loading Loading @@ -105,10 +106,13 @@ extern "C" JNIEXPORT int JNICALL Java_com_android_media_benchmark_library_Native return -1; } decoder->deInitCodec(); env->ReleaseStringUTFChars(jCodecName, codecName); const char *inputReference = env->GetStringUTFChars(jFileName, nullptr); const char *statsFile = env->GetStringUTFChars(jStatsFile, nullptr); string sInputReference = string(inputReference); decoder->dumpStatistics(sInputReference); decoder->dumpStatistics(sInputReference, sCodecName, (asyncMode ? "async" : "sync"), statsFile); env->ReleaseStringUTFChars(jCodecName, codecName); env->ReleaseStringUTFChars(jStatsFile, statsFile); env->ReleaseStringUTFChars(jFileName, inputReference); if (inputBuffer) { free(inputBuffer); Loading