Fix handling of CBR audio in some AVI files

Before this change, the value of the `dwLength` in the stream header was
interpreted as the number of chunks in the file. Seeking and timestamp
calculation use the media duration and total chunk count. However, in some
files the `dwLength` field appears not to store the number of chunks. For
example, there are CBR MP3 and AC3 files where this field seems to store the
total number of bytes of compressed media instead. That caused seeking and
timestamp calculation to give much smaller values than expected (because the
`dwLength` is very large), which broke seeking.

Work around this using the `idx1` index header if present. We only support
audio formats where every audio sample is a sync sample in AVI, and all chunks
should therefore be listed in this index. Based on testing on many sample AVI
files this gives a reliable total chunk count and fixes seeking.

The test media file is a transcoded version of Big Buck Bunny but manually
edited to overwrite the length, rate and sample size header files to simulate
the error case.

PiperOrigin-RevId: 705103651
This commit is contained in:
andrewlewis 2024-12-11 07:41:39 -08:00 committed by Copybara-Service
parent 424b43d2eb
commit da05a1a66b
11 changed files with 2889 additions and 7 deletions

View File

@ -40,6 +40,9 @@
* MP3: Don't stop playback early when a `VBRI` frame's table of contents
doesn't cover all the MP3 data in a file
([#1904](https://github.com/androidx/media/issues/1904)).
* AVI: Fix handling of files with constant bitrate compressed audio where
the stream header stores the number of bytes instead of the number of
chunks.
* DataSource:
* Audio:
* Fix `onAudioPositionAdvancing` to be called when playback resumes

View File

@ -406,7 +406,7 @@ public final class AviExtractor implements Extractor {
int chunkId = body.readLittleEndianInt();
int flags = body.readLittleEndianInt();
long offset = body.readLittleEndianInt() + seekOffset;
body.readLittleEndianInt(); // We ignore the size.
body.skipBytes(4); // Ignore size.
ChunkReader chunkReader = getChunkReader(chunkId);
if (chunkReader == null) {
// We ignore unknown chunk IDs.
@ -416,7 +416,7 @@ public final class AviExtractor implements Extractor {
offset, /* isKeyFrame= */ (flags & AVIIF_KEYFRAME) == AVIIF_KEYFRAME);
}
for (ChunkReader chunkReader : chunkReaders) {
chunkReader.compactIndex();
chunkReader.commitIndex();
}
seekMapHasBeenOutput = true;
if (chunkReaders.length == 0) {

View File

@ -34,9 +34,10 @@ import androidx.media3.common.util.Util;
body.skipBytes(4); // dwStart (4 bytes).
int length = body.readLittleEndianInt();
int suggestedBufferSize = body.readLittleEndianInt();
body.skipBytes(8); // dwQuality (4 bytes), dwSampleSize (4 bytes).
body.skipBytes(4); // dwQuality (4 bytes).
int sampleSize = body.readLittleEndianInt();
return new AviStreamHeaderChunk(
streamType, initialFrames, scale, rate, length, suggestedBufferSize);
streamType, initialFrames, scale, rate, length, suggestedBufferSize, sampleSize);
}
public final int streamType;
@ -45,15 +46,23 @@ import androidx.media3.common.util.Util;
public final int rate;
public final int length;
public final int suggestedBufferSize;
public final int sampleSize;
private AviStreamHeaderChunk(
int streamType, int initialFrames, int scale, int rate, int length, int suggestedBufferSize) {
int streamType,
int initialFrames,
int scale,
int rate,
int length,
int suggestedBufferSize,
int sampleSize) {
this.streamType = streamType;
this.initialFrames = initialFrames;
this.scale = scale;
this.rate = rate;
this.length = length;
this.suggestedBufferSize = suggestedBufferSize;
this.sampleSize = sampleSize;
}
@Override

View File

@ -64,6 +64,7 @@ import java.util.Arrays;
private final long durationUs;
private int chunkCount;
private int currentChunkSize;
private int bytesRemainingInCurrentChunk;
@ -90,6 +91,7 @@ import java.util.Arrays;
firstIndexChunkOffset = C.INDEX_UNSET;
keyFrameOffsets = new long[INITIAL_INDEX_SIZE];
keyFrameIndices = new int[INITIAL_INDEX_SIZE];
chunkCount = streamHeaderChunk.length;
}
public void appendIndexChunk(long offset, boolean isKeyFrame) {
@ -120,9 +122,16 @@ import java.util.Arrays;
return getChunkTimestampUs(/* chunkIndex= */ 1);
}
public void compactIndex() {
public void commitIndex() {
keyFrameOffsets = Arrays.copyOf(keyFrameOffsets, indexSize);
keyFrameIndices = Arrays.copyOf(keyFrameIndices, indexSize);
if (isAudio() && streamHeaderChunk.sampleSize != 0 && indexSize > 0) {
// In some files the AVI stream header chunk for audio has the number of bytes of audio in
// dwLength instead of the number of chunks. Overwrite the chunk size to use the size of the
// index, which should match the number of chunks because we only support formats where every
// audio sample is a sync sample, and every sync sample should be in the index.
chunkCount = indexSize;
}
}
public boolean handlesChunkId(int chunkId) {
@ -203,7 +212,7 @@ import java.util.Arrays;
}
private long getChunkTimestampUs(int chunkIndex) {
return durationUs * chunkIndex / streamHeaderChunk.length;
return durationUs * chunkIndex / chunkCount;
}
private SeekPoint getSeekPoint(int keyFrameIndex) {

View File

@ -42,4 +42,12 @@ public final class AviExtractorTest {
"media/avi/sample.avi",
simulationConfig);
}
@Test
public void aviSampleWithLargeLength() throws Exception {
ExtractorAsserts.assertBehavior(
() -> new AviExtractor(/* extractorFlags= */ 0, SubtitleParser.Factory.UNSUPPORTED),
"media/avi/sample-with-large-length.avi",
simulationConfig);
}
}

View File

@ -0,0 +1,573 @@
seekMap:
isSeekable = true
duration = 2037551
getPosition(0) = [[timeUs=0, position=10192]]
getPosition(1) = [[timeUs=0, position=10192]]
getPosition(1018775) = [[timeUs=0, position=10618]]
getPosition(2037551) = [[timeUs=0, position=10618]]
numberOfTracks = 2
track 0:
total output bytes = 19538
sample count = 58
track duration = 1966666
format 0:
id = 0
sampleMimeType = video/avc
maxInputSize = 1858
width = 256
height = 144
sample 0:
time = 0
flags = 1
data = length 794, hash E51B392
sample 1:
time = 66666
flags = 0
data = length 1269, hash F97B0D34
sample 2:
time = 99999
flags = 0
data = length 1858, hash BF98E83E
sample 3:
time = 133333
flags = 0
data = length 12, hash 57B58178
sample 4:
time = 166666
flags = 0
data = length 572, hash 6D29902A
sample 5:
time = 199999
flags = 0
data = length 321, hash 989CC24
sample 6:
time = 233333
flags = 0
data = length 104, hash C85D189C
sample 7:
time = 266666
flags = 0
data = length 15, hash 54DD1283
sample 8:
time = 299999
flags = 0
data = length 47, hash 19C0FB57
sample 9:
time = 333333
flags = 0
data = length 871, hash A2E94A8E
sample 10:
time = 366666
flags = 0
data = length 83, hash B681B415
sample 11:
time = 399999
flags = 0
data = length 50, hash 47CF138C
sample 12:
time = 433333
flags = 0
data = length 24, hash 60C537AA
sample 13:
time = 466666
flags = 0
data = length 1372, hash 7CD6E34D
sample 14:
time = 499999
flags = 0
data = length 79, hash FBD5B0AB
sample 15:
time = 533333
flags = 0
data = length 74, hash 834B3EED
sample 16:
time = 566666
flags = 0
data = length 59, hash FDD25EF3
sample 17:
time = 599999
flags = 0
data = length 948, hash 66EE7B18
sample 18:
time = 633333
flags = 0
data = length 146, hash 1A35D839
sample 19:
time = 666666
flags = 0
data = length 52, hash E2BF7ECF
sample 20:
time = 699999
flags = 0
data = length 819, hash 2B961CBC
sample 21:
time = 733333
flags = 0
data = length 88, hash F5BC3699
sample 22:
time = 766666
flags = 0
data = length 348, hash 66A236DA
sample 23:
time = 799999
flags = 0
data = length 174, hash 6AE36E16
sample 24:
time = 833333
flags = 0
data = length 47, hash 3D24B5BF
sample 25:
time = 866666
flags = 0
data = length 90, hash 8EADE0DF
sample 26:
time = 899999
flags = 0
data = length 1052, hash 16A95E6A
sample 27:
time = 933333
flags = 0
data = length 174, hash 1F36339D
sample 28:
time = 966666
flags = 0
data = length 76, hash 10C85E1
sample 29:
time = 999999
flags = 0
data = length 205, hash EABF2BD
sample 30:
time = 1033332
flags = 0
data = length 807, hash 42FAA50
sample 31:
time = 1066666
flags = 0
data = length 243, hash 4B761AA4
sample 32:
time = 1099999
flags = 0
data = length 139, hash C86B0369
sample 33:
time = 1133332
flags = 0
data = length 78, hash 2BB2A65E
sample 34:
time = 1166666
flags = 0
data = length 825, hash 3E330796
sample 35:
time = 1199999
flags = 0
data = length 584, hash BF3E78FF
sample 36:
time = 1233332
flags = 0
data = length 301, hash 29AD84AB
sample 37:
time = 1266666
flags = 0
data = length 232, hash DC364C13
sample 38:
time = 1299999
flags = 0
data = length 144, hash 44500BAF
sample 39:
time = 1333332
flags = 0
data = length 739, hash EA2DBF29
sample 40:
time = 1366666
flags = 0
data = length 412, hash 9A7299B6
sample 41:
time = 1399999
flags = 0
data = length 597, hash 8BB4D193
sample 42:
time = 1433332
flags = 0
data = length 297, hash A655FD4C
sample 43:
time = 1466666
flags = 0
data = length 212, hash A6A1DA37
sample 44:
time = 1499999
flags = 0
data = length 223, hash 2C4CE2AB
sample 45:
time = 1533332
flags = 0
data = length 697, hash 79DABA1E
sample 46:
time = 1566666
flags = 0
data = length 356, hash 6183273
sample 47:
time = 1599999
flags = 0
data = length 259, hash 931056F0
sample 48:
time = 1633332
flags = 0
data = length 227, hash 74A9B2CF
sample 49:
time = 1666666
flags = 0
data = length 43, hash 1664850A
sample 50:
time = 1699999
flags = 0
data = length 19, hash B3E68F9
sample 51:
time = 1733332
flags = 0
data = length 14, hash 57B3B0EA
sample 52:
time = 1766666
flags = 0
data = length 109, hash 33F32F67
sample 53:
time = 1799999
flags = 0
data = length 21, hash 47523E7
sample 54:
time = 1833332
flags = 0
data = length 14, hash 9D5C990C
sample 55:
time = 1866666
flags = 0
data = length 14, hash 5C20A241
sample 56:
time = 1899999
flags = 0
data = length 84, hash 6EC1E69C
sample 57:
time = 1933332
flags = 0
data = length 25, hash BAFA5220
track 1:
total output bytes = 32600
sample count = 78
track duration = 2037551
format 0:
id = 1
sampleMimeType = audio/mpeg
maxInputSize = 418
channelCount = 2
sampleRate = 44100
sample 0:
time = 0
flags = 1
data = length 417, hash 929E87CB
sample 1:
time = 26122
flags = 1
data = length 418, hash 6B809A2C
sample 2:
time = 52244
flags = 1
data = length 418, hash 2B5563D9
sample 3:
time = 78367
flags = 1
data = length 418, hash 98748D4E
sample 4:
time = 104489
flags = 1
data = length 418, hash 2FD35E33
sample 5:
time = 130612
flags = 1
data = length 418, hash 530A8AB0
sample 6:
time = 156734
flags = 1
data = length 418, hash 479DC512
sample 7:
time = 182857
flags = 1
data = length 418, hash 44FD78BD
sample 8:
time = 208979
flags = 1
data = length 418, hash E645C22C
sample 9:
time = 235102
flags = 1
data = length 418, hash ADD19311
sample 10:
time = 261224
flags = 1
data = length 418, hash 1B369E9F
sample 11:
time = 287346
flags = 1
data = length 418, hash 5E2D4C48
sample 12:
time = 313469
flags = 1
data = length 418, hash CE2ADAF7
sample 13:
time = 339591
flags = 1
data = length 418, hash 4FAC77C
sample 14:
time = 365714
flags = 1
data = length 418, hash 42D43042
sample 15:
time = 391836
flags = 1
data = length 418, hash DD361ADB
sample 16:
time = 417959
flags = 1
data = length 418, hash 2BBC2C9B
sample 17:
time = 444081
flags = 1
data = length 418, hash 4FCDE685
sample 18:
time = 470204
flags = 1
data = length 418, hash 309C89C7
sample 19:
time = 496326
flags = 1
data = length 418, hash 78DDE345
sample 20:
time = 522448
flags = 1
data = length 418, hash E6BECDD1
sample 21:
time = 548571
flags = 1
data = length 418, hash C19014D7
sample 22:
time = 574693
flags = 1
data = length 418, hash 62F4740C
sample 23:
time = 600816
flags = 1
data = length 418, hash BDE2439A
sample 24:
time = 626938
flags = 1
data = length 418, hash 5293CAC6
sample 25:
time = 653061
flags = 1
data = length 417, hash 4DC35659
sample 26:
time = 679183
flags = 1
data = length 418, hash 44A91C4C
sample 27:
time = 705306
flags = 1
data = length 418, hash 22E329E0
sample 28:
time = 731428
flags = 1
data = length 418, hash 22C08A37
sample 29:
time = 757551
flags = 1
data = length 418, hash 5917DE43
sample 30:
time = 783673
flags = 1
data = length 418, hash 8A635616
sample 31:
time = 809795
flags = 1
data = length 418, hash 2BC2D355
sample 32:
time = 835918
flags = 1
data = length 418, hash 4D6C5C5
sample 33:
time = 862040
flags = 1
data = length 418, hash 4D405A08
sample 34:
time = 888163
flags = 1
data = length 418, hash F3A1AB29
sample 35:
time = 914285
flags = 1
data = length 418, hash 9E14E0F0
sample 36:
time = 940408
flags = 1
data = length 418, hash FA9CB2EA
sample 37:
time = 966530
flags = 1
data = length 418, hash 69C6ECC1
sample 38:
time = 992653
flags = 1
data = length 418, hash C016523B
sample 39:
time = 1018775
flags = 1
data = length 418, hash A7A34454
sample 40:
time = 1044897
flags = 1
data = length 418, hash F4F0A99
sample 41:
time = 1071020
flags = 1
data = length 418, hash 9AB89C0E
sample 42:
time = 1097142
flags = 1
data = length 418, hash 283B271
sample 43:
time = 1123265
flags = 1
data = length 418, hash 413801D1
sample 44:
time = 1149387
flags = 1
data = length 418, hash B0FBC474
sample 45:
time = 1175510
flags = 1
data = length 418, hash 3D56A051
sample 46:
time = 1201632
flags = 1
data = length 418, hash 21E56735
sample 47:
time = 1227755
flags = 1
data = length 418, hash 4F494338
sample 48:
time = 1253877
flags = 1
data = length 418, hash FBF06EAD
sample 49:
time = 1279999
flags = 1
data = length 417, hash 56198E7
sample 50:
time = 1306122
flags = 1
data = length 418, hash C8E504E8
sample 51:
time = 1332244
flags = 1
data = length 418, hash AAE14D02
sample 52:
time = 1358367
flags = 1
data = length 418, hash 3B99EC44
sample 53:
time = 1384489
flags = 1
data = length 418, hash 40B9A1BA
sample 54:
time = 1410612
flags = 1
data = length 418, hash 782D4052
sample 55:
time = 1436734
flags = 1
data = length 418, hash 5DE9ECE6
sample 56:
time = 1462857
flags = 1
data = length 418, hash BC628CA9
sample 57:
time = 1488979
flags = 1
data = length 418, hash 1FD43DA0
sample 58:
time = 1515102
flags = 1
data = length 418, hash E66C956B
sample 59:
time = 1541224
flags = 1
data = length 418, hash C4FA9048
sample 60:
time = 1567346
flags = 1
data = length 418, hash 3EC107FD
sample 61:
time = 1593469
flags = 1
data = length 418, hash EC5C955D
sample 62:
time = 1619591
flags = 1
data = length 418, hash 177D7541
sample 63:
time = 1645714
flags = 1
data = length 418, hash D53D7C61
sample 64:
time = 1671836
flags = 1
data = length 418, hash 41994E54
sample 65:
time = 1697959
flags = 1
data = length 418, hash 10A13197
sample 66:
time = 1724081
flags = 1
data = length 418, hash 6B964E7A
sample 67:
time = 1750204
flags = 1
data = length 418, hash 23169DC3
sample 68:
time = 1776326
flags = 1
data = length 418, hash BCB49A2
sample 69:
time = 1802448
flags = 1
data = length 418, hash EAD6106F
sample 70:
time = 1828571
flags = 1
data = length 418, hash 5DB634E3
sample 71:
time = 1854693
flags = 1
data = length 418, hash 74E5B060
sample 72:
time = 1880816
flags = 1
data = length 418, hash EA5A9CB9
sample 73:
time = 1906938
flags = 1
data = length 418, hash 63A62EEB
sample 74:
time = 1933061
flags = 1
data = length 417, hash B77518E9
sample 75:
time = 1959183
flags = 1
data = length 418, hash BB8125FF
sample 76:
time = 1985306
flags = 1
data = length 418, hash 8034AE66
sample 77:
time = 2011428
flags = 1
data = length 418, hash 4ED5A004
tracksEnded = true

View File

@ -0,0 +1,569 @@
seekMap:
isSeekable = true
duration = 2037551
getPosition(0) = [[timeUs=0, position=10192]]
getPosition(1) = [[timeUs=0, position=10192]]
getPosition(1018775) = [[timeUs=0, position=10618]]
getPosition(2037551) = [[timeUs=0, position=10618]]
numberOfTracks = 2
track 0:
total output bytes = 19538
sample count = 58
track duration = 1966666
format 0:
id = 0
sampleMimeType = video/avc
maxInputSize = 1858
width = 256
height = 144
sample 0:
time = 0
flags = 1
data = length 794, hash E51B392
sample 1:
time = 66666
flags = 0
data = length 1269, hash F97B0D34
sample 2:
time = 99999
flags = 0
data = length 1858, hash BF98E83E
sample 3:
time = 133333
flags = 0
data = length 12, hash 57B58178
sample 4:
time = 166666
flags = 0
data = length 572, hash 6D29902A
sample 5:
time = 199999
flags = 0
data = length 321, hash 989CC24
sample 6:
time = 233333
flags = 0
data = length 104, hash C85D189C
sample 7:
time = 266666
flags = 0
data = length 15, hash 54DD1283
sample 8:
time = 299999
flags = 0
data = length 47, hash 19C0FB57
sample 9:
time = 333333
flags = 0
data = length 871, hash A2E94A8E
sample 10:
time = 366666
flags = 0
data = length 83, hash B681B415
sample 11:
time = 399999
flags = 0
data = length 50, hash 47CF138C
sample 12:
time = 433333
flags = 0
data = length 24, hash 60C537AA
sample 13:
time = 466666
flags = 0
data = length 1372, hash 7CD6E34D
sample 14:
time = 499999
flags = 0
data = length 79, hash FBD5B0AB
sample 15:
time = 533333
flags = 0
data = length 74, hash 834B3EED
sample 16:
time = 566666
flags = 0
data = length 59, hash FDD25EF3
sample 17:
time = 599999
flags = 0
data = length 948, hash 66EE7B18
sample 18:
time = 633333
flags = 0
data = length 146, hash 1A35D839
sample 19:
time = 666666
flags = 0
data = length 52, hash E2BF7ECF
sample 20:
time = 699999
flags = 0
data = length 819, hash 2B961CBC
sample 21:
time = 733333
flags = 0
data = length 88, hash F5BC3699
sample 22:
time = 766666
flags = 0
data = length 348, hash 66A236DA
sample 23:
time = 799999
flags = 0
data = length 174, hash 6AE36E16
sample 24:
time = 833333
flags = 0
data = length 47, hash 3D24B5BF
sample 25:
time = 866666
flags = 0
data = length 90, hash 8EADE0DF
sample 26:
time = 899999
flags = 0
data = length 1052, hash 16A95E6A
sample 27:
time = 933333
flags = 0
data = length 174, hash 1F36339D
sample 28:
time = 966666
flags = 0
data = length 76, hash 10C85E1
sample 29:
time = 999999
flags = 0
data = length 205, hash EABF2BD
sample 30:
time = 1033332
flags = 0
data = length 807, hash 42FAA50
sample 31:
time = 1066666
flags = 0
data = length 243, hash 4B761AA4
sample 32:
time = 1099999
flags = 0
data = length 139, hash C86B0369
sample 33:
time = 1133332
flags = 0
data = length 78, hash 2BB2A65E
sample 34:
time = 1166666
flags = 0
data = length 825, hash 3E330796
sample 35:
time = 1199999
flags = 0
data = length 584, hash BF3E78FF
sample 36:
time = 1233332
flags = 0
data = length 301, hash 29AD84AB
sample 37:
time = 1266666
flags = 0
data = length 232, hash DC364C13
sample 38:
time = 1299999
flags = 0
data = length 144, hash 44500BAF
sample 39:
time = 1333332
flags = 0
data = length 739, hash EA2DBF29
sample 40:
time = 1366666
flags = 0
data = length 412, hash 9A7299B6
sample 41:
time = 1399999
flags = 0
data = length 597, hash 8BB4D193
sample 42:
time = 1433332
flags = 0
data = length 297, hash A655FD4C
sample 43:
time = 1466666
flags = 0
data = length 212, hash A6A1DA37
sample 44:
time = 1499999
flags = 0
data = length 223, hash 2C4CE2AB
sample 45:
time = 1533332
flags = 0
data = length 697, hash 79DABA1E
sample 46:
time = 1566666
flags = 0
data = length 356, hash 6183273
sample 47:
time = 1599999
flags = 0
data = length 259, hash 931056F0
sample 48:
time = 1633332
flags = 0
data = length 227, hash 74A9B2CF
sample 49:
time = 1666666
flags = 0
data = length 43, hash 1664850A
sample 50:
time = 1699999
flags = 0
data = length 19, hash B3E68F9
sample 51:
time = 1733332
flags = 0
data = length 14, hash 57B3B0EA
sample 52:
time = 1766666
flags = 0
data = length 109, hash 33F32F67
sample 53:
time = 1799999
flags = 0
data = length 21, hash 47523E7
sample 54:
time = 1833332
flags = 0
data = length 14, hash 9D5C990C
sample 55:
time = 1866666
flags = 0
data = length 14, hash 5C20A241
sample 56:
time = 1899999
flags = 0
data = length 84, hash 6EC1E69C
sample 57:
time = 1933332
flags = 0
data = length 25, hash BAFA5220
track 1:
total output bytes = 32183
sample count = 77
track duration = 2037551
format 0:
id = 1
sampleMimeType = audio/mpeg
maxInputSize = 418
channelCount = 2
sampleRate = 44100
sample 0:
time = 0
flags = 1
data = length 418, hash 6B809A2C
sample 1:
time = 26122
flags = 1
data = length 418, hash 2B5563D9
sample 2:
time = 52244
flags = 1
data = length 418, hash 98748D4E
sample 3:
time = 78367
flags = 1
data = length 418, hash 2FD35E33
sample 4:
time = 104489
flags = 1
data = length 418, hash 530A8AB0
sample 5:
time = 130612
flags = 1
data = length 418, hash 479DC512
sample 6:
time = 156734
flags = 1
data = length 418, hash 44FD78BD
sample 7:
time = 182857
flags = 1
data = length 418, hash E645C22C
sample 8:
time = 208979
flags = 1
data = length 418, hash ADD19311
sample 9:
time = 235102
flags = 1
data = length 418, hash 1B369E9F
sample 10:
time = 261224
flags = 1
data = length 418, hash 5E2D4C48
sample 11:
time = 287346
flags = 1
data = length 418, hash CE2ADAF7
sample 12:
time = 313469
flags = 1
data = length 418, hash 4FAC77C
sample 13:
time = 339591
flags = 1
data = length 418, hash 42D43042
sample 14:
time = 365714
flags = 1
data = length 418, hash DD361ADB
sample 15:
time = 391836
flags = 1
data = length 418, hash 2BBC2C9B
sample 16:
time = 417959
flags = 1
data = length 418, hash 4FCDE685
sample 17:
time = 444081
flags = 1
data = length 418, hash 309C89C7
sample 18:
time = 470204
flags = 1
data = length 418, hash 78DDE345
sample 19:
time = 496326
flags = 1
data = length 418, hash E6BECDD1
sample 20:
time = 522448
flags = 1
data = length 418, hash C19014D7
sample 21:
time = 548571
flags = 1
data = length 418, hash 62F4740C
sample 22:
time = 574693
flags = 1
data = length 418, hash BDE2439A
sample 23:
time = 600816
flags = 1
data = length 418, hash 5293CAC6
sample 24:
time = 626938
flags = 1
data = length 417, hash 4DC35659
sample 25:
time = 653061
flags = 1
data = length 418, hash 44A91C4C
sample 26:
time = 679183
flags = 1
data = length 418, hash 22E329E0
sample 27:
time = 705306
flags = 1
data = length 418, hash 22C08A37
sample 28:
time = 731428
flags = 1
data = length 418, hash 5917DE43
sample 29:
time = 757551
flags = 1
data = length 418, hash 8A635616
sample 30:
time = 783673
flags = 1
data = length 418, hash 2BC2D355
sample 31:
time = 809795
flags = 1
data = length 418, hash 4D6C5C5
sample 32:
time = 835918
flags = 1
data = length 418, hash 4D405A08
sample 33:
time = 862040
flags = 1
data = length 418, hash F3A1AB29
sample 34:
time = 888163
flags = 1
data = length 418, hash 9E14E0F0
sample 35:
time = 914285
flags = 1
data = length 418, hash FA9CB2EA
sample 36:
time = 940408
flags = 1
data = length 418, hash 69C6ECC1
sample 37:
time = 966530
flags = 1
data = length 418, hash C016523B
sample 38:
time = 992653
flags = 1
data = length 418, hash A7A34454
sample 39:
time = 1018775
flags = 1
data = length 418, hash F4F0A99
sample 40:
time = 1044897
flags = 1
data = length 418, hash 9AB89C0E
sample 41:
time = 1071020
flags = 1
data = length 418, hash 283B271
sample 42:
time = 1097142
flags = 1
data = length 418, hash 413801D1
sample 43:
time = 1123265
flags = 1
data = length 418, hash B0FBC474
sample 44:
time = 1149387
flags = 1
data = length 418, hash 3D56A051
sample 45:
time = 1175510
flags = 1
data = length 418, hash 21E56735
sample 46:
time = 1201632
flags = 1
data = length 418, hash 4F494338
sample 47:
time = 1227755
flags = 1
data = length 418, hash FBF06EAD
sample 48:
time = 1253877
flags = 1
data = length 417, hash 56198E7
sample 49:
time = 1279999
flags = 1
data = length 418, hash C8E504E8
sample 50:
time = 1306122
flags = 1
data = length 418, hash AAE14D02
sample 51:
time = 1332244
flags = 1
data = length 418, hash 3B99EC44
sample 52:
time = 1358367
flags = 1
data = length 418, hash 40B9A1BA
sample 53:
time = 1384489
flags = 1
data = length 418, hash 782D4052
sample 54:
time = 1410612
flags = 1
data = length 418, hash 5DE9ECE6
sample 55:
time = 1436734
flags = 1
data = length 418, hash BC628CA9
sample 56:
time = 1462857
flags = 1
data = length 418, hash 1FD43DA0
sample 57:
time = 1488979
flags = 1
data = length 418, hash E66C956B
sample 58:
time = 1515102
flags = 1
data = length 418, hash C4FA9048
sample 59:
time = 1541224
flags = 1
data = length 418, hash 3EC107FD
sample 60:
time = 1567346
flags = 1
data = length 418, hash EC5C955D
sample 61:
time = 1593469
flags = 1
data = length 418, hash 177D7541
sample 62:
time = 1619591
flags = 1
data = length 418, hash D53D7C61
sample 63:
time = 1645714
flags = 1
data = length 418, hash 41994E54
sample 64:
time = 1671836
flags = 1
data = length 418, hash 10A13197
sample 65:
time = 1697959
flags = 1
data = length 418, hash 6B964E7A
sample 66:
time = 1724081
flags = 1
data = length 418, hash 23169DC3
sample 67:
time = 1750204
flags = 1
data = length 418, hash BCB49A2
sample 68:
time = 1776326
flags = 1
data = length 418, hash EAD6106F
sample 69:
time = 1802448
flags = 1
data = length 418, hash 5DB634E3
sample 70:
time = 1828571
flags = 1
data = length 418, hash 74E5B060
sample 71:
time = 1854693
flags = 1
data = length 418, hash EA5A9CB9
sample 72:
time = 1880816
flags = 1
data = length 418, hash 63A62EEB
sample 73:
time = 1906938
flags = 1
data = length 417, hash B77518E9
sample 74:
time = 1933061
flags = 1
data = length 418, hash BB8125FF
sample 75:
time = 1959183
flags = 1
data = length 418, hash 8034AE66
sample 76:
time = 1985306
flags = 1
data = length 418, hash 4ED5A004
tracksEnded = true

View File

@ -0,0 +1,569 @@
seekMap:
isSeekable = true
duration = 2037551
getPosition(0) = [[timeUs=0, position=10192]]
getPosition(1) = [[timeUs=0, position=10192]]
getPosition(1018775) = [[timeUs=0, position=10618]]
getPosition(2037551) = [[timeUs=0, position=10618]]
numberOfTracks = 2
track 0:
total output bytes = 19538
sample count = 58
track duration = 1966666
format 0:
id = 0
sampleMimeType = video/avc
maxInputSize = 1858
width = 256
height = 144
sample 0:
time = 0
flags = 1
data = length 794, hash E51B392
sample 1:
time = 66666
flags = 0
data = length 1269, hash F97B0D34
sample 2:
time = 99999
flags = 0
data = length 1858, hash BF98E83E
sample 3:
time = 133333
flags = 0
data = length 12, hash 57B58178
sample 4:
time = 166666
flags = 0
data = length 572, hash 6D29902A
sample 5:
time = 199999
flags = 0
data = length 321, hash 989CC24
sample 6:
time = 233333
flags = 0
data = length 104, hash C85D189C
sample 7:
time = 266666
flags = 0
data = length 15, hash 54DD1283
sample 8:
time = 299999
flags = 0
data = length 47, hash 19C0FB57
sample 9:
time = 333333
flags = 0
data = length 871, hash A2E94A8E
sample 10:
time = 366666
flags = 0
data = length 83, hash B681B415
sample 11:
time = 399999
flags = 0
data = length 50, hash 47CF138C
sample 12:
time = 433333
flags = 0
data = length 24, hash 60C537AA
sample 13:
time = 466666
flags = 0
data = length 1372, hash 7CD6E34D
sample 14:
time = 499999
flags = 0
data = length 79, hash FBD5B0AB
sample 15:
time = 533333
flags = 0
data = length 74, hash 834B3EED
sample 16:
time = 566666
flags = 0
data = length 59, hash FDD25EF3
sample 17:
time = 599999
flags = 0
data = length 948, hash 66EE7B18
sample 18:
time = 633333
flags = 0
data = length 146, hash 1A35D839
sample 19:
time = 666666
flags = 0
data = length 52, hash E2BF7ECF
sample 20:
time = 699999
flags = 0
data = length 819, hash 2B961CBC
sample 21:
time = 733333
flags = 0
data = length 88, hash F5BC3699
sample 22:
time = 766666
flags = 0
data = length 348, hash 66A236DA
sample 23:
time = 799999
flags = 0
data = length 174, hash 6AE36E16
sample 24:
time = 833333
flags = 0
data = length 47, hash 3D24B5BF
sample 25:
time = 866666
flags = 0
data = length 90, hash 8EADE0DF
sample 26:
time = 899999
flags = 0
data = length 1052, hash 16A95E6A
sample 27:
time = 933333
flags = 0
data = length 174, hash 1F36339D
sample 28:
time = 966666
flags = 0
data = length 76, hash 10C85E1
sample 29:
time = 999999
flags = 0
data = length 205, hash EABF2BD
sample 30:
time = 1033332
flags = 0
data = length 807, hash 42FAA50
sample 31:
time = 1066666
flags = 0
data = length 243, hash 4B761AA4
sample 32:
time = 1099999
flags = 0
data = length 139, hash C86B0369
sample 33:
time = 1133332
flags = 0
data = length 78, hash 2BB2A65E
sample 34:
time = 1166666
flags = 0
data = length 825, hash 3E330796
sample 35:
time = 1199999
flags = 0
data = length 584, hash BF3E78FF
sample 36:
time = 1233332
flags = 0
data = length 301, hash 29AD84AB
sample 37:
time = 1266666
flags = 0
data = length 232, hash DC364C13
sample 38:
time = 1299999
flags = 0
data = length 144, hash 44500BAF
sample 39:
time = 1333332
flags = 0
data = length 739, hash EA2DBF29
sample 40:
time = 1366666
flags = 0
data = length 412, hash 9A7299B6
sample 41:
time = 1399999
flags = 0
data = length 597, hash 8BB4D193
sample 42:
time = 1433332
flags = 0
data = length 297, hash A655FD4C
sample 43:
time = 1466666
flags = 0
data = length 212, hash A6A1DA37
sample 44:
time = 1499999
flags = 0
data = length 223, hash 2C4CE2AB
sample 45:
time = 1533332
flags = 0
data = length 697, hash 79DABA1E
sample 46:
time = 1566666
flags = 0
data = length 356, hash 6183273
sample 47:
time = 1599999
flags = 0
data = length 259, hash 931056F0
sample 48:
time = 1633332
flags = 0
data = length 227, hash 74A9B2CF
sample 49:
time = 1666666
flags = 0
data = length 43, hash 1664850A
sample 50:
time = 1699999
flags = 0
data = length 19, hash B3E68F9
sample 51:
time = 1733332
flags = 0
data = length 14, hash 57B3B0EA
sample 52:
time = 1766666
flags = 0
data = length 109, hash 33F32F67
sample 53:
time = 1799999
flags = 0
data = length 21, hash 47523E7
sample 54:
time = 1833332
flags = 0
data = length 14, hash 9D5C990C
sample 55:
time = 1866666
flags = 0
data = length 14, hash 5C20A241
sample 56:
time = 1899999
flags = 0
data = length 84, hash 6EC1E69C
sample 57:
time = 1933332
flags = 0
data = length 25, hash BAFA5220
track 1:
total output bytes = 32183
sample count = 77
track duration = 2037551
format 0:
id = 1
sampleMimeType = audio/mpeg
maxInputSize = 418
channelCount = 2
sampleRate = 44100
sample 0:
time = 0
flags = 1
data = length 418, hash 6B809A2C
sample 1:
time = 26122
flags = 1
data = length 418, hash 2B5563D9
sample 2:
time = 52244
flags = 1
data = length 418, hash 98748D4E
sample 3:
time = 78367
flags = 1
data = length 418, hash 2FD35E33
sample 4:
time = 104489
flags = 1
data = length 418, hash 530A8AB0
sample 5:
time = 130612
flags = 1
data = length 418, hash 479DC512
sample 6:
time = 156734
flags = 1
data = length 418, hash 44FD78BD
sample 7:
time = 182857
flags = 1
data = length 418, hash E645C22C
sample 8:
time = 208979
flags = 1
data = length 418, hash ADD19311
sample 9:
time = 235102
flags = 1
data = length 418, hash 1B369E9F
sample 10:
time = 261224
flags = 1
data = length 418, hash 5E2D4C48
sample 11:
time = 287346
flags = 1
data = length 418, hash CE2ADAF7
sample 12:
time = 313469
flags = 1
data = length 418, hash 4FAC77C
sample 13:
time = 339591
flags = 1
data = length 418, hash 42D43042
sample 14:
time = 365714
flags = 1
data = length 418, hash DD361ADB
sample 15:
time = 391836
flags = 1
data = length 418, hash 2BBC2C9B
sample 16:
time = 417959
flags = 1
data = length 418, hash 4FCDE685
sample 17:
time = 444081
flags = 1
data = length 418, hash 309C89C7
sample 18:
time = 470204
flags = 1
data = length 418, hash 78DDE345
sample 19:
time = 496326
flags = 1
data = length 418, hash E6BECDD1
sample 20:
time = 522448
flags = 1
data = length 418, hash C19014D7
sample 21:
time = 548571
flags = 1
data = length 418, hash 62F4740C
sample 22:
time = 574693
flags = 1
data = length 418, hash BDE2439A
sample 23:
time = 600816
flags = 1
data = length 418, hash 5293CAC6
sample 24:
time = 626938
flags = 1
data = length 417, hash 4DC35659
sample 25:
time = 653061
flags = 1
data = length 418, hash 44A91C4C
sample 26:
time = 679183
flags = 1
data = length 418, hash 22E329E0
sample 27:
time = 705306
flags = 1
data = length 418, hash 22C08A37
sample 28:
time = 731428
flags = 1
data = length 418, hash 5917DE43
sample 29:
time = 757551
flags = 1
data = length 418, hash 8A635616
sample 30:
time = 783673
flags = 1
data = length 418, hash 2BC2D355
sample 31:
time = 809795
flags = 1
data = length 418, hash 4D6C5C5
sample 32:
time = 835918
flags = 1
data = length 418, hash 4D405A08
sample 33:
time = 862040
flags = 1
data = length 418, hash F3A1AB29
sample 34:
time = 888163
flags = 1
data = length 418, hash 9E14E0F0
sample 35:
time = 914285
flags = 1
data = length 418, hash FA9CB2EA
sample 36:
time = 940408
flags = 1
data = length 418, hash 69C6ECC1
sample 37:
time = 966530
flags = 1
data = length 418, hash C016523B
sample 38:
time = 992653
flags = 1
data = length 418, hash A7A34454
sample 39:
time = 1018775
flags = 1
data = length 418, hash F4F0A99
sample 40:
time = 1044897
flags = 1
data = length 418, hash 9AB89C0E
sample 41:
time = 1071020
flags = 1
data = length 418, hash 283B271
sample 42:
time = 1097142
flags = 1
data = length 418, hash 413801D1
sample 43:
time = 1123265
flags = 1
data = length 418, hash B0FBC474
sample 44:
time = 1149387
flags = 1
data = length 418, hash 3D56A051
sample 45:
time = 1175510
flags = 1
data = length 418, hash 21E56735
sample 46:
time = 1201632
flags = 1
data = length 418, hash 4F494338
sample 47:
time = 1227755
flags = 1
data = length 418, hash FBF06EAD
sample 48:
time = 1253877
flags = 1
data = length 417, hash 56198E7
sample 49:
time = 1279999
flags = 1
data = length 418, hash C8E504E8
sample 50:
time = 1306122
flags = 1
data = length 418, hash AAE14D02
sample 51:
time = 1332244
flags = 1
data = length 418, hash 3B99EC44
sample 52:
time = 1358367
flags = 1
data = length 418, hash 40B9A1BA
sample 53:
time = 1384489
flags = 1
data = length 418, hash 782D4052
sample 54:
time = 1410612
flags = 1
data = length 418, hash 5DE9ECE6
sample 55:
time = 1436734
flags = 1
data = length 418, hash BC628CA9
sample 56:
time = 1462857
flags = 1
data = length 418, hash 1FD43DA0
sample 57:
time = 1488979
flags = 1
data = length 418, hash E66C956B
sample 58:
time = 1515102
flags = 1
data = length 418, hash C4FA9048
sample 59:
time = 1541224
flags = 1
data = length 418, hash 3EC107FD
sample 60:
time = 1567346
flags = 1
data = length 418, hash EC5C955D
sample 61:
time = 1593469
flags = 1
data = length 418, hash 177D7541
sample 62:
time = 1619591
flags = 1
data = length 418, hash D53D7C61
sample 63:
time = 1645714
flags = 1
data = length 418, hash 41994E54
sample 64:
time = 1671836
flags = 1
data = length 418, hash 10A13197
sample 65:
time = 1697959
flags = 1
data = length 418, hash 6B964E7A
sample 66:
time = 1724081
flags = 1
data = length 418, hash 23169DC3
sample 67:
time = 1750204
flags = 1
data = length 418, hash BCB49A2
sample 68:
time = 1776326
flags = 1
data = length 418, hash EAD6106F
sample 69:
time = 1802448
flags = 1
data = length 418, hash 5DB634E3
sample 70:
time = 1828571
flags = 1
data = length 418, hash 74E5B060
sample 71:
time = 1854693
flags = 1
data = length 418, hash EA5A9CB9
sample 72:
time = 1880816
flags = 1
data = length 418, hash 63A62EEB
sample 73:
time = 1906938
flags = 1
data = length 417, hash B77518E9
sample 74:
time = 1933061
flags = 1
data = length 418, hash BB8125FF
sample 75:
time = 1959183
flags = 1
data = length 418, hash 8034AE66
sample 76:
time = 1985306
flags = 1
data = length 418, hash 4ED5A004
tracksEnded = true

View File

@ -0,0 +1,569 @@
seekMap:
isSeekable = true
duration = 2037551
getPosition(0) = [[timeUs=0, position=10192]]
getPosition(1) = [[timeUs=0, position=10192]]
getPosition(1018775) = [[timeUs=0, position=10618]]
getPosition(2037551) = [[timeUs=0, position=10618]]
numberOfTracks = 2
track 0:
total output bytes = 19538
sample count = 58
track duration = 1966666
format 0:
id = 0
sampleMimeType = video/avc
maxInputSize = 1858
width = 256
height = 144
sample 0:
time = 0
flags = 1
data = length 794, hash E51B392
sample 1:
time = 66666
flags = 0
data = length 1269, hash F97B0D34
sample 2:
time = 99999
flags = 0
data = length 1858, hash BF98E83E
sample 3:
time = 133333
flags = 0
data = length 12, hash 57B58178
sample 4:
time = 166666
flags = 0
data = length 572, hash 6D29902A
sample 5:
time = 199999
flags = 0
data = length 321, hash 989CC24
sample 6:
time = 233333
flags = 0
data = length 104, hash C85D189C
sample 7:
time = 266666
flags = 0
data = length 15, hash 54DD1283
sample 8:
time = 299999
flags = 0
data = length 47, hash 19C0FB57
sample 9:
time = 333333
flags = 0
data = length 871, hash A2E94A8E
sample 10:
time = 366666
flags = 0
data = length 83, hash B681B415
sample 11:
time = 399999
flags = 0
data = length 50, hash 47CF138C
sample 12:
time = 433333
flags = 0
data = length 24, hash 60C537AA
sample 13:
time = 466666
flags = 0
data = length 1372, hash 7CD6E34D
sample 14:
time = 499999
flags = 0
data = length 79, hash FBD5B0AB
sample 15:
time = 533333
flags = 0
data = length 74, hash 834B3EED
sample 16:
time = 566666
flags = 0
data = length 59, hash FDD25EF3
sample 17:
time = 599999
flags = 0
data = length 948, hash 66EE7B18
sample 18:
time = 633333
flags = 0
data = length 146, hash 1A35D839
sample 19:
time = 666666
flags = 0
data = length 52, hash E2BF7ECF
sample 20:
time = 699999
flags = 0
data = length 819, hash 2B961CBC
sample 21:
time = 733333
flags = 0
data = length 88, hash F5BC3699
sample 22:
time = 766666
flags = 0
data = length 348, hash 66A236DA
sample 23:
time = 799999
flags = 0
data = length 174, hash 6AE36E16
sample 24:
time = 833333
flags = 0
data = length 47, hash 3D24B5BF
sample 25:
time = 866666
flags = 0
data = length 90, hash 8EADE0DF
sample 26:
time = 899999
flags = 0
data = length 1052, hash 16A95E6A
sample 27:
time = 933333
flags = 0
data = length 174, hash 1F36339D
sample 28:
time = 966666
flags = 0
data = length 76, hash 10C85E1
sample 29:
time = 999999
flags = 0
data = length 205, hash EABF2BD
sample 30:
time = 1033332
flags = 0
data = length 807, hash 42FAA50
sample 31:
time = 1066666
flags = 0
data = length 243, hash 4B761AA4
sample 32:
time = 1099999
flags = 0
data = length 139, hash C86B0369
sample 33:
time = 1133332
flags = 0
data = length 78, hash 2BB2A65E
sample 34:
time = 1166666
flags = 0
data = length 825, hash 3E330796
sample 35:
time = 1199999
flags = 0
data = length 584, hash BF3E78FF
sample 36:
time = 1233332
flags = 0
data = length 301, hash 29AD84AB
sample 37:
time = 1266666
flags = 0
data = length 232, hash DC364C13
sample 38:
time = 1299999
flags = 0
data = length 144, hash 44500BAF
sample 39:
time = 1333332
flags = 0
data = length 739, hash EA2DBF29
sample 40:
time = 1366666
flags = 0
data = length 412, hash 9A7299B6
sample 41:
time = 1399999
flags = 0
data = length 597, hash 8BB4D193
sample 42:
time = 1433332
flags = 0
data = length 297, hash A655FD4C
sample 43:
time = 1466666
flags = 0
data = length 212, hash A6A1DA37
sample 44:
time = 1499999
flags = 0
data = length 223, hash 2C4CE2AB
sample 45:
time = 1533332
flags = 0
data = length 697, hash 79DABA1E
sample 46:
time = 1566666
flags = 0
data = length 356, hash 6183273
sample 47:
time = 1599999
flags = 0
data = length 259, hash 931056F0
sample 48:
time = 1633332
flags = 0
data = length 227, hash 74A9B2CF
sample 49:
time = 1666666
flags = 0
data = length 43, hash 1664850A
sample 50:
time = 1699999
flags = 0
data = length 19, hash B3E68F9
sample 51:
time = 1733332
flags = 0
data = length 14, hash 57B3B0EA
sample 52:
time = 1766666
flags = 0
data = length 109, hash 33F32F67
sample 53:
time = 1799999
flags = 0
data = length 21, hash 47523E7
sample 54:
time = 1833332
flags = 0
data = length 14, hash 9D5C990C
sample 55:
time = 1866666
flags = 0
data = length 14, hash 5C20A241
sample 56:
time = 1899999
flags = 0
data = length 84, hash 6EC1E69C
sample 57:
time = 1933332
flags = 0
data = length 25, hash BAFA5220
track 1:
total output bytes = 32183
sample count = 77
track duration = 2037551
format 0:
id = 1
sampleMimeType = audio/mpeg
maxInputSize = 418
channelCount = 2
sampleRate = 44100
sample 0:
time = 0
flags = 1
data = length 418, hash 6B809A2C
sample 1:
time = 26122
flags = 1
data = length 418, hash 2B5563D9
sample 2:
time = 52244
flags = 1
data = length 418, hash 98748D4E
sample 3:
time = 78367
flags = 1
data = length 418, hash 2FD35E33
sample 4:
time = 104489
flags = 1
data = length 418, hash 530A8AB0
sample 5:
time = 130612
flags = 1
data = length 418, hash 479DC512
sample 6:
time = 156734
flags = 1
data = length 418, hash 44FD78BD
sample 7:
time = 182857
flags = 1
data = length 418, hash E645C22C
sample 8:
time = 208979
flags = 1
data = length 418, hash ADD19311
sample 9:
time = 235102
flags = 1
data = length 418, hash 1B369E9F
sample 10:
time = 261224
flags = 1
data = length 418, hash 5E2D4C48
sample 11:
time = 287346
flags = 1
data = length 418, hash CE2ADAF7
sample 12:
time = 313469
flags = 1
data = length 418, hash 4FAC77C
sample 13:
time = 339591
flags = 1
data = length 418, hash 42D43042
sample 14:
time = 365714
flags = 1
data = length 418, hash DD361ADB
sample 15:
time = 391836
flags = 1
data = length 418, hash 2BBC2C9B
sample 16:
time = 417959
flags = 1
data = length 418, hash 4FCDE685
sample 17:
time = 444081
flags = 1
data = length 418, hash 309C89C7
sample 18:
time = 470204
flags = 1
data = length 418, hash 78DDE345
sample 19:
time = 496326
flags = 1
data = length 418, hash E6BECDD1
sample 20:
time = 522448
flags = 1
data = length 418, hash C19014D7
sample 21:
time = 548571
flags = 1
data = length 418, hash 62F4740C
sample 22:
time = 574693
flags = 1
data = length 418, hash BDE2439A
sample 23:
time = 600816
flags = 1
data = length 418, hash 5293CAC6
sample 24:
time = 626938
flags = 1
data = length 417, hash 4DC35659
sample 25:
time = 653061
flags = 1
data = length 418, hash 44A91C4C
sample 26:
time = 679183
flags = 1
data = length 418, hash 22E329E0
sample 27:
time = 705306
flags = 1
data = length 418, hash 22C08A37
sample 28:
time = 731428
flags = 1
data = length 418, hash 5917DE43
sample 29:
time = 757551
flags = 1
data = length 418, hash 8A635616
sample 30:
time = 783673
flags = 1
data = length 418, hash 2BC2D355
sample 31:
time = 809795
flags = 1
data = length 418, hash 4D6C5C5
sample 32:
time = 835918
flags = 1
data = length 418, hash 4D405A08
sample 33:
time = 862040
flags = 1
data = length 418, hash F3A1AB29
sample 34:
time = 888163
flags = 1
data = length 418, hash 9E14E0F0
sample 35:
time = 914285
flags = 1
data = length 418, hash FA9CB2EA
sample 36:
time = 940408
flags = 1
data = length 418, hash 69C6ECC1
sample 37:
time = 966530
flags = 1
data = length 418, hash C016523B
sample 38:
time = 992653
flags = 1
data = length 418, hash A7A34454
sample 39:
time = 1018775
flags = 1
data = length 418, hash F4F0A99
sample 40:
time = 1044897
flags = 1
data = length 418, hash 9AB89C0E
sample 41:
time = 1071020
flags = 1
data = length 418, hash 283B271
sample 42:
time = 1097142
flags = 1
data = length 418, hash 413801D1
sample 43:
time = 1123265
flags = 1
data = length 418, hash B0FBC474
sample 44:
time = 1149387
flags = 1
data = length 418, hash 3D56A051
sample 45:
time = 1175510
flags = 1
data = length 418, hash 21E56735
sample 46:
time = 1201632
flags = 1
data = length 418, hash 4F494338
sample 47:
time = 1227755
flags = 1
data = length 418, hash FBF06EAD
sample 48:
time = 1253877
flags = 1
data = length 417, hash 56198E7
sample 49:
time = 1279999
flags = 1
data = length 418, hash C8E504E8
sample 50:
time = 1306122
flags = 1
data = length 418, hash AAE14D02
sample 51:
time = 1332244
flags = 1
data = length 418, hash 3B99EC44
sample 52:
time = 1358367
flags = 1
data = length 418, hash 40B9A1BA
sample 53:
time = 1384489
flags = 1
data = length 418, hash 782D4052
sample 54:
time = 1410612
flags = 1
data = length 418, hash 5DE9ECE6
sample 55:
time = 1436734
flags = 1
data = length 418, hash BC628CA9
sample 56:
time = 1462857
flags = 1
data = length 418, hash 1FD43DA0
sample 57:
time = 1488979
flags = 1
data = length 418, hash E66C956B
sample 58:
time = 1515102
flags = 1
data = length 418, hash C4FA9048
sample 59:
time = 1541224
flags = 1
data = length 418, hash 3EC107FD
sample 60:
time = 1567346
flags = 1
data = length 418, hash EC5C955D
sample 61:
time = 1593469
flags = 1
data = length 418, hash 177D7541
sample 62:
time = 1619591
flags = 1
data = length 418, hash D53D7C61
sample 63:
time = 1645714
flags = 1
data = length 418, hash 41994E54
sample 64:
time = 1671836
flags = 1
data = length 418, hash 10A13197
sample 65:
time = 1697959
flags = 1
data = length 418, hash 6B964E7A
sample 66:
time = 1724081
flags = 1
data = length 418, hash 23169DC3
sample 67:
time = 1750204
flags = 1
data = length 418, hash BCB49A2
sample 68:
time = 1776326
flags = 1
data = length 418, hash EAD6106F
sample 69:
time = 1802448
flags = 1
data = length 418, hash 5DB634E3
sample 70:
time = 1828571
flags = 1
data = length 418, hash 74E5B060
sample 71:
time = 1854693
flags = 1
data = length 418, hash EA5A9CB9
sample 72:
time = 1880816
flags = 1
data = length 418, hash 63A62EEB
sample 73:
time = 1906938
flags = 1
data = length 417, hash B77518E9
sample 74:
time = 1933061
flags = 1
data = length 418, hash BB8125FF
sample 75:
time = 1959183
flags = 1
data = length 418, hash 8034AE66
sample 76:
time = 1985306
flags = 1
data = length 418, hash 4ED5A004
tracksEnded = true

View File

@ -0,0 +1,573 @@
seekMap:
isSeekable = true
duration = 2037551
getPosition(0) = [[timeUs=0, position=10192]]
getPosition(1) = [[timeUs=0, position=10192]]
getPosition(1018775) = [[timeUs=0, position=10618]]
getPosition(2037551) = [[timeUs=0, position=10618]]
numberOfTracks = 2
track 0:
total output bytes = 19538
sample count = 58
track duration = 1966666
format 0:
id = 0
sampleMimeType = video/avc
maxInputSize = 1858
width = 256
height = 144
sample 0:
time = 0
flags = 1
data = length 794, hash E51B392
sample 1:
time = 66666
flags = 0
data = length 1269, hash F97B0D34
sample 2:
time = 99999
flags = 0
data = length 1858, hash BF98E83E
sample 3:
time = 133333
flags = 0
data = length 12, hash 57B58178
sample 4:
time = 166666
flags = 0
data = length 572, hash 6D29902A
sample 5:
time = 199999
flags = 0
data = length 321, hash 989CC24
sample 6:
time = 233333
flags = 0
data = length 104, hash C85D189C
sample 7:
time = 266666
flags = 0
data = length 15, hash 54DD1283
sample 8:
time = 299999
flags = 0
data = length 47, hash 19C0FB57
sample 9:
time = 333333
flags = 0
data = length 871, hash A2E94A8E
sample 10:
time = 366666
flags = 0
data = length 83, hash B681B415
sample 11:
time = 399999
flags = 0
data = length 50, hash 47CF138C
sample 12:
time = 433333
flags = 0
data = length 24, hash 60C537AA
sample 13:
time = 466666
flags = 0
data = length 1372, hash 7CD6E34D
sample 14:
time = 499999
flags = 0
data = length 79, hash FBD5B0AB
sample 15:
time = 533333
flags = 0
data = length 74, hash 834B3EED
sample 16:
time = 566666
flags = 0
data = length 59, hash FDD25EF3
sample 17:
time = 599999
flags = 0
data = length 948, hash 66EE7B18
sample 18:
time = 633333
flags = 0
data = length 146, hash 1A35D839
sample 19:
time = 666666
flags = 0
data = length 52, hash E2BF7ECF
sample 20:
time = 699999
flags = 0
data = length 819, hash 2B961CBC
sample 21:
time = 733333
flags = 0
data = length 88, hash F5BC3699
sample 22:
time = 766666
flags = 0
data = length 348, hash 66A236DA
sample 23:
time = 799999
flags = 0
data = length 174, hash 6AE36E16
sample 24:
time = 833333
flags = 0
data = length 47, hash 3D24B5BF
sample 25:
time = 866666
flags = 0
data = length 90, hash 8EADE0DF
sample 26:
time = 899999
flags = 0
data = length 1052, hash 16A95E6A
sample 27:
time = 933333
flags = 0
data = length 174, hash 1F36339D
sample 28:
time = 966666
flags = 0
data = length 76, hash 10C85E1
sample 29:
time = 999999
flags = 0
data = length 205, hash EABF2BD
sample 30:
time = 1033332
flags = 0
data = length 807, hash 42FAA50
sample 31:
time = 1066666
flags = 0
data = length 243, hash 4B761AA4
sample 32:
time = 1099999
flags = 0
data = length 139, hash C86B0369
sample 33:
time = 1133332
flags = 0
data = length 78, hash 2BB2A65E
sample 34:
time = 1166666
flags = 0
data = length 825, hash 3E330796
sample 35:
time = 1199999
flags = 0
data = length 584, hash BF3E78FF
sample 36:
time = 1233332
flags = 0
data = length 301, hash 29AD84AB
sample 37:
time = 1266666
flags = 0
data = length 232, hash DC364C13
sample 38:
time = 1299999
flags = 0
data = length 144, hash 44500BAF
sample 39:
time = 1333332
flags = 0
data = length 739, hash EA2DBF29
sample 40:
time = 1366666
flags = 0
data = length 412, hash 9A7299B6
sample 41:
time = 1399999
flags = 0
data = length 597, hash 8BB4D193
sample 42:
time = 1433332
flags = 0
data = length 297, hash A655FD4C
sample 43:
time = 1466666
flags = 0
data = length 212, hash A6A1DA37
sample 44:
time = 1499999
flags = 0
data = length 223, hash 2C4CE2AB
sample 45:
time = 1533332
flags = 0
data = length 697, hash 79DABA1E
sample 46:
time = 1566666
flags = 0
data = length 356, hash 6183273
sample 47:
time = 1599999
flags = 0
data = length 259, hash 931056F0
sample 48:
time = 1633332
flags = 0
data = length 227, hash 74A9B2CF
sample 49:
time = 1666666
flags = 0
data = length 43, hash 1664850A
sample 50:
time = 1699999
flags = 0
data = length 19, hash B3E68F9
sample 51:
time = 1733332
flags = 0
data = length 14, hash 57B3B0EA
sample 52:
time = 1766666
flags = 0
data = length 109, hash 33F32F67
sample 53:
time = 1799999
flags = 0
data = length 21, hash 47523E7
sample 54:
time = 1833332
flags = 0
data = length 14, hash 9D5C990C
sample 55:
time = 1866666
flags = 0
data = length 14, hash 5C20A241
sample 56:
time = 1899999
flags = 0
data = length 84, hash 6EC1E69C
sample 57:
time = 1933332
flags = 0
data = length 25, hash BAFA5220
track 1:
total output bytes = 32600
sample count = 78
track duration = 2037551
format 0:
id = 1
sampleMimeType = audio/mpeg
maxInputSize = 418
channelCount = 2
sampleRate = 44100
sample 0:
time = 0
flags = 1
data = length 417, hash 929E87CB
sample 1:
time = 26122
flags = 1
data = length 418, hash 6B809A2C
sample 2:
time = 52244
flags = 1
data = length 418, hash 2B5563D9
sample 3:
time = 78367
flags = 1
data = length 418, hash 98748D4E
sample 4:
time = 104489
flags = 1
data = length 418, hash 2FD35E33
sample 5:
time = 130612
flags = 1
data = length 418, hash 530A8AB0
sample 6:
time = 156734
flags = 1
data = length 418, hash 479DC512
sample 7:
time = 182857
flags = 1
data = length 418, hash 44FD78BD
sample 8:
time = 208979
flags = 1
data = length 418, hash E645C22C
sample 9:
time = 235102
flags = 1
data = length 418, hash ADD19311
sample 10:
time = 261224
flags = 1
data = length 418, hash 1B369E9F
sample 11:
time = 287346
flags = 1
data = length 418, hash 5E2D4C48
sample 12:
time = 313469
flags = 1
data = length 418, hash CE2ADAF7
sample 13:
time = 339591
flags = 1
data = length 418, hash 4FAC77C
sample 14:
time = 365714
flags = 1
data = length 418, hash 42D43042
sample 15:
time = 391836
flags = 1
data = length 418, hash DD361ADB
sample 16:
time = 417959
flags = 1
data = length 418, hash 2BBC2C9B
sample 17:
time = 444081
flags = 1
data = length 418, hash 4FCDE685
sample 18:
time = 470204
flags = 1
data = length 418, hash 309C89C7
sample 19:
time = 496326
flags = 1
data = length 418, hash 78DDE345
sample 20:
time = 522448
flags = 1
data = length 418, hash E6BECDD1
sample 21:
time = 548571
flags = 1
data = length 418, hash C19014D7
sample 22:
time = 574693
flags = 1
data = length 418, hash 62F4740C
sample 23:
time = 600816
flags = 1
data = length 418, hash BDE2439A
sample 24:
time = 626938
flags = 1
data = length 418, hash 5293CAC6
sample 25:
time = 653061
flags = 1
data = length 417, hash 4DC35659
sample 26:
time = 679183
flags = 1
data = length 418, hash 44A91C4C
sample 27:
time = 705306
flags = 1
data = length 418, hash 22E329E0
sample 28:
time = 731428
flags = 1
data = length 418, hash 22C08A37
sample 29:
time = 757551
flags = 1
data = length 418, hash 5917DE43
sample 30:
time = 783673
flags = 1
data = length 418, hash 8A635616
sample 31:
time = 809795
flags = 1
data = length 418, hash 2BC2D355
sample 32:
time = 835918
flags = 1
data = length 418, hash 4D6C5C5
sample 33:
time = 862040
flags = 1
data = length 418, hash 4D405A08
sample 34:
time = 888163
flags = 1
data = length 418, hash F3A1AB29
sample 35:
time = 914285
flags = 1
data = length 418, hash 9E14E0F0
sample 36:
time = 940408
flags = 1
data = length 418, hash FA9CB2EA
sample 37:
time = 966530
flags = 1
data = length 418, hash 69C6ECC1
sample 38:
time = 992653
flags = 1
data = length 418, hash C016523B
sample 39:
time = 1018775
flags = 1
data = length 418, hash A7A34454
sample 40:
time = 1044897
flags = 1
data = length 418, hash F4F0A99
sample 41:
time = 1071020
flags = 1
data = length 418, hash 9AB89C0E
sample 42:
time = 1097142
flags = 1
data = length 418, hash 283B271
sample 43:
time = 1123265
flags = 1
data = length 418, hash 413801D1
sample 44:
time = 1149387
flags = 1
data = length 418, hash B0FBC474
sample 45:
time = 1175510
flags = 1
data = length 418, hash 3D56A051
sample 46:
time = 1201632
flags = 1
data = length 418, hash 21E56735
sample 47:
time = 1227755
flags = 1
data = length 418, hash 4F494338
sample 48:
time = 1253877
flags = 1
data = length 418, hash FBF06EAD
sample 49:
time = 1279999
flags = 1
data = length 417, hash 56198E7
sample 50:
time = 1306122
flags = 1
data = length 418, hash C8E504E8
sample 51:
time = 1332244
flags = 1
data = length 418, hash AAE14D02
sample 52:
time = 1358367
flags = 1
data = length 418, hash 3B99EC44
sample 53:
time = 1384489
flags = 1
data = length 418, hash 40B9A1BA
sample 54:
time = 1410612
flags = 1
data = length 418, hash 782D4052
sample 55:
time = 1436734
flags = 1
data = length 418, hash 5DE9ECE6
sample 56:
time = 1462857
flags = 1
data = length 418, hash BC628CA9
sample 57:
time = 1488979
flags = 1
data = length 418, hash 1FD43DA0
sample 58:
time = 1515102
flags = 1
data = length 418, hash E66C956B
sample 59:
time = 1541224
flags = 1
data = length 418, hash C4FA9048
sample 60:
time = 1567346
flags = 1
data = length 418, hash 3EC107FD
sample 61:
time = 1593469
flags = 1
data = length 418, hash EC5C955D
sample 62:
time = 1619591
flags = 1
data = length 418, hash 177D7541
sample 63:
time = 1645714
flags = 1
data = length 418, hash D53D7C61
sample 64:
time = 1671836
flags = 1
data = length 418, hash 41994E54
sample 65:
time = 1697959
flags = 1
data = length 418, hash 10A13197
sample 66:
time = 1724081
flags = 1
data = length 418, hash 6B964E7A
sample 67:
time = 1750204
flags = 1
data = length 418, hash 23169DC3
sample 68:
time = 1776326
flags = 1
data = length 418, hash BCB49A2
sample 69:
time = 1802448
flags = 1
data = length 418, hash EAD6106F
sample 70:
time = 1828571
flags = 1
data = length 418, hash 5DB634E3
sample 71:
time = 1854693
flags = 1
data = length 418, hash 74E5B060
sample 72:
time = 1880816
flags = 1
data = length 418, hash EA5A9CB9
sample 73:
time = 1906938
flags = 1
data = length 418, hash 63A62EEB
sample 74:
time = 1933061
flags = 1
data = length 417, hash B77518E9
sample 75:
time = 1959183
flags = 1
data = length 418, hash BB8125FF
sample 76:
time = 1985306
flags = 1
data = length 418, hash 8034AE66
sample 77:
time = 2011428
flags = 1
data = length 418, hash 4ED5A004
tracksEnded = true