diff options
author | Ronghua Wu <ronghuawu@google.com> | 2015-04-21 14:23:06 -0700 |
---|---|---|
committer | Ronghua Wu <ronghuawu@google.com> | 2015-05-08 09:51:26 -0700 |
commit | 9ba21b9418d10ddcc39f08901e24fbf43d82b2bc (patch) | |
tree | 363f0598085516cf16ddd4ee5df2d1043e2955da /media/libstagefright/MediaCodecListOverrides.cpp | |
parent | ba21a9ac7b6b76f85681cfb5e756e947c0ae3b53 (diff) | |
download | frameworks_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.cpp | 15 |
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) { |