transcoder: Add startThreadPool to benchmark
Adding ProcessState startThreadPool fixes a
hang, related to Extractor, seen for running
benchmark for many assets or multiple
iterations.
Bug: 175889103
Test: ./MediaTranscoderBenchmark
--benchmark_filter=BM_TranscodeVideoPassthrough
--benchmark_min_time=60
Change-Id: Ib4f1bbf131b4e97b0cf3391747dc5541f5f8fcd9
diff --git a/media/libmediatranscoding/transcoder/benchmark/MediaTranscoderBenchmark.cpp b/media/libmediatranscoding/transcoder/benchmark/MediaTranscoderBenchmark.cpp
index b270ed5..d47a30c 100644
--- a/media/libmediatranscoding/transcoder/benchmark/MediaTranscoderBenchmark.cpp
+++ b/media/libmediatranscoding/transcoder/benchmark/MediaTranscoderBenchmark.cpp
@@ -30,6 +30,7 @@
*/
#include <benchmark/benchmark.h>
+#include <binder/ProcessState.h>
#include <fcntl.h>
#include <media/MediaTranscoder.h>
#include <iostream>
@@ -390,6 +391,7 @@
}
int main(int argc, char** argv) {
+ android::ProcessState::self()->startThreadPool();
std::unique_ptr<benchmark::BenchmarkReporter> fileReporter;
for (int i = 1; i < argc; ++i) {
if (std::string(argv[i]).find("--benchmark_out") != std::string::npos) {