Fix workaround for stale passthrough AudioTrack position

When creating a new AC-3 passthrough AudioTrack the position
may advance from an old AudioTrack's position. The workaround
checked for the playback head position returning to zero, but
a subsequent change meant that we'd always start writing data
to the new track immediately (rather than waiting for its
position to 'stabilize' at zero).

Fix the issue by using the AudioTrack position directly. (Nb.
this doesn't handle the case of the stale position before
unwrapping being zero, but it is very unlikely to occur.)

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=188319795
This commit is contained in:
andrewlewis 2018-03-08 05:54:44 -08:00 committed by Oliver Woodman
parent 5f576819d7
commit 81417e1093

View file

@ -590,7 +590,7 @@ public final class DefaultAudioSink implements AudioSink {
// position for a short time after is has been released. Avoid writing data until the playback
// head position actually returns to zero.
if (audioTrack.getPlayState() == PLAYSTATE_STOPPED
&& audioTrackUtil.getPlaybackHeadPosition() != 0) {
&& audioTrack.getPlaybackHeadPosition() != 0) {
return false;
}
}