Add avg bandwidth estimate every 2 seconds - do not merge.

This patch is meant for testing only.
We will remove this patch once we tracked down all those spinning issues.

related-to-bug: 4339075

Change-Id: I4cf1927f1067d4f7dbc589ceb3c47407eaf40ae7
This commit is contained in:
James Dong
2011-04-28 11:15:01 -07:00
parent 114ba198f5
commit ec78f551b5
2 changed files with 12 additions and 0 deletions

View File

@@ -100,6 +100,7 @@ NuHTTPDataSource::NuHTTPDataSource(uint32_t flags)
mNumBandwidthHistoryItems(0),
mTotalTransferTimeUs(0),
mTotalTransferBytes(0),
mPrevBandwidthMeasureTimeUs(0),
mDecryptHandle(NULL),
mDrmManagerClient(NULL) {
}
@@ -534,6 +535,16 @@ void NuHTTPDataSource::addBandwidthMeasurement_l(
mTotalTransferBytes -= entry->mNumBytes;
mBandwidthHistory.erase(mBandwidthHistory.begin());
--mNumBandwidthHistoryItems;
int64_t timeNowUs = ALooper::GetNowUs();
if (timeNowUs - mPrevBandwidthMeasureTimeUs > 2000000LL) {
if (mPrevBandwidthMeasureTimeUs != 0) {
double estimatedBandwidth =
((double)mTotalTransferBytes * 8E3 / mTotalTransferTimeUs);
LOGI("estimated avg bandwidth is %8.2f kbps in the past %lld us",
estimatedBandwidth, timeNowUs - mPrevBandwidthMeasureTimeUs);
}
mPrevBandwidthMeasureTimeUs = timeNowUs;
}
}
}

View File

@@ -97,6 +97,7 @@ private:
size_t mNumBandwidthHistoryItems;
int64_t mTotalTransferTimeUs;
size_t mTotalTransferBytes;
int64_t mPrevBandwidthMeasureTimeUs;
DecryptHandle *mDecryptHandle;
DrmManagerClient *mDrmManagerClient;