summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodecListOverrides.cpp
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-04-21 14:23:06 -0700
committerRonghua Wu <ronghuawu@google.com>2015-05-08 09:51:26 -0700
commit9ba21b9418d10ddcc39f08901e24fbf43d82b2bc (patch)
tree363f0598085516cf16ddd4ee5df2d1043e2955da /media/libstagefright/MediaCodecListOverrides.cpp
parentba21a9ac7b6b76f85681cfb5e756e947c0ae3b53 (diff)
downloadframeworks_av-9ba21b9418d10ddcc39f08901e24fbf43d82b2bc.zip
frameworks_av-9ba21b9418d10ddcc39f08901e24fbf43d82b2bc.tar.gz
frameworks_av-9ba21b9418d10ddcc39f08901e24fbf43d82b2bc.tar.bz2
libstagefright: config resource manager with secure codec co-existing policy.
Bug: 19620911 Change-Id: I0d729782c1622f23e9c37b7a9231e58e3f807470
Diffstat (limited to 'media/libstagefright/MediaCodecListOverrides.cpp')
-rw-r--r--media/libstagefright/MediaCodecListOverrides.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/media/libstagefright/MediaCodecListOverrides.cpp b/media/libstagefright/MediaCodecListOverrides.cpp
index 535db09..0d95676 100644
--- a/media/libstagefright/MediaCodecListOverrides.cpp
+++ b/media/libstagefright/MediaCodecListOverrides.cpp
@@ -24,7 +24,7 @@
#include <media/ICrypto.h>
#include <media/IMediaCodecList.h>
#include <media/MediaCodecInfo.h>
-
+#include <media/MediaResourcePolicy.h>
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/MediaCodec.h>
@@ -196,19 +196,21 @@ bool splitString(
}
void profileCodecs(const Vector<sp<MediaCodecInfo>> &infos) {
- CodecSettings global_results; // TODO: add global results.
+ CodecSettings global_results;
KeyedVector<AString, CodecSettings> encoder_results;
KeyedVector<AString, CodecSettings> decoder_results;
- profileCodecs(infos, &encoder_results, &decoder_results);
+ profileCodecs(infos, &global_results, &encoder_results, &decoder_results);
exportResultsToXML(kProfilingResults, global_results, encoder_results, decoder_results);
}
void profileCodecs(
const Vector<sp<MediaCodecInfo>> &infos,
+ CodecSettings *global_results,
KeyedVector<AString, CodecSettings> *encoder_results,
KeyedVector<AString, CodecSettings> *decoder_results,
bool forceToMeasure) {
KeyedVector<AString, sp<MediaCodecInfo::Capabilities>> codecsNeedMeasure;
+ AString supportMultipleSecureCodecs = "true";
for (size_t i = 0; i < infos.size(); ++i) {
const sp<MediaCodecInfo> info = infos[i];
AString name = info->getCodecName();
@@ -243,9 +245,16 @@ void profileCodecs(
} else {
decoder_results->add(key, settings);
}
+
+ if (name.endsWith(".secure")) {
+ if (max <= 1) {
+ supportMultipleSecureCodecs = "false";
+ }
+ }
}
}
}
+ global_results->add(kPolicySupportsMultipleSecureCodecs, supportMultipleSecureCodecs);
}
static AString globalResultsToXml(const CodecSettings& results) {