summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodecList.cpp
diff options
context:
space:
mode:
authorRonghua Wu <ronghuawu@google.com>2015-06-01 15:33:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-06-01 15:33:19 +0000
commitbac850e61b63f6932aa880924c5d8effd0bb8079 (patch)
tree84ff9f5da75e6e66b175a5e09034038181081eee /media/libstagefright/MediaCodecList.cpp
parent11804f5ca4ebd3527e7cc3bcc529e8358a519f8e (diff)
parent19352b3287480394aa9963276305d5168a7adf85 (diff)
downloadframeworks_av-bac850e61b63f6932aa880924c5d8effd0bb8079.zip
frameworks_av-bac850e61b63f6932aa880924c5d8effd0bb8079.tar.gz
frameworks_av-bac850e61b63f6932aa880924c5d8effd0bb8079.tar.bz2
Merge "libstagefright: add version string to profile results." into mnc-dev
Diffstat (limited to 'media/libstagefright/MediaCodecList.cpp')
-rw-r--r--media/libstagefright/MediaCodecList.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/media/libstagefright/MediaCodecList.cpp b/media/libstagefright/MediaCodecList.cpp
index 6708828..f366b1f 100644
--- a/media/libstagefright/MediaCodecList.cpp
+++ b/media/libstagefright/MediaCodecList.cpp
@@ -73,10 +73,24 @@ sp<IMediaCodecList> MediaCodecList::getLocalInstance() {
if (gCodecList->initCheck() == OK) {
sCodecList = gCodecList;
- struct stat s;
- if (stat(kProfilingResults, &s) == -1) {
+ FILE *resultsFile = fopen(kProfilingResults, "r");
+ if (resultsFile) {
+ AString currentVersion = getProfilingVersionString();
+ size_t currentVersionSize = currentVersion.size();
+ char *versionString = new char[currentVersionSize];
+ fgets(versionString, currentVersionSize, resultsFile);
+ if (strncmp(versionString, currentVersion.c_str(), currentVersionSize) != 0) {
+ // profiling result out of date
+ profilingNeeded = true;
+ }
+ fclose(resultsFile);
+ delete[] versionString;
+ } else {
// profiling results doesn't existed
profilingNeeded = true;
+ }
+
+ if (profilingNeeded) {
for (size_t i = 0; i < gCodecList->countCodecs(); ++i) {
infos.push_back(gCodecList->getCodecInfo(i));
}