PiperOrigin-RevId: 619871653
This commit is contained in:
ibaker 2024-03-28 04:00:11 -07:00 committed by Copybara-Service
parent 04a3889998
commit b60cd2c033
56 changed files with 76 additions and 282 deletions

View File

@ -56,6 +56,12 @@
* Extractors:
* MP3: Populate `Format.averageBitrate` from metadata frames such as
`XING` and `VBRI`.
* MPEG-TS: Revert a change that aimed to ensure the last frame is rendered
by passing the last access unit of a stream to the sample queue
([#7909](https://github.com/google/ExoPlayer/issues/7909)). This is due
to the change causing new problems with I-frame only HLS streams
([#1150](https://github.com/google/ExoPlayer/issues/1150)) and H.262 HLS
streams ([#1126](https://github.com/google/ExoPlayer/issues/1126)).
* Audio:
* Allow renderer recovery by disabling offload if audio track fails to
initialize in offload mode.

View File

@ -159,7 +159,7 @@ public final class Ac3Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -161,7 +161,7 @@ public final class Ac4Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -194,7 +194,7 @@ public final class AdtsReader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -215,7 +215,7 @@ public final class DtsReader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -86,7 +86,7 @@ public final class DvbSubtitleReader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
if (writingSample) {
// packetStarted method must be called before reading sample.
checkState(sampleTimeUs != C.TIME_UNSET);

View File

@ -31,7 +31,7 @@ import androidx.media3.extractor.TrackOutput;
* <li>{@link #seek()} (optional, to reset the state)
* <li>{@link #packetStarted(long, int)} (to signal the start of a new packet)
* <li>{@link #consume(ParsableByteArray)} (zero or more times, to provide packet data)
* <li>{@link #packetFinished(boolean)} (to signal the end of the current packet)
* <li>{@link #packetFinished()} (to signal the end of the current packet)
* <li>Repeat steps 3-5 for subsequent packets
* </ol>
*/
@ -67,5 +67,5 @@ public interface ElementaryStreamReader {
void consume(ParsableByteArray data) throws ParserException;
/** Called when a packet ends. */
void packetFinished(boolean isEndOfInput);
void packetFinished();
}

View File

@ -217,13 +217,8 @@ public final class H262Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
checkStateNotNull(output); // Asserts that createTracks has been called.
if (isEndOfInput) {
@C.BufferFlags int flags = sampleIsKeyframe ? C.BUFFER_FLAG_KEY_FRAME : 0;
int size = (int) (totalBytesWritten - samplePosition);
output.sampleMetadata(sampleTimeUs, flags, size, /* offset= */ 0, /* cryptoData= */ null);
}
public void packetFinished() {
// Do nothing.
}
/**

View File

@ -216,13 +216,8 @@ public final class H263Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
// Assert that createTracks has been called.
checkStateNotNull(sampleReader);
if (isEndOfInput) {
sampleReader.onDataEnd(totalBytesWritten, /* bytesWrittenPastPosition= */ 0, hasOutputFormat);
sampleReader.reset();
}
public void packetFinished() {
// Do nothing.
}
/**

View File

@ -167,11 +167,8 @@ public final class H264Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
assertTracksCreated();
if (isEndOfInput) {
sampleReader.end(totalBytesWritten);
}
public void packetFinished() {
// Do nothing.
}
@RequiresNonNull("sampleReader")
@ -511,13 +508,6 @@ public final class H264Reader implements ElementaryStreamReader {
output.sampleMetadata(sampleTimeUs, flags, size, offset, null);
}
public void end(long position) {
// Output a final sample with the NAL units currently held
nalUnitStartPosition = position;
outputSample(/* offset= */ 0);
readingSample = false;
}
private static final class SliceHeaderData {
private static final int SLICE_TYPE_I = 2;

View File

@ -172,11 +172,8 @@ public final class H265Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
assertTracksCreated();
if (isEndOfInput) {
sampleReader.end(totalBytesWritten);
}
public void packetFinished() {
// Do nothing.
}
@RequiresNonNull("sampleReader")
@ -386,13 +383,6 @@ public final class H265Reader implements ElementaryStreamReader {
output.sampleMetadata(sampleTimeUs, flags, size, offset, null);
}
public void end(long position) {
// Output a final sample with the NAL units currently held
nalUnitPosition = position;
outputSample(/* offset= */ 0);
readingSample = false;
}
/** Returns whether a NAL unit type is one that occurs before any VCL NAL units in a sample. */
private static boolean isPrefixNalUnit(int nalUnitType) {
return (VPS_NUT <= nalUnitType && nalUnitType <= AUD_NUT) || nalUnitType == PREFIX_SEI_NUT;

View File

@ -120,7 +120,7 @@ public final class Id3Reader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
Assertions.checkStateNotNull(output); // Asserts that createTracks has been called.
if (!writingSample || sampleSize == 0 || sampleBytesRead != sampleSize) {
return;

View File

@ -153,7 +153,7 @@ public final class LatmReader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -119,7 +119,7 @@ public final class MpegAudioReader implements ElementaryStreamReader {
}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
// Do nothing.
}

View File

@ -107,8 +107,7 @@ public final class PesReader implements TsPayloadReader {
Log.w(TAG, "Unexpected start indicator: expected " + payloadSize + " more bytes");
}
// Either way, notify the reader that it has now finished.
boolean isEndOfInput = (data.limit() == 0);
reader.packetFinished(isEndOfInput);
reader.packetFinished();
break;
default:
throw new IllegalStateException();
@ -148,8 +147,7 @@ public final class PesReader implements TsPayloadReader {
if (payloadSize != C.LENGTH_UNSET) {
payloadSize -= readLength;
if (payloadSize == 0) {
// There are bytes left in data, see above, so this is not the end of input
reader.packetFinished(/* isEndOfInput= */ false);
reader.packetFinished();
setState(STATE_READING_HEADER);
}
}

View File

@ -357,7 +357,7 @@ public final class PsExtractor implements Extractor {
pesPayloadReader.packetStarted(timeUs, TsPayloadReader.FLAG_DATA_ALIGNMENT_INDICATOR);
pesPayloadReader.consume(data);
// We always have complete PES packets with program stream.
pesPayloadReader.packetFinished(/* isEndOfInput= */ false);
pesPayloadReader.packetFinished();
}
private void parseHeader() {

View File

@ -446,13 +446,6 @@ public final class TsExtractor implements Extractor {
}
if (!fillBufferWithAtLeastOnePacket(input)) {
// Send a synthesised empty pusi to allow for packetFinished to be triggered on the last unit.
for (int i = 0; i < tsPayloadReaders.size(); i++) {
TsPayloadReader payloadReader = tsPayloadReaders.valueAt(i);
if (payloadReader instanceof PesReader) {
payloadReader.consume(new ParsableByteArray(), FLAG_PAYLOAD_UNIT_START_INDICATOR);
}
}
return RESULT_END_OF_INPUT;
}

View File

@ -425,7 +425,7 @@ public final class TsExtractorTest {
public void consume(ParsableByteArray data) {}
@Override
public void packetFinished(boolean isEndOfInput) {
public void packetFinished() {
packetsRead++;
}

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 39002
sample count = 25
sample count = 24
format 0:
id = 1/256
sampleMimeType = video/mp4v-es
@ -112,8 +112,4 @@ track 256:
time = 920000
flags = 0
data = length 222, hash 7E77BF79
sample 24:
time = 960000
flags = 1
data = length 11769, hash D94C80C0
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 27354
sample count = 19
sample count = 18
format 0:
id = 1/256
sampleMimeType = video/mp4v-es
@ -88,8 +88,4 @@ track 256:
time = 920000
flags = 0
data = length 222, hash 7E77BF79
sample 18:
time = 960000
flags = 1
data = length 11769, hash D94C80C0
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 13592
sample count = 9
sample count = 8
format 0:
id = 1/256
sampleMimeType = video/mp4v-es
@ -48,8 +48,4 @@ track 256:
time = 920000
flags = 0
data = length 222, hash 7E77BF79
sample 8:
time = 960000
flags = 1
data = length 11769, hash D94C80C0
tracksEnded = true

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 39002
sample count = 25
sample count = 24
format 0:
id = 1/256
sampleMimeType = video/mp4v-es
@ -109,8 +109,4 @@ track 256:
time = 920000
flags = 0
data = length 222, hash 7E77BF79
sample 24:
time = 960000
flags = 1
data = length 11769, hash D94C80C0
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 41614
sample count = 30
sample count = 29
format 0:
id = 1/256
sampleMimeType = video/avc
@ -137,8 +137,4 @@ track 256:
time = 966666
flags = 0
data = length 93, hash B6B6263C
sample 29:
time = 1033333
flags = 0
data = length 234, hash A48D3D90
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 25812
sample count = 21
sample count = 20
format 0:
id = 1/256
sampleMimeType = video/avc
@ -101,8 +101,4 @@ track 256:
time = 966666
flags = 0
data = length 93, hash B6B6263C
sample 20:
time = 1033333
flags = 0
data = length 234, hash A48D3D90
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 13114
sample count = 12
sample count = 11
format 0:
id = 1/256
sampleMimeType = video/avc
@ -65,8 +65,4 @@ track 256:
time = 966666
flags = 0
data = length 93, hash B6B6263C
sample 11:
time = 1033333
flags = 0
data = length 234, hash A48D3D90
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 412
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -29,8 +29,4 @@ track 256:
time = 966666
flags = 0
data = length 93, hash B6B6263C
sample 2:
time = 1033333
flags = 0
data = length 234, hash A48D3D90
tracksEnded = true

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 41614
sample count = 30
sample count = 29
format 0:
id = 1/256
sampleMimeType = video/avc
@ -134,8 +134,4 @@ track 256:
time = 966666
flags = 0
data = length 93, hash B6B6263C
sample 29:
time = 1033333
flags = 0
data = length 234, hash A48D3D90
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -29,10 +29,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 18432
sample count = 9

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -26,10 +26,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 18432
sample count = 9

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -29,10 +29,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 5015
sample count = 4

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -29,10 +29,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 5015
sample count = 4

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -29,10 +29,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 5015
sample count = 4

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 2
track 256:
total output bytes = 13650
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/avc
@ -26,10 +26,6 @@ track 256:
time = 100100
flags = 0
data = length 813, hash 99F7B4FA
sample 2:
time = 133466
flags = 0
data = length 442, hash A7367ECF
track 257:
total output bytes = 5015
sample count = 4

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 12451
sample count = 5
sample count = 4
format 0:
id = 1/256
sampleMimeType = video/avc
@ -37,8 +37,4 @@ track 256:
time = 133466
flags = 0
data = length 518, hash 546C177
sample 4:
time = 100100
flags = 0
data = length 254, hash 36EBDA1
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 12451
sample count = 5
sample count = 4
format 0:
id = 1/256
sampleMimeType = video/avc
@ -37,8 +37,4 @@ track 256:
time = 133466
flags = 0
data = length 518, hash 546C177
sample 4:
time = 100100
flags = 0
data = length 254, hash 36EBDA1
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 12451
sample count = 5
sample count = 4
format 0:
id = 1/256
sampleMimeType = video/avc
@ -37,8 +37,4 @@ track 256:
time = 133466
flags = 0
data = length 518, hash 546C177
sample 4:
time = 100100
flags = 0
data = length 254, hash 36EBDA1
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 255
sample count = 1
sample count = 0
format 0:
id = 1/256
sampleMimeType = video/avc
@ -21,8 +21,4 @@ track 256:
initializationData:
data = length 29, hash 4C2CAE9C
data = length 9, hash D971CD89
sample 0:
time = 100100
flags = 0
data = length 254, hash 36EBDA1
tracksEnded = true

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 12451
sample count = 5
sample count = 4
format 0:
id = 1/256
sampleMimeType = video/avc
@ -34,8 +34,4 @@ track 256:
time = 133466
flags = 0
data = length 518, hash 546C177
sample 4:
time = 100100
flags = 0
data = length 254, hash 36EBDA1
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 19364
sample count = 30
sample count = 29
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -137,8 +137,4 @@ track 256:
time = 933333
flags = 0
data = length 87, hash EEC4D98C
sample 29:
time = 1000000
flags = 0
data = length 167, hash EAE2DF9A
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 3806
sample count = 21
sample count = 20
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -101,8 +101,4 @@ track 256:
time = 933333
flags = 0
data = length 87, hash EEC4D98C
sample 20:
time = 1000000
flags = 0
data = length 167, hash EAE2DF9A
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 1796
sample count = 12
sample count = 11
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -65,8 +65,4 @@ track 256:
time = 933333
flags = 0
data = length 87, hash EEC4D98C
sample 11:
time = 1000000
flags = 0
data = length 167, hash EAE2DF9A
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 396
sample count = 3
sample count = 2
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -29,8 +29,4 @@ track 256:
time = 933333
flags = 0
data = length 87, hash EEC4D98C
sample 2:
time = 1000000
flags = 0
data = length 167, hash EAE2DF9A
tracksEnded = true

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 19364
sample count = 30
sample count = 29
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -134,8 +134,4 @@ track 256:
time = 933333
flags = 0
data = length 87, hash EEC4D98C
sample 29:
time = 1000000
flags = 0
data = length 167, hash EAE2DF9A
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 10004
sample count = 16
sample count = 15
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -81,8 +81,4 @@ track 256:
time = 1133333
flags = 0
data = length 46, hash CE770A40
sample 15:
time = 1266666
flags = 0
data = length 99, hash CD8A8477
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 856
sample count = 12
sample count = 11
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -65,8 +65,4 @@ track 256:
time = 1133333
flags = 0
data = length 46, hash CE770A40
sample 11:
time = 1266666
flags = 0
data = length 99, hash CD8A8477
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 563
sample count = 7
sample count = 6
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -45,8 +45,4 @@ track 256:
time = 1133333
flags = 0
data = length 46, hash CE770A40
sample 6:
time = 1266666
flags = 0
data = length 99, hash CD8A8477
tracksEnded = true

View File

@ -8,7 +8,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 146
sample count = 2
sample count = 1
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -25,8 +25,4 @@ track 256:
time = 1133333
flags = 0
data = length 46, hash CE770A40
sample 1:
time = 1266666
flags = 0
data = length 99, hash CD8A8477
tracksEnded = true

View File

@ -5,7 +5,7 @@ seekMap:
numberOfTracks = 1
track 256:
total output bytes = 10004
sample count = 16
sample count = 15
format 0:
id = 1/256
sampleMimeType = video/hevc
@ -78,8 +78,4 @@ track 256:
time = 1133333
flags = 0
data = length 46, hash CE770A40
sample 15:
time = 1266666
flags = 0
data = length 99, hash CD8A8477
tracksEnded = true

View File

@ -807,7 +807,7 @@ MediaCodecAdapter (exotest.audio.aac):
rendered = false
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 59
count = 58
input buffer #0:
timeUs = 1000000000000
contents = length 427, hash 45C53469
@ -980,14 +980,11 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000002416666
contents = length 1035, hash 324B27D0
input buffer #57:
timeUs = 1000002458322
contents = length 787, hash 1111D81C
input buffer #58:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 58
count = 57
output buffer #0:
timeUs = 1000000000000
size = 427
@ -1216,10 +1213,6 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000002416666
size = 1035
rendered = true
output buffer #57:
timeUs = 1000002458322
size = 787
rendered = true
AudioSink:
buffer count = 114
config:

View File

@ -660,7 +660,7 @@ MediaCodecAdapter (exotest.audio.mpegl2):
rendered = false
MediaCodecAdapter (exotest.video.mpeg2):
inputBuffers:
count = 59
count = 58
input buffer #0:
timeUs = 1000000125000
contents = length 32732, hash 7B7C01FD
@ -833,14 +833,11 @@ MediaCodecAdapter (exotest.video.mpeg2):
timeUs = 1000002541666
contents = length 2738, hash 8F8FDE0A
input buffer #57:
timeUs = 1000002583333
contents = length 2970, hash 78651B41
input buffer #58:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 58
count = 57
output buffer #0:
timeUs = 1000000125000
size = 32732
@ -1069,10 +1066,6 @@ MediaCodecAdapter (exotest.video.mpeg2):
timeUs = 1000002541666
size = 2738
rendered = true
output buffer #57:
timeUs = 1000002583333
size = 2970
rendered = true
AudioSink:
buffer count = 93
config:

View File

@ -1,6 +1,6 @@
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 4
count = 3
input buffer #0:
timeUs = 1000000066733
contents = length 12394, hash A39F5311
@ -8,14 +8,11 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000100100
contents = length 813, hash 99F7B4FA
input buffer #2:
timeUs = 1000000133466
contents = length 442, hash A7367ECF
input buffer #3:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 3
count = 2
output buffer #0:
timeUs = 1000000066733
size = 12394
@ -24,7 +21,3 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000100100
size = 813
rendered = true
output buffer #2:
timeUs = 1000000133466
size = 442
rendered = true

View File

@ -37,7 +37,7 @@ MediaCodecAdapter (exotest.audio.mpegl2):
rendered = false
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 4
count = 3
input buffer #0:
timeUs = 1000000066733
contents = length 12394, hash A39F5311
@ -45,14 +45,11 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000100100
contents = length 813, hash 99F7B4FA
input buffer #2:
timeUs = 1000000133466
contents = length 442, hash A7367ECF
input buffer #3:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 3
count = 2
output buffer #0:
timeUs = 1000000066733
size = 12394
@ -61,10 +58,6 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000100100
size = 813
rendered = true
output buffer #2:
timeUs = 1000000133466
size = 442
rendered = true
AudioSink:
buffer count = 4
config:

View File

@ -1,6 +1,6 @@
MediaCodecAdapter (exotest.video.avc):
inputBuffers:
count = 4
count = 3
input buffer #0:
timeUs = 1000000066733
contents = length 11672, hash 476AEFF9
@ -8,14 +8,11 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000133466
contents = length 524, hash 184416EF
input buffer #2:
timeUs = 1000000100100
contents = length 254, hash 36EBDA1
input buffer #3:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 3
count = 2
output buffer #0:
timeUs = 1000000066733
size = 11672
@ -24,7 +21,3 @@ MediaCodecAdapter (exotest.video.avc):
timeUs = 1000000133466
size = 524
rendered = true
output buffer #2:
timeUs = 1000000100100
size = 254
rendered = true

View File

@ -1,6 +1,6 @@
MediaCodecAdapter (exotest.video.hevc):
inputBuffers:
count = 31
count = 30
input buffer #0:
timeUs = 1000000066666
contents = length 2517, hash 85352308
@ -89,14 +89,11 @@ MediaCodecAdapter (exotest.video.hevc):
timeUs = 1000000933333
contents = length 87, hash EEC4D98C
input buffer #29:
timeUs = 1000001000000
contents = length 167, hash EAE2DF9A
input buffer #30:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 30
count = 29
output buffer #0:
timeUs = 1000000066666
size = 2517
@ -213,7 +210,3 @@ MediaCodecAdapter (exotest.video.hevc):
timeUs = 1000000933333
size = 87
rendered = true
output buffer #29:
timeUs = 1000001000000
size = 167
rendered = true

View File

@ -1,6 +1,6 @@
MediaCodecAdapter (exotest.video.hevc):
inputBuffers:
count = 17
count = 16
input buffer #0:
timeUs = 1000000266666
contents = length 7464, hash EBF8518B
@ -47,14 +47,11 @@ MediaCodecAdapter (exotest.video.hevc):
timeUs = 1000001133333
contents = length 46, hash CE770A40
input buffer #15:
timeUs = 1000001266666
contents = length 99, hash CD8A8477
input buffer #16:
timeUs = 0
flags = 4
contents = length 0, hash 1
outputBuffers:
count = 16
count = 15
output buffer #0:
timeUs = 1000000266666
size = 7464
@ -115,7 +112,3 @@ MediaCodecAdapter (exotest.video.hevc):
timeUs = 1000001133333
size = 46
rendered = true
output buffer #15:
timeUs = 1000001266666
size = 99
rendered = true

View File

@ -7,8 +7,8 @@ seekMap:
getPosition(1065600) = [[timeUs=0, position=44]]
numberOfTracks = 2
track 0:
total output bytes = 301430
sample count = 30
total output bytes = 287190
sample count = 29
format 0:
id = 1
sampleMimeType = video/avc
@ -16,7 +16,7 @@ track 0:
maxInputSize = 22910
width = 1080
height = 720
frameRate = 31.004547
frameRate = 31.042604
colorInfo:
colorSpace = 1
colorRange = 2
@ -141,12 +141,8 @@ track 0:
data = length 20866, hash 219DA8C0
sample 28:
time = 934255
flags = 0
data = length 7215, hash A853B1A9
sample 29:
time = 967622
flags = 536870912
data = length 14240, hash 4EE77DF9
data = length 7215, hash A853B1A9
track 1:
total output bytes = 9529
sample count = 45