From e8664dbc8e796c7bc7d07161b69eca4da5d69a93 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 29 Aug 2024 01:54:10 -0700 Subject: [PATCH] Report initial discontinuity for DASH periods that require preroll DASH periods don't have to start at the beginning of a segment. In these cases, they should report an initial discontinuity to let the player know it needs to expect preroll data (e.g. to flush renderers) This information is only available in the ChunkSampleStream after loading the initialization data, so we need to check the sample streams and tell them to only report discontinuities at the very beginning of playback. All other position resets are triggered by the player itself and don't need this method. Issue: androidx/media#1440 PiperOrigin-RevId: 668831563 --- RELEASENOTES.md | 3 + .../source/chunk/ChunkSampleStream.java | 35 +- .../exoplayer/dash/DashMediaPeriod.java | 15 +- .../dash/e2etest/DashPlaybackTest.java | 23 ++ .../smoothstreaming/SsMediaPeriod.java | 3 +- .../dash/multi-period-with-offset/sample.mpd | 23 ++ .../multi-period-with-offset/sample.video.mp4 | Bin 0 -> 91242 bytes .../dash/multi-period-with-offset.dump | 321 ++++++++++++++++++ .../test/utils/FakeAdaptiveMediaPeriod.java | 3 +- 9 files changed, 421 insertions(+), 5 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.mpd create mode 100644 libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.video.mp4 create mode 100644 libraries/test_data/src/test/assets/playbackdumps/dash/multi-period-with-offset.dump diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 582527a796..872ab9349e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -101,6 +101,9 @@ * Cronet Extension: * RTMP Extension: * HLS Extension: +* DASH Extension: + * Add support for periods starting in the middle of a segment + ([#1440](https://github.com/androidx/media/issues/1440)). * Smooth Streaming Extension: * RTSP Extension: * Decoder Extensions (FFmpeg, VP9, AV1, etc.): diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/ChunkSampleStream.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/ChunkSampleStream.java index 24b6bd9ff7..a98750f4f6 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/ChunkSampleStream.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/ChunkSampleStream.java @@ -22,6 +22,7 @@ import static java.lang.Math.min; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; @@ -95,6 +96,8 @@ public class ChunkSampleStream private long lastSeekPositionUs; private int nextNotifyPrimaryFormatMediaChunkIndex; @Nullable private BaseMediaChunk canceledMediaChunk; + private boolean canReportInitialDiscontinuity; + private boolean hasInitialDiscontinuity; /* package */ boolean loadingFinished; @@ -114,6 +117,8 @@ public class ChunkSampleStream * @param loadErrorHandlingPolicy The {@link LoadErrorHandlingPolicy}. * @param mediaSourceEventDispatcher A dispatcher to notify of {@link MediaSourceEventListener} * events. + * @param canReportInitialDiscontinuity Whether the stream can report an initial discontinuity if + * the first chunk can't start at the beginning and needs to preroll data. */ public ChunkSampleStream( @C.TrackType int primaryTrackType, @@ -126,7 +131,8 @@ public class ChunkSampleStream DrmSessionManager drmSessionManager, DrmSessionEventListener.EventDispatcher drmEventDispatcher, LoadErrorHandlingPolicy loadErrorHandlingPolicy, - MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher) { + MediaSourceEventListener.EventDispatcher mediaSourceEventDispatcher, + boolean canReportInitialDiscontinuity) { this.primaryTrackType = primaryTrackType; this.embeddedTrackTypes = embeddedTrackTypes == null ? new int[0] : embeddedTrackTypes; this.embeddedTrackFormats = embeddedTrackFormats == null ? new Format[0] : embeddedTrackFormats; @@ -134,6 +140,7 @@ public class ChunkSampleStream this.callback = callback; this.mediaSourceEventDispatcher = mediaSourceEventDispatcher; this.loadErrorHandlingPolicy = loadErrorHandlingPolicy; + this.canReportInitialDiscontinuity = canReportInitialDiscontinuity; loader = new Loader("ChunkSampleStream"); nextChunkHolder = new ChunkHolder(); mediaChunks = new ArrayList<>(); @@ -258,6 +265,7 @@ public class ChunkSampleStream */ public void seekToUs(long positionUs) { lastSeekPositionUs = positionUs; + canReportInitialDiscontinuity = false; if (isPendingReset()) { // A reset is already pending. We only need to update its position. pendingResetPositionUs = positionUs; @@ -600,12 +608,22 @@ public class ChunkSampleStream // seeking to a chunk boundary then we want the queue to pass through all of the samples in // the chunk. Doing this ensures we'll always output the keyframe at the start of the chunk, // even if its timestamp is slightly earlier than the advertised chunk start time. - if (mediaChunk.startTimeUs != pendingResetPositionUs) { + if (mediaChunk.startTimeUs < pendingResetPositionUs) { primarySampleQueue.setStartTimeUs(pendingResetPositionUs); for (SampleQueue embeddedSampleQueue : embeddedSampleQueues) { embeddedSampleQueue.setStartTimeUs(pendingResetPositionUs); } + if (canReportInitialDiscontinuity) { + // Only report it as discontinuity if the SampleQueue can't skip the samples directly. + boolean sampleQueueCanSkipSamples = + MimeTypes.allSamplesAreSyncSamples( + mediaChunk.trackFormat.sampleMimeType, mediaChunk.trackFormat.codecs); + hasInitialDiscontinuity = !sampleQueueCanSkipSamples; + } } + // Once we started loading the first media chunk, no more initial discontinuities can be + // reported. + canReportInitialDiscontinuity = false; pendingResetPositionUs = C.TIME_UNSET; } mediaChunk.init(chunkOutput); @@ -670,6 +688,19 @@ public class ChunkSampleStream } } + /** + * Consumes a pending initial discontinuity. + * + * @return Whether the stream had an initial discontinuity. + */ + public boolean consumeInitialDiscontinuity() { + try { + return hasInitialDiscontinuity; + } finally { + hasInitialDiscontinuity = false; + } + } + private void discardUpstream(int preferredQueueSize) { Assertions.checkState(!loader.isLoading()); diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java index 5a3e4fb5ca..37676922c0 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java @@ -114,6 +114,8 @@ import java.util.regex.Pattern; private DashManifest manifest; private int periodIndex; private List eventStreams; + private boolean canReportInitialDiscontinuity; + private long initialStartTimeUs; public DashMediaPeriod( int id, @@ -149,6 +151,7 @@ import java.util.regex.Pattern; this.allocator = allocator; this.compositeSequenceableLoaderFactory = compositeSequenceableLoaderFactory; this.playerId = playerId; + this.canReportInitialDiscontinuity = true; playerEmsgHandler = new PlayerEmsgHandler(manifest, playerEmsgCallback, allocator); sampleStreams = newSampleStreamArray(0); eventSampleStreams = new EventSampleStream[0]; @@ -305,6 +308,10 @@ import java.util.regex.Pattern; compositeSequenceableLoaderFactory.create( sampleStreamList, Lists.transform(sampleStreamList, s -> ImmutableList.of(s.primaryTrackType))); + if (canReportInitialDiscontinuity) { + canReportInitialDiscontinuity = false; + initialStartTimeUs = positionUs; + } return positionUs; } @@ -337,6 +344,11 @@ import java.util.regex.Pattern; @Override public long readDiscontinuity() { + for (ChunkSampleStream sampleStream : sampleStreams) { + if (sampleStream.consumeInitialDiscontinuity()) { + return initialStartTimeUs; + } + } return C.TIME_UNSET; } @@ -824,7 +836,8 @@ import java.util.regex.Pattern; drmSessionManager, drmEventDispatcher, loadErrorHandlingPolicy, - mediaSourceEventDispatcher); + mediaSourceEventDispatcher, + canReportInitialDiscontinuity); synchronized (this) { // The map is also accessed on the loading thread so synchronize access. trackEmsgHandlerBySampleStream.put(stream, trackPlayerEmsgHandler); diff --git a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java index f34d6aa896..6e3ba63b87 100644 --- a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java +++ b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java @@ -440,4 +440,27 @@ public final class DashPlaybackTest { // TODO: b/352276461 - The last frame might not be rendered. When the bug is fixed, // assert on the full playback dump. } + + @Test + public void multiPeriod_withOffsetInSegment() throws Exception { + Context applicationContext = ApplicationProvider.getApplicationContext(); + CapturingRenderersFactory capturingRenderersFactory = + new CapturingRenderersFactory(applicationContext); + ExoPlayer player = + new ExoPlayer.Builder(applicationContext, capturingRenderersFactory) + .setClock(new FakeClock(/* isAutoAdvancing= */ true)) + .build(); + player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1))); + PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory); + + player.setMediaItem( + MediaItem.fromUri("asset:///media/dash/multi-period-with-offset/sample.mpd")); + player.prepare(); + player.play(); + TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED); + player.release(); + + DumpFileAsserts.assertOutput( + applicationContext, playbackOutput, "playbackdumps/dash/multi-period-with-offset.dump"); + } } diff --git a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaPeriod.java b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaPeriod.java index 6b9f147017..ea9c8ba161 100644 --- a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaPeriod.java +++ b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaPeriod.java @@ -264,7 +264,8 @@ import java.util.List; drmSessionManager, drmEventDispatcher, loadErrorHandlingPolicy, - mediaSourceEventDispatcher); + mediaSourceEventDispatcher, + /* canReportInitialDiscontinuity= */ false); } private static TrackGroupArray buildTrackGroups( diff --git a/libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.mpd b/libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.mpd new file mode 100644 index 0000000000..09a74a67e0 --- /dev/null +++ b/libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.mpd @@ -0,0 +1,23 @@ + + + + + + sample.video.mp4 + + + + + + + + + + sample.video.mp4 + + + + + + + diff --git a/libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.video.mp4 b/libraries/test_data/src/test/assets/media/dash/multi-period-with-offset/sample.video.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..7f456f85f90287364aa84b1ff6d39e31137ee8aa GIT binary patch literal 91242 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/playbackdumps/dash/multi-period-with-offset.dump b/libraries/test_data/src/test/assets/playbackdumps/dash/multi-period-with-offset.dump new file mode 100644 index 0000000000..811eab6f4e --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/dash/multi-period-with-offset.dump @@ -0,0 +1,321 @@ +MediaCodecAdapter (exotest.video.avc): + inputBuffers: + count = 46 + input buffer #0: + timeUs = 1000000000000 + contents = length 36692, hash D216076E + input buffer #1: + timeUs = 1000000066733 + contents = length 5312, hash D45D3CA0 + input buffer #2: + timeUs = 1000000033366 + contents = length 599, hash 1BE7812D + input buffer #3: + timeUs = 1000000200200 + contents = length 7735, hash 4490F110 + input buffer #4: + timeUs = 1000000133466 + contents = length 987, hash 560B5036 + input buffer #5: + timeUs = 1000000100100 + contents = length 673, hash ED7CD8C7 + input buffer #6: + timeUs = 1000000166833 + contents = length 523, hash 3020DF50 + input buffer #7: + timeUs = 1000000333666 + contents = length 6061, hash 736C72B2 + input buffer #8: + timeUs = 1000000266933 + contents = length 992, hash FE132F23 + input buffer #9: + timeUs = 1000000233566 + contents = length 623, hash 5B2C1816 + input buffer #10: + timeUs = 1000000300300 + contents = length 421, hash 742E69C1 + input buffer #11: + timeUs = 1000000433766 + contents = length 4899, hash F72F86A1 + input buffer #12: + timeUs = 1000000400400 + contents = length 568, hash 519A8E50 + input buffer #13: + timeUs = 1000000367033 + contents = length 620, hash 3990AA39 + input buffer #14: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + input buffer #15: + timeUs = 1000000000000 + contents = length 36692, hash D216076E + input buffer #16: + timeUs = 1000000066733 + contents = length 5312, hash D45D3CA0 + input buffer #17: + timeUs = 1000000033366 + contents = length 599, hash 1BE7812D + input buffer #18: + timeUs = 1000000200200 + contents = length 7735, hash 4490F110 + input buffer #19: + timeUs = 1000000133466 + contents = length 987, hash 560B5036 + input buffer #20: + timeUs = 1000000100100 + contents = length 673, hash ED7CD8C7 + input buffer #21: + timeUs = 1000000166833 + contents = length 523, hash 3020DF50 + input buffer #22: + timeUs = 1000000333666 + contents = length 6061, hash 736C72B2 + input buffer #23: + timeUs = 1000000266933 + contents = length 992, hash FE132F23 + input buffer #24: + timeUs = 1000000233566 + contents = length 623, hash 5B2C1816 + input buffer #25: + timeUs = 1000000300300 + contents = length 421, hash 742E69C1 + input buffer #26: + timeUs = 1000000433766 + contents = length 4899, hash F72F86A1 + input buffer #27: + timeUs = 1000000400400 + contents = length 568, hash 519A8E50 + input buffer #28: + timeUs = 1000000367033 + contents = length 620, hash 3990AA39 + input buffer #29: + timeUs = 1000000567233 + contents = length 5450, hash F06EC4AA + input buffer #30: + timeUs = 1000000500500 + contents = length 1051, hash 92DFA63A + input buffer #31: + timeUs = 1000000467133 + contents = length 874, hash 69587FB4 + input buffer #32: + timeUs = 1000000533866 + contents = length 781, hash 36BE495B + input buffer #33: + timeUs = 1000000700700 + contents = length 4725, hash AC0C8CD3 + input buffer #34: + timeUs = 1000000633966 + contents = length 1022, hash 5D8BFF34 + input buffer #35: + timeUs = 1000000600600 + contents = length 790, hash 99413A99 + input buffer #36: + timeUs = 1000000667333 + contents = length 610, hash 5E129290 + input buffer #37: + timeUs = 1000000834166 + contents = length 2751, hash 769974CB + input buffer #38: + timeUs = 1000000767433 + contents = length 745, hash B78A477A + input buffer #39: + timeUs = 1000000734066 + contents = length 621, hash CF741E7A + input buffer #40: + timeUs = 1000000800800 + contents = length 505, hash 1DB4894E + input buffer #41: + timeUs = 1000000967633 + contents = length 1268, hash C15348DC + input buffer #42: + timeUs = 1000000900900 + contents = length 880, hash C2DE85D0 + input buffer #43: + timeUs = 1000000867533 + contents = length 530, hash C98BC6A8 + input buffer #44: + timeUs = 1000000934266 + contents = length 568, hash 4FE5C8EA + input buffer #45: + timeUs = 0 + flags = 4 + contents = length 0, hash 1 + outputBuffers: + count = 44 + output buffer #0: + timeUs = 1000000000000 + size = 36692 + rendered = true + output buffer #1: + timeUs = 1000000066733 + size = 5312 + rendered = true + output buffer #2: + timeUs = 1000000033366 + size = 599 + rendered = true + output buffer #3: + timeUs = 1000000200200 + size = 7735 + rendered = true + output buffer #4: + timeUs = 1000000133466 + size = 987 + rendered = true + output buffer #5: + timeUs = 1000000100100 + size = 673 + rendered = true + output buffer #6: + timeUs = 1000000166833 + size = 523 + rendered = true + output buffer #7: + timeUs = 1000000333666 + size = 6061 + rendered = true + output buffer #8: + timeUs = 1000000266933 + size = 992 + rendered = true + output buffer #9: + timeUs = 1000000233566 + size = 623 + rendered = true + output buffer #10: + timeUs = 1000000300300 + size = 421 + rendered = true + output buffer #11: + timeUs = 1000000433766 + size = 4899 + rendered = true + output buffer #12: + timeUs = 1000000400400 + size = 568 + rendered = true + output buffer #13: + timeUs = 1000000367033 + size = 620 + rendered = true + output buffer #14: + timeUs = 1000000000000 + size = 36692 + rendered = false + output buffer #15: + timeUs = 1000000066733 + size = 5312 + rendered = false + output buffer #16: + timeUs = 1000000033366 + size = 599 + rendered = false + output buffer #17: + timeUs = 1000000200200 + size = 7735 + rendered = false + output buffer #18: + timeUs = 1000000133466 + size = 987 + rendered = false + output buffer #19: + timeUs = 1000000100100 + size = 673 + rendered = false + output buffer #20: + timeUs = 1000000166833 + size = 523 + rendered = false + output buffer #21: + timeUs = 1000000333666 + size = 6061 + rendered = false + output buffer #22: + timeUs = 1000000266933 + size = 992 + rendered = false + output buffer #23: + timeUs = 1000000233566 + size = 623 + rendered = false + output buffer #24: + timeUs = 1000000300300 + size = 421 + rendered = false + output buffer #25: + timeUs = 1000000433766 + size = 4899 + rendered = false + output buffer #26: + timeUs = 1000000400400 + size = 568 + rendered = false + output buffer #27: + timeUs = 1000000367033 + size = 620 + rendered = false + output buffer #28: + timeUs = 1000000567233 + size = 5450 + rendered = true + output buffer #29: + timeUs = 1000000500500 + size = 1051 + rendered = true + output buffer #30: + timeUs = 1000000467133 + size = 874 + rendered = false + output buffer #31: + timeUs = 1000000533866 + size = 781 + rendered = true + output buffer #32: + timeUs = 1000000700700 + size = 4725 + rendered = true + output buffer #33: + timeUs = 1000000633966 + size = 1022 + rendered = true + output buffer #34: + timeUs = 1000000600600 + size = 790 + rendered = true + output buffer #35: + timeUs = 1000000667333 + size = 610 + rendered = true + output buffer #36: + timeUs = 1000000834166 + size = 2751 + rendered = true + output buffer #37: + timeUs = 1000000767433 + size = 745 + rendered = true + output buffer #38: + timeUs = 1000000734066 + size = 621 + rendered = true + output buffer #39: + timeUs = 1000000800800 + size = 505 + rendered = true + output buffer #40: + timeUs = 1000000967633 + size = 1268 + rendered = true + output buffer #41: + timeUs = 1000000900900 + size = 880 + rendered = true + output buffer #42: + timeUs = 1000000867533 + size = 530 + rendered = true + output buffer #43: + timeUs = 1000000934266 + size = 568 + rendered = true diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeAdaptiveMediaPeriod.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeAdaptiveMediaPeriod.java index 5d3a4f839b..5ef6781067 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeAdaptiveMediaPeriod.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeAdaptiveMediaPeriod.java @@ -187,7 +187,8 @@ public class FakeAdaptiveMediaPeriod DrmSessionManager.DRM_UNSUPPORTED, new DrmSessionEventListener.EventDispatcher(), new DefaultLoadErrorHandlingPolicy(/* minimumLoadableRetryCount= */ 3), - mediaSourceEventDispatcher); + mediaSourceEventDispatcher, + /* canReportInitialDiscontinuity= */ false); streams[i] = sampleStream; sampleStreams.add(sampleStream); streamResetFlags[i] = true;