Merge "Improve AudioPlayer position reporting"
This commit is contained in:
committed by
Android (Google) Code Review
commit
8fb0a5ffbe
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user