Reset loading period after reading discontinuity that requires loading

This is the same change as 8655429af7, just on the second call site
of readDiscontinuity. The tests didn't cover this case yet because
they never queued more than 2 items in a playlist.

PiperOrigin-RevId: 553485244
This commit is contained in:
tonihei 2023-08-03 15:30:07 +00:00 committed by Tianyi Feng
parent 05782a7e99
commit a3c1d5be9d
10 changed files with 13780 additions and 1 deletions

View file

@ -2177,6 +2177,13 @@ import java.util.concurrent.atomic.AtomicBoolean;
// be disabled and re-enabled when they start playing the next period.
setAllRendererStreamsFinal(
/* streamEndPositionUs= */ readingPeriodHolder.getStartPositionRendererTime());
if (!readingPeriodHolder.isFullyBuffered()) {
// The discontinuity caused the period to not be fully buffered. Continue loading from this
// period again and discard all other periods we already started loading.
queue.removeAfter(readingPeriodHolder);
handleLoadingMediaPeriodChanged(/* loadingTrackSelectionChanged= */ false);
maybeContinueLoading();
}
return;
}
for (int i = 0; i < renderers.length; i++) {

View file

@ -83,7 +83,7 @@ public final class MergingPlaylistPlaybackTest {
ShadowMediaCodecConfig.forAllSupportedMimeTypes();
@Test
public void test() throws Exception {
public void transitionBetweenDifferentMergeConfigurations() throws Exception {
Context applicationContext = ApplicationProvider.getApplicationContext();
CapturingRenderersFactory capturingRenderersFactory =
new CapturingRenderersFactory(applicationContext);
@ -119,6 +119,40 @@ public final class MergingPlaylistPlaybackTest {
+ ".dump");
}
@Test
public void multipleRepetitionsOfSameMergeConfiguration() throws Exception {
Context applicationContext = ApplicationProvider.getApplicationContext();
CapturingRenderersFactory capturingRenderersFactory =
new CapturingRenderersFactory(applicationContext);
ExoPlayer player =
new ExoPlayer.Builder(applicationContext, capturingRenderersFactory)
.setClock(new FakeClock(/* isAutoAdvancing= */ true))
.build();
Surface surface = new Surface(new SurfaceTexture(/* texName= */ 1));
player.setVideoSurface(surface);
PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory);
for (int i = 0; i < 5; i++) {
player.addMediaSource(createMergingMediaSource(firstItemVideoClipped, firstItemAudioClipped));
}
player.prepare();
player.play();
TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED);
player.release();
surface.release();
DumpFileAsserts.assertOutput(
applicationContext,
playbackOutput,
"playbackdumps/merging/repeat_"
+ (videoIsPrimaryMergedSource ? "video" : "audio")
+ "_"
+ firstItemVideoClipped
+ "_"
+ firstItemAudioClipped
+ ".dump");
}
private MergingMediaSource createMergingMediaSource(boolean videoClipped, boolean audioClipped) {
MediaSource.Factory mediaSourceFactory =
new DefaultMediaSourceFactory((Context) ApplicationProvider.getApplicationContext());

View file

@ -0,0 +1,955 @@
MediaCodecAdapter (exotest.audio.aac):
inputBuffers:
count = 70
input buffer #0:
timeUs = 1000000508399
contents = length 241, hash 6495DF96
input buffer #1:
timeUs = 1000000531619
contents = length 228, hash 63D95906
input buffer #2:
timeUs = 1000000554839
contents = length 238, hash 34F676F9
input buffer #3:
timeUs = 1000000578058
contents = length 234, hash E5CBC045
input buffer #4:
timeUs = 1000000601278
contents = length 231, hash 5FC43661
input buffer #5:
timeUs = 1000000624498
contents = length 217, hash 682708ED
input buffer #6:
timeUs = 1000000647718
contents = length 239, hash D43780FC
input buffer #7:
timeUs = 1000000670938
contents = length 243, hash C5E17980
input buffer #8:
timeUs = 1000000694158
contents = length 231, hash AC5837BA
input buffer #9:
timeUs = 1000000717378
contents = length 230, hash 169EE895
input buffer #10:
timeUs = 1000000740598
contents = length 238, hash C48FF3F1
input buffer #11:
timeUs = 1000000763818
contents = length 225, hash 531E4599
input buffer #12:
timeUs = 1000000787038
contents = length 232, hash CB3C6B8D
input buffer #13:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #14:
timeUs = 1000000808399
contents = length 241, hash 6495DF96
input buffer #15:
timeUs = 1000000831619
contents = length 228, hash 63D95906
input buffer #16:
timeUs = 1000000854839
contents = length 238, hash 34F676F9
input buffer #17:
timeUs = 1000000878058
contents = length 234, hash E5CBC045
input buffer #18:
timeUs = 1000000901278
contents = length 231, hash 5FC43661
input buffer #19:
timeUs = 1000000924498
contents = length 217, hash 682708ED
input buffer #20:
timeUs = 1000000947718
contents = length 239, hash D43780FC
input buffer #21:
timeUs = 1000000970938
contents = length 243, hash C5E17980
input buffer #22:
timeUs = 1000000994158
contents = length 231, hash AC5837BA
input buffer #23:
timeUs = 1000001017378
contents = length 230, hash 169EE895
input buffer #24:
timeUs = 1000001040598
contents = length 238, hash C48FF3F1
input buffer #25:
timeUs = 1000001063818
contents = length 225, hash 531E4599
input buffer #26:
timeUs = 1000001087038
contents = length 232, hash CB3C6B8D
input buffer #27:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #28:
timeUs = 1000001108399
contents = length 241, hash 6495DF96
input buffer #29:
timeUs = 1000001131619
contents = length 228, hash 63D95906
input buffer #30:
timeUs = 1000001154839
contents = length 238, hash 34F676F9
input buffer #31:
timeUs = 1000001178058
contents = length 234, hash E5CBC045
input buffer #32:
timeUs = 1000001201278
contents = length 231, hash 5FC43661
input buffer #33:
timeUs = 1000001224498
contents = length 217, hash 682708ED
input buffer #34:
timeUs = 1000001247718
contents = length 239, hash D43780FC
input buffer #35:
timeUs = 1000001270938
contents = length 243, hash C5E17980
input buffer #36:
timeUs = 1000001294158
contents = length 231, hash AC5837BA
input buffer #37:
timeUs = 1000001317378
contents = length 230, hash 169EE895
input buffer #38:
timeUs = 1000001340598
contents = length 238, hash C48FF3F1
input buffer #39:
timeUs = 1000001363818
contents = length 225, hash 531E4599
input buffer #40:
timeUs = 1000001387038
contents = length 232, hash CB3C6B8D
input buffer #41:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #42:
timeUs = 1000001408399
contents = length 241, hash 6495DF96
input buffer #43:
timeUs = 1000001431619
contents = length 228, hash 63D95906
input buffer #44:
timeUs = 1000001454839
contents = length 238, hash 34F676F9
input buffer #45:
timeUs = 1000001478058
contents = length 234, hash E5CBC045
input buffer #46:
timeUs = 1000001501278
contents = length 231, hash 5FC43661
input buffer #47:
timeUs = 1000001524498
contents = length 217, hash 682708ED
input buffer #48:
timeUs = 1000001547718
contents = length 239, hash D43780FC
input buffer #49:
timeUs = 1000001570938
contents = length 243, hash C5E17980
input buffer #50:
timeUs = 1000001594158
contents = length 231, hash AC5837BA
input buffer #51:
timeUs = 1000001617378
contents = length 230, hash 169EE895
input buffer #52:
timeUs = 1000001640598
contents = length 238, hash C48FF3F1
input buffer #53:
timeUs = 1000001663818
contents = length 225, hash 531E4599
input buffer #54:
timeUs = 1000001687038
contents = length 232, hash CB3C6B8D
input buffer #55:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #56:
timeUs = 1000001708399
contents = length 241, hash 6495DF96
input buffer #57:
timeUs = 1000001731619
contents = length 228, hash 63D95906
input buffer #58:
timeUs = 1000001754839
contents = length 238, hash 34F676F9
input buffer #59:
timeUs = 1000001778058
contents = length 234, hash E5CBC045
input buffer #60:
timeUs = 1000001801278
contents = length 231, hash 5FC43661
input buffer #61:
timeUs = 1000001824498
contents = length 217, hash 682708ED
input buffer #62:
timeUs = 1000001847718
contents = length 239, hash D43780FC
input buffer #63:
timeUs = 1000001870938
contents = length 243, hash C5E17980
input buffer #64:
timeUs = 1000001894158
contents = length 231, hash AC5837BA
input buffer #65:
timeUs = 1000001917378
contents = length 230, hash 169EE895
input buffer #66:
timeUs = 1000001940598
contents = length 238, hash C48FF3F1
input buffer #67:
timeUs = 1000001963818
contents = length 225, hash 531E4599
input buffer #68:
timeUs = 1000001987038
contents = length 232, hash CB3C6B8D
input buffer #69:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 65
output buffer #0:
timeUs = 1000000508399
size = 0
rendered = false
output buffer #1:
timeUs = 1000000531619
size = 0
rendered = false
output buffer #2:
timeUs = 1000000554839
size = 0
rendered = false
output buffer #3:
timeUs = 1000000578058
size = 0
rendered = false
output buffer #4:
timeUs = 1000000601278
size = 0
rendered = false
output buffer #5:
timeUs = 1000000624498
size = 0
rendered = false
output buffer #6:
timeUs = 1000000647718
size = 0
rendered = false
output buffer #7:
timeUs = 1000000670938
size = 0
rendered = false
output buffer #8:
timeUs = 1000000694158
size = 0
rendered = false
output buffer #9:
timeUs = 1000000717378
size = 0
rendered = false
output buffer #10:
timeUs = 1000000740598
size = 0
rendered = false
output buffer #11:
timeUs = 1000000763818
size = 0
rendered = false
output buffer #12:
timeUs = 1000000787038
size = 0
rendered = false
output buffer #13:
timeUs = 1000000808399
size = 0
rendered = false
output buffer #14:
timeUs = 1000000831619
size = 0
rendered = false
output buffer #15:
timeUs = 1000000854839
size = 0
rendered = false
output buffer #16:
timeUs = 1000000878058
size = 0
rendered = false
output buffer #17:
timeUs = 1000000901278
size = 0
rendered = false
output buffer #18:
timeUs = 1000000924498
size = 0
rendered = false
output buffer #19:
timeUs = 1000000947718
size = 0
rendered = false
output buffer #20:
timeUs = 1000000970938
size = 0
rendered = false
output buffer #21:
timeUs = 1000000994158
size = 0
rendered = false
output buffer #22:
timeUs = 1000001017378
size = 0
rendered = false
output buffer #23:
timeUs = 1000001040598
size = 0
rendered = false
output buffer #24:
timeUs = 1000001063818
size = 0
rendered = false
output buffer #25:
timeUs = 1000001087038
size = 0
rendered = false
output buffer #26:
timeUs = 1000001108399
size = 0
rendered = false
output buffer #27:
timeUs = 1000001131619
size = 0
rendered = false
output buffer #28:
timeUs = 1000001154839
size = 0
rendered = false
output buffer #29:
timeUs = 1000001178058
size = 0
rendered = false
output buffer #30:
timeUs = 1000001201278
size = 0
rendered = false
output buffer #31:
timeUs = 1000001224498
size = 0
rendered = false
output buffer #32:
timeUs = 1000001247718
size = 0
rendered = false
output buffer #33:
timeUs = 1000001270938
size = 0
rendered = false
output buffer #34:
timeUs = 1000001294158
size = 0
rendered = false
output buffer #35:
timeUs = 1000001317378
size = 0
rendered = false
output buffer #36:
timeUs = 1000001340598
size = 0
rendered = false
output buffer #37:
timeUs = 1000001363818
size = 0
rendered = false
output buffer #38:
timeUs = 1000001387038
size = 0
rendered = false
output buffer #39:
timeUs = 1000001408399
size = 0
rendered = false
output buffer #40:
timeUs = 1000001431619
size = 0
rendered = false
output buffer #41:
timeUs = 1000001454839
size = 0
rendered = false
output buffer #42:
timeUs = 1000001478058
size = 0
rendered = false
output buffer #43:
timeUs = 1000001501278
size = 0
rendered = false
output buffer #44:
timeUs = 1000001524498
size = 0
rendered = false
output buffer #45:
timeUs = 1000001547718
size = 0
rendered = false
output buffer #46:
timeUs = 1000001570938
size = 0
rendered = false
output buffer #47:
timeUs = 1000001594158
size = 0
rendered = false
output buffer #48:
timeUs = 1000001617378
size = 0
rendered = false
output buffer #49:
timeUs = 1000001640598
size = 0
rendered = false
output buffer #50:
timeUs = 1000001663818
size = 0
rendered = false
output buffer #51:
timeUs = 1000001687038
size = 0
rendered = false
output buffer #52:
timeUs = 1000001708399
size = 0
rendered = false
output buffer #53:
timeUs = 1000001731619
size = 0
rendered = false
output buffer #54:
timeUs = 1000001754839
size = 0
rendered = false
output buffer #55:
timeUs = 1000001778058
size = 0
rendered = false
output buffer #56:
timeUs = 1000001801278
size = 0
rendered = false
output buffer #57:
timeUs = 1000001824498
size = 0
rendered = false
output buffer #58:
timeUs = 1000001847718
size = 0
rendered = false
output buffer #59:
timeUs = 1000001870938
size = 0
rendered = false
output buffer #60:
timeUs = 1000001894158
size = 0
rendered = false
output buffer #61:
timeUs = 1000001917378
size = 0
rendered = false
output buffer #62:
timeUs = 1000001940598
size = 0
rendered = false
output buffer #63:
timeUs = 1000001963818
size = 0
rendered = false
output buffer #64:
timeUs = 1000001987038
size = 0
rendered = false
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 36
input buffer #0:
timeUs = 1000000500000
contents = length 36692, hash D216076E
input buffer #1:
timeUs = 1000000566733
contents = length 5312, hash D45D3CA0
input buffer #2:
timeUs = 1000000533366
contents = length 599, hash 1BE7812D
input buffer #3:
timeUs = 1000000700200
contents = length 7735, hash 4490F110
input buffer #4:
timeUs = 1000000633466
contents = length 987, hash 560B5036
input buffer #5:
timeUs = 1000000600100
contents = length 673, hash ED7CD8C7
input buffer #6:
timeUs = 1000000666833
contents = length 523, hash 3020DF50
input buffer #7:
timeUs = 1000000800000
contents = length 36692, hash D216076E
input buffer #8:
timeUs = 1000000866733
contents = length 5312, hash D45D3CA0
input buffer #9:
timeUs = 1000000833366
contents = length 599, hash 1BE7812D
input buffer #10:
timeUs = 1000001000200
contents = length 7735, hash 4490F110
input buffer #11:
timeUs = 1000000933466
contents = length 987, hash 560B5036
input buffer #12:
timeUs = 1000000900100
contents = length 673, hash ED7CD8C7
input buffer #13:
timeUs = 1000000966833
contents = length 523, hash 3020DF50
input buffer #14:
timeUs = 1000001100000
contents = length 36692, hash D216076E
input buffer #15:
timeUs = 1000001166733
contents = length 5312, hash D45D3CA0
input buffer #16:
timeUs = 1000001133366
contents = length 599, hash 1BE7812D
input buffer #17:
timeUs = 1000001300200
contents = length 7735, hash 4490F110
input buffer #18:
timeUs = 1000001233466
contents = length 987, hash 560B5036
input buffer #19:
timeUs = 1000001200100
contents = length 673, hash ED7CD8C7
input buffer #20:
timeUs = 1000001266833
contents = length 523, hash 3020DF50
input buffer #21:
timeUs = 1000001400000
contents = length 36692, hash D216076E
input buffer #22:
timeUs = 1000001466733
contents = length 5312, hash D45D3CA0
input buffer #23:
timeUs = 1000001433366
contents = length 599, hash 1BE7812D
input buffer #24:
timeUs = 1000001600200
contents = length 7735, hash 4490F110
input buffer #25:
timeUs = 1000001533466
contents = length 987, hash 560B5036
input buffer #26:
timeUs = 1000001500100
contents = length 673, hash ED7CD8C7
input buffer #27:
timeUs = 1000001566833
contents = length 523, hash 3020DF50
input buffer #28:
timeUs = 1000001700000
contents = length 36692, hash D216076E
input buffer #29:
timeUs = 1000001766733
contents = length 5312, hash D45D3CA0
input buffer #30:
timeUs = 1000001733366
contents = length 599, hash 1BE7812D
input buffer #31:
timeUs = 1000001900200
contents = length 7735, hash 4490F110
input buffer #32:
timeUs = 1000001833466
contents = length 987, hash 560B5036
input buffer #33:
timeUs = 1000001800100
contents = length 673, hash ED7CD8C7
input buffer #34:
timeUs = 1000001866833
contents = length 523, hash 3020DF50
input buffer #35:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 35
output buffer #0:
timeUs = 1000000500000
size = 36692
rendered = true
output buffer #1:
timeUs = 1000000566733
size = 5312
rendered = true
output buffer #2:
timeUs = 1000000533366
size = 599
rendered = true
output buffer #3:
timeUs = 1000000700200
size = 7735
rendered = true
output buffer #4:
timeUs = 1000000633466
size = 987
rendered = true
output buffer #5:
timeUs = 1000000600100
size = 673
rendered = true
output buffer #6:
timeUs = 1000000666833
size = 523
rendered = true
output buffer #7:
timeUs = 1000000800000
size = 36692
rendered = true
output buffer #8:
timeUs = 1000000866733
size = 5312
rendered = true
output buffer #9:
timeUs = 1000000833366
size = 599
rendered = true
output buffer #10:
timeUs = 1000001000200
size = 7735
rendered = true
output buffer #11:
timeUs = 1000000933466
size = 987
rendered = true
output buffer #12:
timeUs = 1000000900100
size = 673
rendered = true
output buffer #13:
timeUs = 1000000966833
size = 523
rendered = true
output buffer #14:
timeUs = 1000001100000
size = 36692
rendered = true
output buffer #15:
timeUs = 1000001166733
size = 5312
rendered = true
output buffer #16:
timeUs = 1000001133366
size = 599
rendered = true
output buffer #17:
timeUs = 1000001300200
size = 7735
rendered = true
output buffer #18:
timeUs = 1000001233466
size = 987
rendered = true
output buffer #19:
timeUs = 1000001200100
size = 673
rendered = true
output buffer #20:
timeUs = 1000001266833
size = 523
rendered = true
output buffer #21:
timeUs = 1000001400000
size = 36692
rendered = true
output buffer #22:
timeUs = 1000001466733
size = 5312
rendered = true
output buffer #23:
timeUs = 1000001433366
size = 599
rendered = true
output buffer #24:
timeUs = 1000001600200
size = 7735
rendered = true
output buffer #25:
timeUs = 1000001533466
size = 987
rendered = true
output buffer #26:
timeUs = 1000001500100
size = 673
rendered = true
output buffer #27:
timeUs = 1000001566833
size = 523
rendered = true
output buffer #28:
timeUs = 1000001700000
size = 36692
rendered = true
output buffer #29:
timeUs = 1000001766733
size = 5312
rendered = true
output buffer #30:
timeUs = 1000001733366
size = 599
rendered = true
output buffer #31:
timeUs = 1000001900200
size = 7735
rendered = true
output buffer #32:
timeUs = 1000001833466
size = 987
rendered = true
output buffer #33:
timeUs = 1000001800100
size = 673
rendered = true
output buffer #34:
timeUs = 1000001866833
size = 523
rendered = true
AudioSink:
buffer count = 65
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #0:
time = 1000000508399
data = 1
buffer #1:
time = 1000000531619
data = 1
buffer #2:
time = 1000000554839
data = 1
buffer #3:
time = 1000000578058
data = 1
buffer #4:
time = 1000000601278
data = 1
buffer #5:
time = 1000000624498
data = 1
buffer #6:
time = 1000000647718
data = 1
buffer #7:
time = 1000000670938
data = 1
buffer #8:
time = 1000000694158
data = 1
buffer #9:
time = 1000000717378
data = 1
buffer #10:
time = 1000000740598
data = 1
buffer #11:
time = 1000000763818
data = 1
buffer #12:
time = 1000000787038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #13:
time = 1000000808399
data = 1
buffer #14:
time = 1000000831619
data = 1
buffer #15:
time = 1000000854839
data = 1
buffer #16:
time = 1000000878058
data = 1
buffer #17:
time = 1000000901278
data = 1
buffer #18:
time = 1000000924498
data = 1
buffer #19:
time = 1000000947718
data = 1
buffer #20:
time = 1000000970938
data = 1
buffer #21:
time = 1000000994158
data = 1
buffer #22:
time = 1000001017378
data = 1
buffer #23:
time = 1000001040598
data = 1
buffer #24:
time = 1000001063818
data = 1
buffer #25:
time = 1000001087038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #26:
time = 1000001108399
data = 1
buffer #27:
time = 1000001131619
data = 1
buffer #28:
time = 1000001154839
data = 1
buffer #29:
time = 1000001178058
data = 1
buffer #30:
time = 1000001201278
data = 1
buffer #31:
time = 1000001224498
data = 1
buffer #32:
time = 1000001247718
data = 1
buffer #33:
time = 1000001270938
data = 1
buffer #34:
time = 1000001294158
data = 1
buffer #35:
time = 1000001317378
data = 1
buffer #36:
time = 1000001340598
data = 1
buffer #37:
time = 1000001363818
data = 1
buffer #38:
time = 1000001387038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #39:
time = 1000001408399
data = 1
buffer #40:
time = 1000001431619
data = 1
buffer #41:
time = 1000001454839
data = 1
buffer #42:
time = 1000001478058
data = 1
buffer #43:
time = 1000001501278
data = 1
buffer #44:
time = 1000001524498
data = 1
buffer #45:
time = 1000001547718
data = 1
buffer #46:
time = 1000001570938
data = 1
buffer #47:
time = 1000001594158
data = 1
buffer #48:
time = 1000001617378
data = 1
buffer #49:
time = 1000001640598
data = 1
buffer #50:
time = 1000001663818
data = 1
buffer #51:
time = 1000001687038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #52:
time = 1000001708399
data = 1
buffer #53:
time = 1000001731619
data = 1
buffer #54:
time = 1000001754839
data = 1
buffer #55:
time = 1000001778058
data = 1
buffer #56:
time = 1000001801278
data = 1
buffer #57:
time = 1000001824498
data = 1
buffer #58:
time = 1000001847718
data = 1
buffer #59:
time = 1000001870938
data = 1
buffer #60:
time = 1000001894158
data = 1
buffer #61:
time = 1000001917378
data = 1
buffer #62:
time = 1000001940598
data = 1
buffer #63:
time = 1000001963818
data = 1
buffer #64:
time = 1000001987038
data = 1

View file

@ -0,0 +1,955 @@
MediaCodecAdapter (exotest.audio.aac):
inputBuffers:
count = 70
input buffer #0:
timeUs = 1000000008399
contents = length 241, hash 6495DF96
input buffer #1:
timeUs = 1000000031619
contents = length 228, hash 63D95906
input buffer #2:
timeUs = 1000000054839
contents = length 238, hash 34F676F9
input buffer #3:
timeUs = 1000000078058
contents = length 234, hash E5CBC045
input buffer #4:
timeUs = 1000000101278
contents = length 231, hash 5FC43661
input buffer #5:
timeUs = 1000000124498
contents = length 217, hash 682708ED
input buffer #6:
timeUs = 1000000147718
contents = length 239, hash D43780FC
input buffer #7:
timeUs = 1000000170938
contents = length 243, hash C5E17980
input buffer #8:
timeUs = 1000000194158
contents = length 231, hash AC5837BA
input buffer #9:
timeUs = 1000000217378
contents = length 230, hash 169EE895
input buffer #10:
timeUs = 1000000240598
contents = length 238, hash C48FF3F1
input buffer #11:
timeUs = 1000000263818
contents = length 225, hash 531E4599
input buffer #12:
timeUs = 1000000287038
contents = length 232, hash CB3C6B8D
input buffer #13:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #14:
timeUs = 1000000308399
contents = length 241, hash 6495DF96
input buffer #15:
timeUs = 1000000331619
contents = length 228, hash 63D95906
input buffer #16:
timeUs = 1000000354839
contents = length 238, hash 34F676F9
input buffer #17:
timeUs = 1000000378058
contents = length 234, hash E5CBC045
input buffer #18:
timeUs = 1000000401278
contents = length 231, hash 5FC43661
input buffer #19:
timeUs = 1000000424498
contents = length 217, hash 682708ED
input buffer #20:
timeUs = 1000000447718
contents = length 239, hash D43780FC
input buffer #21:
timeUs = 1000000470938
contents = length 243, hash C5E17980
input buffer #22:
timeUs = 1000000494158
contents = length 231, hash AC5837BA
input buffer #23:
timeUs = 1000000517378
contents = length 230, hash 169EE895
input buffer #24:
timeUs = 1000000540598
contents = length 238, hash C48FF3F1
input buffer #25:
timeUs = 1000000563818
contents = length 225, hash 531E4599
input buffer #26:
timeUs = 1000000587038
contents = length 232, hash CB3C6B8D
input buffer #27:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #28:
timeUs = 1000000608399
contents = length 241, hash 6495DF96
input buffer #29:
timeUs = 1000000631619
contents = length 228, hash 63D95906
input buffer #30:
timeUs = 1000000654839
contents = length 238, hash 34F676F9
input buffer #31:
timeUs = 1000000678058
contents = length 234, hash E5CBC045
input buffer #32:
timeUs = 1000000701278
contents = length 231, hash 5FC43661
input buffer #33:
timeUs = 1000000724498
contents = length 217, hash 682708ED
input buffer #34:
timeUs = 1000000747718
contents = length 239, hash D43780FC
input buffer #35:
timeUs = 1000000770938
contents = length 243, hash C5E17980
input buffer #36:
timeUs = 1000000794158
contents = length 231, hash AC5837BA
input buffer #37:
timeUs = 1000000817378
contents = length 230, hash 169EE895
input buffer #38:
timeUs = 1000000840598
contents = length 238, hash C48FF3F1
input buffer #39:
timeUs = 1000000863818
contents = length 225, hash 531E4599
input buffer #40:
timeUs = 1000000887038
contents = length 232, hash CB3C6B8D
input buffer #41:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #42:
timeUs = 1000000908399
contents = length 241, hash 6495DF96
input buffer #43:
timeUs = 1000000931619
contents = length 228, hash 63D95906
input buffer #44:
timeUs = 1000000954839
contents = length 238, hash 34F676F9
input buffer #45:
timeUs = 1000000978058
contents = length 234, hash E5CBC045
input buffer #46:
timeUs = 1000001001278
contents = length 231, hash 5FC43661
input buffer #47:
timeUs = 1000001024498
contents = length 217, hash 682708ED
input buffer #48:
timeUs = 1000001047718
contents = length 239, hash D43780FC
input buffer #49:
timeUs = 1000001070938
contents = length 243, hash C5E17980
input buffer #50:
timeUs = 1000001094158
contents = length 231, hash AC5837BA
input buffer #51:
timeUs = 1000001117378
contents = length 230, hash 169EE895
input buffer #52:
timeUs = 1000001140598
contents = length 238, hash C48FF3F1
input buffer #53:
timeUs = 1000001163818
contents = length 225, hash 531E4599
input buffer #54:
timeUs = 1000001187038
contents = length 232, hash CB3C6B8D
input buffer #55:
timeUs = 0
flags = 4
contents = length 0, hash 1
input buffer #56:
timeUs = 1000001208399
contents = length 241, hash 6495DF96
input buffer #57:
timeUs = 1000001231619
contents = length 228, hash 63D95906
input buffer #58:
timeUs = 1000001254839
contents = length 238, hash 34F676F9
input buffer #59:
timeUs = 1000001278058
contents = length 234, hash E5CBC045
input buffer #60:
timeUs = 1000001301278
contents = length 231, hash 5FC43661
input buffer #61:
timeUs = 1000001324498
contents = length 217, hash 682708ED
input buffer #62:
timeUs = 1000001347718
contents = length 239, hash D43780FC
input buffer #63:
timeUs = 1000001370938
contents = length 243, hash C5E17980
input buffer #64:
timeUs = 1000001394158
contents = length 231, hash AC5837BA
input buffer #65:
timeUs = 1000001417378
contents = length 230, hash 169EE895
input buffer #66:
timeUs = 1000001440598
contents = length 238, hash C48FF3F1
input buffer #67:
timeUs = 1000001463818
contents = length 225, hash 531E4599
input buffer #68:
timeUs = 1000001487038
contents = length 232, hash CB3C6B8D
input buffer #69:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 65
output buffer #0:
timeUs = 1000000008399
size = 0
rendered = false
output buffer #1:
timeUs = 1000000031619
size = 0
rendered = false
output buffer #2:
timeUs = 1000000054839
size = 0
rendered = false
output buffer #3:
timeUs = 1000000078058
size = 0
rendered = false
output buffer #4:
timeUs = 1000000101278
size = 0
rendered = false
output buffer #5:
timeUs = 1000000124498
size = 0
rendered = false
output buffer #6:
timeUs = 1000000147718
size = 0
rendered = false
output buffer #7:
timeUs = 1000000170938
size = 0
rendered = false
output buffer #8:
timeUs = 1000000194158
size = 0
rendered = false
output buffer #9:
timeUs = 1000000217378
size = 0
rendered = false
output buffer #10:
timeUs = 1000000240598
size = 0
rendered = false
output buffer #11:
timeUs = 1000000263818
size = 0
rendered = false
output buffer #12:
timeUs = 1000000287038
size = 0
rendered = false
output buffer #13:
timeUs = 1000000308399
size = 0
rendered = false
output buffer #14:
timeUs = 1000000331619
size = 0
rendered = false
output buffer #15:
timeUs = 1000000354839
size = 0
rendered = false
output buffer #16:
timeUs = 1000000378058
size = 0
rendered = false
output buffer #17:
timeUs = 1000000401278
size = 0
rendered = false
output buffer #18:
timeUs = 1000000424498
size = 0
rendered = false
output buffer #19:
timeUs = 1000000447718
size = 0
rendered = false
output buffer #20:
timeUs = 1000000470938
size = 0
rendered = false
output buffer #21:
timeUs = 1000000494158
size = 0
rendered = false
output buffer #22:
timeUs = 1000000517378
size = 0
rendered = false
output buffer #23:
timeUs = 1000000540598
size = 0
rendered = false
output buffer #24:
timeUs = 1000000563818
size = 0
rendered = false
output buffer #25:
timeUs = 1000000587038
size = 0
rendered = false
output buffer #26:
timeUs = 1000000608399
size = 0
rendered = false
output buffer #27:
timeUs = 1000000631619
size = 0
rendered = false
output buffer #28:
timeUs = 1000000654839
size = 0
rendered = false
output buffer #29:
timeUs = 1000000678058
size = 0
rendered = false
output buffer #30:
timeUs = 1000000701278
size = 0
rendered = false
output buffer #31:
timeUs = 1000000724498
size = 0
rendered = false
output buffer #32:
timeUs = 1000000747718
size = 0
rendered = false
output buffer #33:
timeUs = 1000000770938
size = 0
rendered = false
output buffer #34:
timeUs = 1000000794158
size = 0
rendered = false
output buffer #35:
timeUs = 1000000817378
size = 0
rendered = false
output buffer #36:
timeUs = 1000000840598
size = 0
rendered = false
output buffer #37:
timeUs = 1000000863818
size = 0
rendered = false
output buffer #38:
timeUs = 1000000887038
size = 0
rendered = false
output buffer #39:
timeUs = 1000000908399
size = 0
rendered = false
output buffer #40:
timeUs = 1000000931619
size = 0
rendered = false
output buffer #41:
timeUs = 1000000954839
size = 0
rendered = false
output buffer #42:
timeUs = 1000000978058
size = 0
rendered = false
output buffer #43:
timeUs = 1000001001278
size = 0
rendered = false
output buffer #44:
timeUs = 1000001024498
size = 0
rendered = false
output buffer #45:
timeUs = 1000001047718
size = 0
rendered = false
output buffer #46:
timeUs = 1000001070938
size = 0
rendered = false
output buffer #47:
timeUs = 1000001094158
size = 0
rendered = false
output buffer #48:
timeUs = 1000001117378
size = 0
rendered = false
output buffer #49:
timeUs = 1000001140598
size = 0
rendered = false
output buffer #50:
timeUs = 1000001163818
size = 0
rendered = false
output buffer #51:
timeUs = 1000001187038
size = 0
rendered = false
output buffer #52:
timeUs = 1000001208399
size = 0
rendered = false
output buffer #53:
timeUs = 1000001231619
size = 0
rendered = false
output buffer #54:
timeUs = 1000001254839
size = 0
rendered = false
output buffer #55:
timeUs = 1000001278058
size = 0
rendered = false
output buffer #56:
timeUs = 1000001301278
size = 0
rendered = false
output buffer #57:
timeUs = 1000001324498
size = 0
rendered = false
output buffer #58:
timeUs = 1000001347718
size = 0
rendered = false
output buffer #59:
timeUs = 1000001370938
size = 0
rendered = false
output buffer #60:
timeUs = 1000001394158
size = 0
rendered = false
output buffer #61:
timeUs = 1000001417378
size = 0
rendered = false
output buffer #62:
timeUs = 1000001440598
size = 0
rendered = false
output buffer #63:
timeUs = 1000001463818
size = 0
rendered = false
output buffer #64:
timeUs = 1000001487038
size = 0
rendered = false
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 36
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 = 1000000300000
contents = length 36692, hash D216076E
input buffer #8:
timeUs = 1000000366733
contents = length 5312, hash D45D3CA0
input buffer #9:
timeUs = 1000000333366
contents = length 599, hash 1BE7812D
input buffer #10:
timeUs = 1000000500200
contents = length 7735, hash 4490F110
input buffer #11:
timeUs = 1000000433466
contents = length 987, hash 560B5036
input buffer #12:
timeUs = 1000000400100
contents = length 673, hash ED7CD8C7
input buffer #13:
timeUs = 1000000466833
contents = length 523, hash 3020DF50
input buffer #14:
timeUs = 1000000600000
contents = length 36692, hash D216076E
input buffer #15:
timeUs = 1000000666733
contents = length 5312, hash D45D3CA0
input buffer #16:
timeUs = 1000000633366
contents = length 599, hash 1BE7812D
input buffer #17:
timeUs = 1000000800200
contents = length 7735, hash 4490F110
input buffer #18:
timeUs = 1000000733466
contents = length 987, hash 560B5036
input buffer #19:
timeUs = 1000000700100
contents = length 673, hash ED7CD8C7
input buffer #20:
timeUs = 1000000766833
contents = length 523, hash 3020DF50
input buffer #21:
timeUs = 1000000900000
contents = length 36692, hash D216076E
input buffer #22:
timeUs = 1000000966733
contents = length 5312, hash D45D3CA0
input buffer #23:
timeUs = 1000000933366
contents = length 599, hash 1BE7812D
input buffer #24:
timeUs = 1000001100200
contents = length 7735, hash 4490F110
input buffer #25:
timeUs = 1000001033466
contents = length 987, hash 560B5036
input buffer #26:
timeUs = 1000001000100
contents = length 673, hash ED7CD8C7
input buffer #27:
timeUs = 1000001066833
contents = length 523, hash 3020DF50
input buffer #28:
timeUs = 1000001200000
contents = length 36692, hash D216076E
input buffer #29:
timeUs = 1000001266733
contents = length 5312, hash D45D3CA0
input buffer #30:
timeUs = 1000001233366
contents = length 599, hash 1BE7812D
input buffer #31:
timeUs = 1000001400200
contents = length 7735, hash 4490F110
input buffer #32:
timeUs = 1000001333466
contents = length 987, hash 560B5036
input buffer #33:
timeUs = 1000001300100
contents = length 673, hash ED7CD8C7
input buffer #34:
timeUs = 1000001366833
contents = length 523, hash 3020DF50
input buffer #35:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 35
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 = 1000000300000
size = 36692
rendered = true
output buffer #8:
timeUs = 1000000366733
size = 5312
rendered = true
output buffer #9:
timeUs = 1000000333366
size = 599
rendered = true
output buffer #10:
timeUs = 1000000500200
size = 7735
rendered = true
output buffer #11:
timeUs = 1000000433466
size = 987
rendered = true
output buffer #12:
timeUs = 1000000400100
size = 673
rendered = true
output buffer #13:
timeUs = 1000000466833
size = 523
rendered = true
output buffer #14:
timeUs = 1000000600000
size = 36692
rendered = true
output buffer #15:
timeUs = 1000000666733
size = 5312
rendered = true
output buffer #16:
timeUs = 1000000633366
size = 599
rendered = true
output buffer #17:
timeUs = 1000000800200
size = 7735
rendered = true
output buffer #18:
timeUs = 1000000733466
size = 987
rendered = true
output buffer #19:
timeUs = 1000000700100
size = 673
rendered = true
output buffer #20:
timeUs = 1000000766833
size = 523
rendered = true
output buffer #21:
timeUs = 1000000900000
size = 36692
rendered = true
output buffer #22:
timeUs = 1000000966733
size = 5312
rendered = true
output buffer #23:
timeUs = 1000000933366
size = 599
rendered = true
output buffer #24:
timeUs = 1000001100200
size = 7735
rendered = true
output buffer #25:
timeUs = 1000001033466
size = 987
rendered = true
output buffer #26:
timeUs = 1000001000100
size = 673
rendered = true
output buffer #27:
timeUs = 1000001066833
size = 523
rendered = true
output buffer #28:
timeUs = 1000001200000
size = 36692
rendered = true
output buffer #29:
timeUs = 1000001266733
size = 5312
rendered = true
output buffer #30:
timeUs = 1000001233366
size = 599
rendered = true
output buffer #31:
timeUs = 1000001400200
size = 7735
rendered = true
output buffer #32:
timeUs = 1000001333466
size = 987
rendered = true
output buffer #33:
timeUs = 1000001300100
size = 673
rendered = true
output buffer #34:
timeUs = 1000001366833
size = 523
rendered = true
AudioSink:
buffer count = 65
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #0:
time = 1000000008399
data = 1
buffer #1:
time = 1000000031619
data = 1
buffer #2:
time = 1000000054839
data = 1
buffer #3:
time = 1000000078058
data = 1
buffer #4:
time = 1000000101278
data = 1
buffer #5:
time = 1000000124498
data = 1
buffer #6:
time = 1000000147718
data = 1
buffer #7:
time = 1000000170938
data = 1
buffer #8:
time = 1000000194158
data = 1
buffer #9:
time = 1000000217378
data = 1
buffer #10:
time = 1000000240598
data = 1
buffer #11:
time = 1000000263818
data = 1
buffer #12:
time = 1000000287038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #13:
time = 1000000308399
data = 1
buffer #14:
time = 1000000331619
data = 1
buffer #15:
time = 1000000354839
data = 1
buffer #16:
time = 1000000378058
data = 1
buffer #17:
time = 1000000401278
data = 1
buffer #18:
time = 1000000424498
data = 1
buffer #19:
time = 1000000447718
data = 1
buffer #20:
time = 1000000470938
data = 1
buffer #21:
time = 1000000494158
data = 1
buffer #22:
time = 1000000517378
data = 1
buffer #23:
time = 1000000540598
data = 1
buffer #24:
time = 1000000563818
data = 1
buffer #25:
time = 1000000587038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #26:
time = 1000000608399
data = 1
buffer #27:
time = 1000000631619
data = 1
buffer #28:
time = 1000000654839
data = 1
buffer #29:
time = 1000000678058
data = 1
buffer #30:
time = 1000000701278
data = 1
buffer #31:
time = 1000000724498
data = 1
buffer #32:
time = 1000000747718
data = 1
buffer #33:
time = 1000000770938
data = 1
buffer #34:
time = 1000000794158
data = 1
buffer #35:
time = 1000000817378
data = 1
buffer #36:
time = 1000000840598
data = 1
buffer #37:
time = 1000000863818
data = 1
buffer #38:
time = 1000000887038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #39:
time = 1000000908399
data = 1
buffer #40:
time = 1000000931619
data = 1
buffer #41:
time = 1000000954839
data = 1
buffer #42:
time = 1000000978058
data = 1
buffer #43:
time = 1000001001278
data = 1
buffer #44:
time = 1000001024498
data = 1
buffer #45:
time = 1000001047718
data = 1
buffer #46:
time = 1000001070938
data = 1
buffer #47:
time = 1000001094158
data = 1
buffer #48:
time = 1000001117378
data = 1
buffer #49:
time = 1000001140598
data = 1
buffer #50:
time = 1000001163818
data = 1
buffer #51:
time = 1000001187038
data = 1
discontinuity:
config:
pcmEncoding = 2
channelCount = 1
sampleRate = 44100
buffer #52:
time = 1000001208399
data = 1
buffer #53:
time = 1000001231619
data = 1
buffer #54:
time = 1000001254839
data = 1
buffer #55:
time = 1000001278058
data = 1
buffer #56:
time = 1000001301278
data = 1
buffer #57:
time = 1000001324498
data = 1
buffer #58:
time = 1000001347718
data = 1
buffer #59:
time = 1000001370938
data = 1
buffer #60:
time = 1000001394158
data = 1
buffer #61:
time = 1000001417378
data = 1
buffer #62:
time = 1000001440598
data = 1
buffer #63:
time = 1000001463818
data = 1
buffer #64:
time = 1000001487038
data = 1