summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/NuCachedSource2.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-10-07 10:00:38 -0700
committerAndreas Huber <andih@google.com>2011-10-07 10:00:38 -0700
commit0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1 (patch)
tree6be7998d339d1b8182954927aed176d6dca5327c /media/libstagefright/NuCachedSource2.cpp
parent003124e20eb0744aab36ad1bde05e15ac122ad75 (diff)
downloadframeworks_av-0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1.zip
frameworks_av-0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1.tar.gz
frameworks_av-0b8cd8b0cf1489f8f7c0b2c4d7ea8fea70ca93a1.tar.bz2
Specifying -1 for both low and highwater marks would not actually do the right thing
before this change. Also make it more consistent in that specifying -1 for the keepalive settings specifies the default. Change-Id: I086f530fbf42abce66d1c8e61157215cb474e044
Diffstat (limited to 'media/libstagefright/NuCachedSource2.cpp')
-rw-r--r--media/libstagefright/NuCachedSource2.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/media/libstagefright/NuCachedSource2.cpp b/media/libstagefright/NuCachedSource2.cpp
index 2cacfa7..9adb841 100644
--- a/media/libstagefright/NuCachedSource2.cpp
+++ b/media/libstagefright/NuCachedSource2.cpp
@@ -598,11 +598,10 @@ void NuCachedSource2::updateCacheParamsFromSystemProperty() {
void NuCachedSource2::updateCacheParamsFromString(const char *s) {
ssize_t lowwaterMarkKb, highwaterMarkKb;
- unsigned keepAliveSecs;
+ int keepAliveSecs;
- if (sscanf(s, "%ld/%ld/%u",
- &lowwaterMarkKb, &highwaterMarkKb, &keepAliveSecs) != 3
- || lowwaterMarkKb >= highwaterMarkKb) {
+ if (sscanf(s, "%ld/%ld/%d",
+ &lowwaterMarkKb, &highwaterMarkKb, &keepAliveSecs) != 3) {
LOGE("Failed to parse cache parameters from '%s'.", s);
return;
}
@@ -619,7 +618,18 @@ void NuCachedSource2::updateCacheParamsFromString(const char *s) {
mHighwaterThresholdBytes = kDefaultHighWaterThreshold;
}
- mKeepAliveIntervalUs = keepAliveSecs * 1000000ll;
+ if (mLowwaterThresholdBytes >= mHighwaterThresholdBytes) {
+ LOGE("Illegal low/highwater marks specified, reverting to defaults.");
+
+ mLowwaterThresholdBytes = kDefaultLowWaterThreshold;
+ mHighwaterThresholdBytes = kDefaultHighWaterThreshold;
+ }
+
+ if (keepAliveSecs >= 0) {
+ mKeepAliveIntervalUs = keepAliveSecs * 1000000ll;
+ } else {
+ mKeepAliveIntervalUs = kDefaultKeepAliveIntervalUs;
+ }
LOGV("lowwater = %d bytes, highwater = %d bytes, keepalive = %lld us",
mLowwaterThresholdBytes,