Merge "Improve AudioPlayer position reporting"

This commit is contained in:
Marco Nelissen
2012-03-09 12:36:17 -08:00
committed by Android (Google) Code Review

View File

@@ -437,8 +437,11 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
kKeyTime, &mPositionTimeMediaUs));
mPositionTimeRealUs =
((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
-mLatencyUs + ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
/ mSampleRate;
if (mPositionTimeRealUs < 0) {
mPositionTimeRealUs = 0;
}
ALOGV("buffer->size() = %d, "
"mPositionTimeMediaUs=%.2f mPositionTimeRealUs=%.2f",
@@ -493,7 +496,9 @@ int64_t AudioPlayer::getRealTimeUs() {
int64_t AudioPlayer::getRealTimeUsLocked() const {
CHECK(mStarted);
CHECK_NE(mSampleRate, 0);
return -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
int64_t t = -mLatencyUs + (mNumFramesPlayed * 1000000) / mSampleRate;
if (t < 0) return 0;
return t;
}
int64_t AudioPlayer::getMediaTimeUs() {