Merge "Previous change broke A/V sync, this is a better change to eliminate negative media positions."
This commit is contained in:
committed by
Android (Google) Code Review
commit
bca1c65fe4
@@ -252,8 +252,7 @@ void AudioPlayer::fillBuffer(void *data, size_t size) {
|
||||
kKeyTime, &mPositionTimeMediaUs));
|
||||
|
||||
mPositionTimeRealUs =
|
||||
-mLatencyUs
|
||||
+ ((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
|
||||
((mNumFramesPlayed + size_done / mFrameSize) * 1000000)
|
||||
/ mSampleRate;
|
||||
|
||||
LOGV("buffer->size() = %d, "
|
||||
@@ -305,7 +304,12 @@ int64_t AudioPlayer::getMediaTimeUs() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return mPositionTimeMediaUs + (getRealTimeUsLocked() - mPositionTimeRealUs);
|
||||
int64_t realTimeOffset = getRealTimeUsLocked() - mPositionTimeRealUs;
|
||||
if (realTimeOffset < 0) {
|
||||
realTimeOffset = 0;
|
||||
}
|
||||
|
||||
return mPositionTimeMediaUs + realTimeOffset;
|
||||
}
|
||||
|
||||
bool AudioPlayer::getMediaTimeMapping(
|
||||
|
||||
Reference in New Issue
Block a user