Skip to content

Commit 5fc6781

Browse files
Googlercopybara-github
authored andcommitted
internal cleanup
PiperOrigin-RevId: 819472664
1 parent b32fa8c commit 5fc6781

File tree

3 files changed

+16
-104
lines changed

3 files changed

+16
-104
lines changed

libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioTrackPositionTracker.java

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,6 @@ void onSystemTimeUsMismatch(
157157
private int outputSampleRate;
158158
private long bufferSizeUs;
159159
private float audioTrackPlaybackSpeed;
160-
private boolean notifiedPositionIncreasing;
161160
private long onPositionAdvancingFromPositionUs;
162161

163162
private long smoothedPlayheadOffsetUs;
@@ -177,7 +176,6 @@ void onSystemTimeUsMismatch(
177176
private long forceResetWorkaroundTimeMs;
178177
private long stopPlaybackHeadPosition;
179178
private long endPlaybackHeadPosition;
180-
boolean enableOnAudioPositionAdvancingFix;
181179

182180
// Results from the previous call to getCurrentPositionUs.
183181
private long lastPositionUs;
@@ -228,8 +226,7 @@ public void setAudioTrack(
228226
AudioTrack audioTrack,
229227
@C.Encoding int outputEncoding,
230228
int outputPcmFrameSize,
231-
int bufferSize,
232-
boolean enableOnAudioPositionAdvancingFix) {
229+
int bufferSize) {
233230
this.audioTrack = audioTrack;
234231
audioTimestampPoller = new AudioTimestampPoller(audioTrack, listener);
235232
outputSampleRate = audioTrack.getSampleRate();
@@ -248,7 +245,6 @@ public void setAudioTrack(
248245
latencyUs = 0;
249246
audioTrackPlaybackSpeed = 1f;
250247
onPositionAdvancingFromPositionUs = C.TIME_UNSET;
251-
this.enableOnAudioPositionAdvancingFix = enableOnAudioPositionAdvancingFix;
252248
}
253249

254250
public void setAudioTrackPlaybackSpeed(float audioTrackPlaybackSpeed) {
@@ -306,19 +302,6 @@ public long getCurrentPositionUs() {
306302
expectedPositionUs + maxAllowedDriftUs);
307303
}
308304
}
309-
if (!enableOnAudioPositionAdvancingFix
310-
&& !notifiedPositionIncreasing
311-
&& lastPositionUs != C.TIME_UNSET
312-
&& positionUs > lastPositionUs) {
313-
notifiedPositionIncreasing = true;
314-
long mediaDurationSinceLastPositionUs = Util.usToMs(positionUs - lastPositionUs);
315-
long playoutDurationSinceLastPositionUs =
316-
Util.getPlayoutDurationForMediaDuration(
317-
mediaDurationSinceLastPositionUs, audioTrackPlaybackSpeed);
318-
long playoutStartSystemTimeMs =
319-
clock.currentTimeMillis() - Util.usToMs(playoutDurationSinceLastPositionUs);
320-
listener.onPositionAdvancing(playoutStartSystemTimeMs);
321-
}
322305

323306
lastSystemTimeUs = systemTimeUs;
324307
lastPositionUs = positionUs;
@@ -407,8 +390,7 @@ public void setClock(Clock clock) {
407390
}
408391

409392
private void maybeTriggerOnPositionAdvancingCallback(long positionUs) {
410-
if (!enableOnAudioPositionAdvancingFix
411-
|| onPositionAdvancingFromPositionUs == C.TIME_UNSET
393+
if (onPositionAdvancingFromPositionUs == C.TIME_UNSET
412394
|| positionUs < onPositionAdvancingFromPositionUs) {
413395
return;
414396
}
@@ -510,7 +492,6 @@ private void resetSyncParams() {
510492
lastPlayheadSampleTimeUs = 0;
511493
lastPositionUs = C.TIME_UNSET;
512494
lastSystemTimeUs = C.TIME_UNSET;
513-
notifiedPositionIncreasing = false;
514495
}
515496

516497
private long getPlaybackHeadPositionUs() {

libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ public static final class Builder {
305305
private AudioTrackBufferSizeProvider audioTrackBufferSizeProvider;
306306
private AudioTrackProvider audioTrackProvider;
307307
private @MonotonicNonNull AudioOffloadSupportProvider audioOffloadSupportProvider;
308-
private boolean enableOnAudioPositionAdvancingFix = true;
309308
@Nullable private AudioOffloadListener audioOffloadListener;
310309

311310
/**
@@ -454,19 +453,6 @@ public Builder setAudioTrackProvider(AudioTrackProvider audioTrackProvider) {
454453
return this;
455454
}
456455

457-
/**
458-
* Sets whether to enable the fix for audio position advancing on audio offload.
459-
*
460-
* @param enableOnAudioPositionAdvancingFix Whether to enable the fix for audio position
461-
* advancing on audio offload.
462-
* @return This builder.
463-
*/
464-
@CanIgnoreReturnValue
465-
public Builder setEnableOnAudioPositionAdvancingFix(boolean enableOnAudioPositionAdvancingFix) {
466-
this.enableOnAudioPositionAdvancingFix = enableOnAudioPositionAdvancingFix;
467-
return this;
468-
}
469-
470456
/** Builds the {@link DefaultAudioSink}. Must only be called once per Builder instance. */
471457
public DefaultAudioSink build() {
472458
checkState(!buildCalled);
@@ -622,7 +608,6 @@ public DefaultAudioSink build() {
622608
private long accumulatedSkippedSilenceDurationUs;
623609
private @MonotonicNonNull Handler reportSkippedSilenceHandler;
624610
@Nullable private Context contextWithDeviceId;
625-
private boolean enableOnAudioPositionAdvancingFix;
626611
private int lastUnderrunCount;
627612
private boolean hasData;
628613

@@ -661,7 +646,6 @@ private DefaultAudioSink(Builder builder) {
661646
SDK_INT < 34 || builder.context == null
662647
? C.INDEX_UNSET
663648
: getDeviceIdFromContext(builder.context);
664-
enableOnAudioPositionAdvancingFix = builder.enableOnAudioPositionAdvancingFix;
665649
}
666650

667651
// AudioSink implementation.
@@ -897,8 +881,7 @@ private boolean initializeAudioTrack() throws InitializationException {
897881
audioTrack,
898882
configuration.outputEncoding,
899883
configuration.outputPcmFrameSize,
900-
configuration.bufferSize,
901-
enableOnAudioPositionAdvancingFix);
884+
configuration.bufferSize);
902885
lastUnderrunCount = 0;
903886
hasData = false;
904887
setVolumeInternal();

libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/AudioTrackPositionTrackerTest.java

Lines changed: 13 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,7 @@ public void setUp() {
6969
public void
7070
getCurrentPositionUs_withoutExpectRawPlaybackHeadReset_returnsPositionWithWrappedValue() {
7171
audioTrackPositionTracker.setAudioTrack(
72-
audioTrack,
73-
C.ENCODING_PCM_16BIT,
74-
OUTPUT_PCM_FRAME_SIZE,
75-
MIN_BUFFER_SIZE,
76-
/* enableOnAudioPositionAdvancingFix= */ true);
72+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
7773
audioTrackPositionTracker.start();
7874
audioTrack.play();
7975
// Advance and write to audio track at least twice to move rawHeadPosition past wrap point.
@@ -92,11 +88,7 @@ public void setUp() {
9288
@Test
9389
public void getCurrentPositionUs_withExpectRawPlaybackHeadReset_returnsAccumulatedPosition() {
9490
audioTrackPositionTracker.setAudioTrack(
95-
audioTrack,
96-
C.ENCODING_PCM_16BIT,
97-
OUTPUT_PCM_FRAME_SIZE,
98-
MIN_BUFFER_SIZE,
99-
/* enableOnAudioPositionAdvancingFix= */ true);
91+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
10092
audioTrackPositionTracker.start();
10193
audioTrack.play();
10294
// Advance and write to audio track at least twice to move rawHeadPosition past wrap point.
@@ -118,11 +110,7 @@ public void getCurrentPositionUs_withExpectRawPlaybackHeadReset_returnsAccumulat
118110
@Test
119111
public void getCurrentPositionUs_withExpectPositionResetThenPause_returnsCorrectPosition() {
120112
audioTrackPositionTracker.setAudioTrack(
121-
audioTrack,
122-
C.ENCODING_PCM_16BIT,
123-
OUTPUT_PCM_FRAME_SIZE,
124-
MIN_BUFFER_SIZE,
125-
/* enableOnAudioPositionAdvancingFix= */ true);
113+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
126114
audioTrackPositionTracker.start();
127115
audioTrack.play();
128116
// Advance and write to audio track at least twice to move rawHeadPosition past wrap point.
@@ -151,11 +139,7 @@ public void getCurrentPositionUs_withSetAudioTrackResettingSumPosition_returnsCo
151139
AudioTrack audioTrack1 = createDefaultAudioTrack();
152140
AudioTrack audioTrack2 = createDefaultAudioTrack();
153141
audioTrackPositionTracker.setAudioTrack(
154-
audioTrack1,
155-
C.ENCODING_PCM_16BIT,
156-
OUTPUT_PCM_FRAME_SIZE,
157-
MIN_BUFFER_SIZE,
158-
/* enableOnAudioPositionAdvancingFix= */ true);
142+
audioTrack1, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
159143
audioTrackPositionTracker.start();
160144
audioTrack1.play();
161145
// Advance and write to audio track at least twice to move rawHeadPosition past wrap point.
@@ -173,11 +157,7 @@ public void getCurrentPositionUs_withSetAudioTrackResettingSumPosition_returnsCo
173157
// Set new audio track and reset position tracker to simulate transition to new AudioTrack.
174158
audioTrackPositionTracker.reset();
175159
audioTrackPositionTracker.setAudioTrack(
176-
audioTrack2,
177-
C.ENCODING_PCM_16BIT,
178-
OUTPUT_PCM_FRAME_SIZE,
179-
MIN_BUFFER_SIZE,
180-
/* enableOnAudioPositionAdvancingFix= */ true);
160+
audioTrack2, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
181161
audioTrackPositionTracker.start();
182162
audioTrack2.play();
183163
writeBytesAndAdvanceTime(audioTrack2);
@@ -191,11 +171,7 @@ public void getCurrentPositionUs_withSetAudioTrackResetsExpectPosition_returnsWr
191171
// Set tracker to expect playback head reset to simulate expected track transition.
192172
audioTrackPositionTracker.expectRawPlaybackHeadReset();
193173
audioTrackPositionTracker.setAudioTrack(
194-
audioTrack,
195-
C.ENCODING_PCM_16BIT,
196-
OUTPUT_PCM_FRAME_SIZE,
197-
MIN_BUFFER_SIZE,
198-
/* enableOnAudioPositionAdvancingFix= */ true);
174+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
199175
audioTrackPositionTracker.start();
200176
audioTrack.play();
201177

@@ -214,11 +190,7 @@ public void getCurrentPositionUs_withSetAudioTrackResetsExpectPosition_returnsWr
214190
@Test
215191
public void getCurrentPositionUs_afterHandleEndOfStreamWithPause_returnsCorrectPosition() {
216192
audioTrackPositionTracker.setAudioTrack(
217-
audioTrack,
218-
C.ENCODING_PCM_16BIT,
219-
OUTPUT_PCM_FRAME_SIZE,
220-
MIN_BUFFER_SIZE,
221-
/* enableOnAudioPositionAdvancingFix= */ true);
193+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
222194
audioTrackPositionTracker.start();
223195
audioTrack.play();
224196
for (int i = 0; i < 2; i++) {
@@ -237,11 +209,7 @@ public void getCurrentPositionUs_afterHandleEndOfStreamWithPause_returnsCorrectP
237209
@Test
238210
public void getCurrentPositionUs_afterHandleEndOfStreamWithPausePlay_returnsCorrectPosition() {
239211
audioTrackPositionTracker.setAudioTrack(
240-
audioTrack,
241-
C.ENCODING_PCM_16BIT,
242-
OUTPUT_PCM_FRAME_SIZE,
243-
MIN_BUFFER_SIZE,
244-
/* enableOnAudioPositionAdvancingFix= */ true);
212+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
245213
audioTrackPositionTracker.start();
246214
audioTrack.play();
247215
for (int i = 0; i < 2; i++) {
@@ -266,11 +234,7 @@ public void onPositionAdvancing_isTriggeredWhenPlaying() {
266234
AudioTrackPositionTracker audioTrackPositionTracker = new AudioTrackPositionTracker(listener);
267235
audioTrackPositionTracker.setClock(clock);
268236
audioTrackPositionTracker.setAudioTrack(
269-
audioTrack,
270-
C.ENCODING_PCM_16BIT,
271-
OUTPUT_PCM_FRAME_SIZE,
272-
MIN_BUFFER_SIZE,
273-
/* enableOnAudioPositionAdvancingFix= */ true);
237+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
274238
// Start the tracker to set the initial position for advancing check.
275239
audioTrackPositionTracker.start();
276240
audioTrack.play();
@@ -289,11 +253,7 @@ public void onPositionAdvancing_isNotTriggeredWhenPaused() {
289253
AudioTrackPositionTracker audioTrackPositionTracker = new AudioTrackPositionTracker(listener);
290254
audioTrackPositionTracker.setClock(clock);
291255
audioTrackPositionTracker.setAudioTrack(
292-
audioTrack,
293-
C.ENCODING_PCM_16BIT,
294-
OUTPUT_PCM_FRAME_SIZE,
295-
MIN_BUFFER_SIZE,
296-
/* enableOnAudioPositionAdvancingFix= */ true);
256+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
297257
// Start the tracker to set the initial position for advancing check.
298258
audioTrackPositionTracker.start();
299259
audioTrack.play();
@@ -315,11 +275,7 @@ public void onPositionAdvancing_isTriggeredAgainAfterPauseAndResume() {
315275
AudioTrackPositionTracker audioTrackPositionTracker = new AudioTrackPositionTracker(listener);
316276
audioTrackPositionTracker.setClock(clock);
317277
audioTrackPositionTracker.setAudioTrack(
318-
audioTrack,
319-
C.ENCODING_PCM_16BIT,
320-
OUTPUT_PCM_FRAME_SIZE,
321-
MIN_BUFFER_SIZE,
322-
/* enableOnAudioPositionAdvancingFix= */ true);
278+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
323279
// Start the tracker to set the initial position for advancing check.
324280
audioTrackPositionTracker.start();
325281
audioTrack.play();
@@ -350,11 +306,7 @@ public void onPositionAdvancing_isTriggeredWhenStopped() {
350306
AudioTrackPositionTracker audioTrackPositionTracker = new AudioTrackPositionTracker(listener);
351307
audioTrackPositionTracker.setClock(clock);
352308
audioTrackPositionTracker.setAudioTrack(
353-
audioTrack,
354-
C.ENCODING_PCM_16BIT,
355-
OUTPUT_PCM_FRAME_SIZE,
356-
MIN_BUFFER_SIZE,
357-
/* enableOnAudioPositionAdvancingFix= */ true);
309+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
358310
// Start the tracker to set the initial position for advancing check.
359311
audioTrackPositionTracker.start();
360312
audioTrack.play();
@@ -377,11 +329,7 @@ public void onPositionAdvancing_isTriggeredAgainAfterStoppedPauseAndResume() {
377329
AudioTrackPositionTracker audioTrackPositionTracker = new AudioTrackPositionTracker(listener);
378330
audioTrackPositionTracker.setClock(clock);
379331
audioTrackPositionTracker.setAudioTrack(
380-
audioTrack,
381-
C.ENCODING_PCM_16BIT,
382-
OUTPUT_PCM_FRAME_SIZE,
383-
MIN_BUFFER_SIZE,
384-
/* enableOnAudioPositionAdvancingFix= */ true);
332+
audioTrack, C.ENCODING_PCM_16BIT, OUTPUT_PCM_FRAME_SIZE, MIN_BUFFER_SIZE);
385333
// Start the tracker to set the initial position for advancing check.
386334
audioTrackPositionTracker.start();
387335
audioTrack.play();

0 commit comments

Comments
 (0)