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), mNumBandwidthHistoryItems(0),
mTotalTransferTimeUs(0), mTotalTransferTimeUs(0),
mTotalTransferBytes(0), mTotalTransferBytes(0),
mPrevBandwidthMeasureTimeUs(0),
mDecryptHandle(NULL), mDecryptHandle(NULL),
mDrmManagerClient(NULL) { mDrmManagerClient(NULL) {
} }
@@ -534,6 +535,16 @@ void NuHTTPDataSource::addBandwidthMeasurement_l(
mTotalTransferBytes -= entry->mNumBytes; mTotalTransferBytes -= entry->mNumBytes;
mBandwidthHistory.erase(mBandwidthHistory.begin()); mBandwidthHistory.erase(mBandwidthHistory.begin());
--mNumBandwidthHistoryItems; --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; size_t mNumBandwidthHistoryItems;
int64_t mTotalTransferTimeUs; int64_t mTotalTransferTimeUs;
size_t mTotalTransferBytes; size_t mTotalTransferBytes;
int64_t mPrevBandwidthMeasureTimeUs;
DecryptHandle *mDecryptHandle; DecryptHandle *mDecryptHandle;
DrmManagerClient *mDrmManagerClient; DrmManagerClient *mDrmManagerClient;