From 6872910d5a757587ff167adbe82b3421a2daa2ed Mon Sep 17 00:00:00 2001 From: kimvde Date: Fri, 3 Jul 2020 21:09:03 +0100 Subject: [PATCH] Add support for partially fragmented MP4s ISSUE: #7308 PiperOrigin-RevId: 319541273 --- RELEASENOTES.md | 1 + .../extractor/mp4/FragmentedMp4Extractor.java | 146 +++++--- .../extractor/mp4/TrackFragment.java | 3 +- .../mp4/FragmentedMp4ExtractorTest.java | 8 + .../mp4/sample_partially_fragmented.mp4 | Bin 0 -> 108052 bytes .../sample_partially_fragmented.mp4.0.dump | 329 ++++++++++++++++++ ...rtially_fragmented.mp4.unknown_length.dump | 329 ++++++++++++++++++ 7 files changed, 770 insertions(+), 46 deletions(-) create mode 100644 testdata/src/test/assets/mp4/sample_partially_fragmented.mp4 create mode 100644 testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.0.dump create mode 100644 testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.unknown_length.dump diff --git a/RELEASENOTES.md b/RELEASENOTES.md index ad8395d024..422d5bfe76 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -203,6 +203,7 @@ ([#6410](https://github.com/google/ExoPlayer/issues/6410)). * Select first extractors based on the filename extension and the response headers mime type in `DefaultExtractorsFactory`. + * Add support for partially fragmented MP4s. * Testing * Add `TestExoPlayer`, a utility class with APIs to create `SimpleExoPlayer` instances with fake components for testing. diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java index 30a1de8988..3cfc68cbe2 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4Extractor.java @@ -280,7 +280,17 @@ public class FragmentedMp4Extractor implements Extractor { extractorOutput = output; if (sideloadedTrack != null) { TrackBundle bundle = new TrackBundle(output.track(0, sideloadedTrack.type)); - bundle.init(sideloadedTrack, new DefaultSampleValues(0, 0, 0, 0)); + bundle.init( + new TrackSampleTable( + sideloadedTrack, + /* offsets= */ new long[0], + /* sizes= */ new int[0], + /* maximumSize= */ 0, + /* timestampsUs= */ new long[0], + /* flags= */ new int[0], + /* durationUs= */ C.TIME_UNSET), + new DefaultSampleValues( + /* sampleDescriptionIndex= */ 0, /* duration= */ 0, /* size= */ 0, /* flags= */ 0)); trackBundles.put(0, bundle); maybeInitExtraTracks(); extractorOutput.endTracks(); @@ -368,6 +378,14 @@ public class FragmentedMp4Extractor implements Extractor { } long atomPosition = input.getPosition() - atomHeaderBytesRead; + if (atomType == Atom.TYPE_moof || atomType == Atom.TYPE_mdat) { + if (!haveOutputSeekMap) { + // This must be the first moof or mdat in the stream. + extractorOutput.seekMap(new SeekMap.Unseekable(durationUs, atomPosition)); + haveOutputSeekMap = true; + } + } + if (atomType == Atom.TYPE_moof) { // The data positions may be updated when parsing the tfhd/trun. int trackCount = trackBundles.size(); @@ -377,11 +395,6 @@ public class FragmentedMp4Extractor implements Extractor { fragment.auxiliaryDataPosition = atomPosition; fragment.dataPosition = atomPosition; } - if (!haveOutputSeekMap) { - // This must be the first moof in the stream. - extractorOutput.seekMap(new SeekMap.Unseekable(durationUs, atomPosition)); - haveOutputSeekMap = true; - } } if (atomType == Atom.TYPE_mdat) { @@ -483,7 +496,7 @@ public class FragmentedMp4Extractor implements Extractor { } // Construction of tracks and sample tables. - List trackSampleTables = + List sampleTables = parseTraks( moov, new GaplessInfoHolder(), @@ -493,13 +506,14 @@ public class FragmentedMp4Extractor implements Extractor { /* isQuickTime= */ false, this::modifyTrack); - int trackCount = trackSampleTables.size(); + int trackCount = sampleTables.size(); if (trackBundles.size() == 0) { // We need to create the track bundles. for (int i = 0; i < trackCount; i++) { - Track track = trackSampleTables.get(i).track; + TrackSampleTable sampleTable = sampleTables.get(i); + Track track = sampleTable.track; TrackBundle trackBundle = new TrackBundle(extractorOutput.track(i, track.type)); - trackBundle.init(track, getDefaultSampleValues(defaultSampleValuesArray, track.id)); + trackBundle.init(sampleTable, getDefaultSampleValues(defaultSampleValuesArray, track.id)); trackBundles.put(track.id, trackBundle); durationUs = Math.max(durationUs, track.durationUs); } @@ -508,10 +522,11 @@ public class FragmentedMp4Extractor implements Extractor { } else { Assertions.checkState(trackBundles.size() == trackCount); for (int i = 0; i < trackCount; i++) { - Track track = trackSampleTables.get(i).track; + TrackSampleTable sampleTable = sampleTables.get(i); + Track track = sampleTable.track; trackBundles .get(track.id) - .init(track, getDefaultSampleValues(defaultSampleValuesArray, track.id)); + .init(sampleTable, getDefaultSampleValues(defaultSampleValuesArray, track.id)); } } } @@ -702,6 +717,7 @@ public class FragmentedMp4Extractor implements Extractor { TrackFragment fragment = trackBundle.fragment; long decodeTime = fragment.nextFragmentDecodeTime; trackBundle.reset(); + trackBundle.currentlyInFragment = true; @Nullable LeafAtom tfdtAtom = traf.getLeafAtomOfType(Atom.TYPE_tfdt); if (tfdtAtom != null && (flags & FLAG_WORKAROUND_IGNORE_TFDT_BOX) == 0) { @@ -712,7 +728,8 @@ public class FragmentedMp4Extractor implements Extractor { @Nullable TrackEncryptionBox encryptionBox = - trackBundle.track.getSampleDescriptionEncryptionBox(fragment.header.sampleDescriptionIndex); + trackBundle.moovSampleTable.track.getSampleDescriptionEncryptionBox( + fragment.header.sampleDescriptionIndex); @Nullable LeafAtom saiz = traf.getLeafAtomOfType(Atom.TYPE_saiz); if (saiz != null) { @@ -933,7 +950,7 @@ public class FragmentedMp4Extractor implements Extractor { int fullAtom = trun.readInt(); int atomFlags = Atom.parseFullAtomFlags(fullAtom); - Track track = trackBundle.track; + Track track = trackBundle.moovSampleTable.track; TrackFragment fragment = trackBundle.fragment; DefaultSampleValues defaultSampleValues = fragment.header; @@ -1001,6 +1018,7 @@ public class FragmentedMp4Extractor implements Extractor { } sampleDecodingTimeUsTable[i] = Util.scaleLargeTimestamp(cumulativeTime, C.MICROS_PER_SECOND, timescale) - edtsOffsetUs; + sampleDecodingTimeUsTable[i] += trackBundle.moovSampleTable.durationUs; sampleSizeTable[i] = sampleSize; sampleIsSyncFrameTable[i] = ((sampleFlags >> 16) & 0x1) == 0 && (!workaroundEveryVideoFrameIsSyncFrame || i == 0); @@ -1225,7 +1243,7 @@ public class FragmentedMp4Extractor implements Extractor { private boolean readSample(ExtractorInput input) throws IOException { if (parserState == STATE_READING_SAMPLE_START) { if (currentTrackBundle == null) { - @Nullable TrackBundle currentTrackBundle = getNextFragmentRun(trackBundles); + @Nullable TrackBundle currentTrackBundle = getNextTrackBundle(trackBundles); if (currentTrackBundle == null) { // We've run out of samples in the current mdat. Discard any trailing data and prepare to // read the header of the next atom. @@ -1262,12 +1280,14 @@ public class FragmentedMp4Extractor implements Extractor { return true; } - if (currentTrackBundle.track.sampleTransformation == Track.TRANSFORMATION_CEA608_CDAT) { + if (currentTrackBundle.moovSampleTable.track.sampleTransformation + == Track.TRANSFORMATION_CEA608_CDAT) { sampleSize -= Atom.HEADER_SIZE; input.skipFully(Atom.HEADER_SIZE); } - if (MimeTypes.AUDIO_AC4.equals(currentTrackBundle.track.format.sampleMimeType)) { + if (MimeTypes.AUDIO_AC4.equals( + currentTrackBundle.moovSampleTable.track.format.sampleMimeType)) { // AC4 samples need to be prefixed with a clear sample header. sampleBytesWritten = currentTrackBundle.outputSampleEncryptionData(sampleSize, Ac4Util.SAMPLE_HEADER_SIZE); @@ -1283,7 +1303,7 @@ public class FragmentedMp4Extractor implements Extractor { sampleCurrentNalBytesRemaining = 0; } - Track track = currentTrackBundle.track; + Track track = currentTrackBundle.moovSampleTable.track; TrackOutput output = currentTrackBundle.output; long sampleTimeUs = currentTrackBundle.getCurrentSamplePresentationTimeUs(); if (timestampAdjuster != null) { @@ -1390,24 +1410,27 @@ public class FragmentedMp4Extractor implements Extractor { } /** - * Returns the {@link TrackBundle} whose fragment run has the earliest file position out of those - * yet to be consumed, or null if all have been consumed. + * Returns the {@link TrackBundle} whose sample has the earliest file position out of those yet to + * be consumed, or null if all have been consumed. */ @Nullable - private static TrackBundle getNextFragmentRun(SparseArray trackBundles) { + private static TrackBundle getNextTrackBundle(SparseArray trackBundles) { TrackBundle nextTrackBundle = null; - long nextTrackRunOffset = Long.MAX_VALUE; + long nextSampleOffset = Long.MAX_VALUE; int trackBundlesSize = trackBundles.size(); for (int i = 0; i < trackBundlesSize; i++) { TrackBundle trackBundle = trackBundles.valueAt(i); - if (trackBundle.currentTrackRunIndex == trackBundle.fragment.trunCount) { - // This track fragment contains no more runs in the next mdat box. + if ((!trackBundle.currentlyInFragment + && trackBundle.currentSampleIndex == trackBundle.moovSampleTable.sampleCount) + || (trackBundle.currentlyInFragment + && trackBundle.currentTrackRunIndex == trackBundle.fragment.trunCount)) { + // This track sample table or fragment contains no more runs in the next mdat box. } else { - long trunOffset = trackBundle.getCurrentSampleOffset(); - if (trunOffset < nextTrackRunOffset) { + long sampleOffset = trackBundle.getCurrentSampleOffset(); + if (sampleOffset < nextSampleOffset) { nextTrackBundle = trackBundle; - nextTrackRunOffset = trunOffset; + nextSampleOffset = sampleOffset; } } } @@ -1502,7 +1525,7 @@ public class FragmentedMp4Extractor implements Extractor { public final TrackFragment fragment; public final ParsableByteArray scratch; - public Track track; + public TrackSampleTable moovSampleTable; public DefaultSampleValues defaultSampleValues; public int currentSampleIndex; public int currentSampleInTrackRun; @@ -1512,6 +1535,8 @@ public class FragmentedMp4Extractor implements Extractor { private final ParsableByteArray encryptionSignalByte; private final ParsableByteArray defaultInitializationVector; + private boolean currentlyInFragment; + public TrackBundle(TrackOutput output) { this.output = output; fragment = new TrackFragment(); @@ -1520,30 +1545,34 @@ public class FragmentedMp4Extractor implements Extractor { defaultInitializationVector = new ParsableByteArray(); } - public void init(Track track, DefaultSampleValues defaultSampleValues) { - this.track = Assertions.checkNotNull(track); + public void init(TrackSampleTable moovSampleTable, DefaultSampleValues defaultSampleValues) { + Assertions.checkNotNull(moovSampleTable.track); + this.moovSampleTable = moovSampleTable; this.defaultSampleValues = Assertions.checkNotNull(defaultSampleValues); - output.format(track.format); + output.format(moovSampleTable.track.format); reset(); } public void updateDrmInitData(DrmInitData drmInitData) { @Nullable TrackEncryptionBox encryptionBox = - track.getSampleDescriptionEncryptionBox(fragment.header.sampleDescriptionIndex); + moovSampleTable.track.getSampleDescriptionEncryptionBox( + fragment.header.sampleDescriptionIndex); @Nullable String schemeType = encryptionBox != null ? encryptionBox.schemeType : null; DrmInitData updatedDrmInitData = drmInitData.copyWithSchemeType(schemeType); - Format format = track.format.buildUpon().setDrmInitData(updatedDrmInitData).build(); + Format format = + moovSampleTable.track.format.buildUpon().setDrmInitData(updatedDrmInitData).build(); output.format(format); } - /** Resets the current fragment and sample indices. */ + /** Resets the current fragment, sample indices and {@code isInFragment} boolean. */ public void reset() { fragment.reset(); currentSampleIndex = 0; currentTrackRunIndex = 0; currentSampleInTrackRun = 0; firstSampleToOutputIndex = 0; + currentlyInFragment = false; } /** @@ -1565,23 +1594,32 @@ public class FragmentedMp4Extractor implements Extractor { /** Returns the presentation time of the current sample in microseconds. */ public long getCurrentSamplePresentationTimeUs() { - return fragment.getSamplePresentationTimeUs(currentSampleIndex); + return !currentlyInFragment + ? moovSampleTable.timestampsUs[currentSampleIndex] + : fragment.getSamplePresentationTimeUs(currentSampleIndex); } /** Returns the byte offset of the current sample. */ public long getCurrentSampleOffset() { - return fragment.trunDataPosition[currentTrackRunIndex]; + return !currentlyInFragment + ? moovSampleTable.offsets[currentSampleIndex] + : fragment.trunDataPosition[currentTrackRunIndex]; } /** Returns the size of the current sample in bytes. */ public int getCurrentSampleSize() { - return fragment.sampleSizeTable[currentSampleIndex]; + return !currentlyInFragment + ? moovSampleTable.sizes[currentSampleIndex] + : fragment.sampleSizeTable[currentSampleIndex]; } /** Returns the {@link C.BufferFlags} corresponding to the the current sample. */ @C.BufferFlags public int getCurrentSampleFlags() { - int flags = fragment.sampleIsSyncFrameTable[currentSampleIndex] ? C.BUFFER_FLAG_KEY_FRAME : 0; + int flags = + !currentlyInFragment + ? moovSampleTable.flags[currentSampleIndex] + : (fragment.sampleIsSyncFrameTable[currentSampleIndex] ? C.BUFFER_FLAG_KEY_FRAME : 0); if (getEncryptionBoxIfEncrypted() != null) { flags |= C.BUFFER_FLAG_ENCRYPTED; } @@ -1589,15 +1627,23 @@ public class FragmentedMp4Extractor implements Extractor { } /** - * Advances the indices in the bundle to point to the next sample in the current fragment. If - * the current sample is the last one in the current fragment, then the advanced state will be - * {@code currentSampleIndex == fragment.sampleCount}, {@code currentTrackRunIndex == - * fragment.trunCount} and {@code #currentSampleInTrackRun == 0}. + * Advances the indices in the bundle to point to the next sample in the sample table (if it has + * not reached the fragments yet) or in the current fragment. * - * @return Whether the next sample is in the same track run as the previous one. + *

If the current sample is the last one in the sample table, then the advanced state will be + * {@code currentSampleIndex == moovSampleTable.sampleCount}. If the current sample is the last + * one in the current fragment, then the advanced state will be {@code currentSampleIndex == + * fragment.sampleCount}, {@code currentTrackRunIndex == fragment.trunCount} and {@code + * #currentSampleInTrackRun == 0}. + * + * @return Whether this {@link TrackBundle} can be used to read the next sample without + * recomputing the next {@link TrackBundle}. */ public boolean next() { currentSampleIndex++; + if (!currentlyInFragment) { + return false; + } currentSampleInTrackRun++; if (currentSampleInTrackRun == fragment.trunLength[currentTrackRunIndex]) { currentTrackRunIndex++; @@ -1610,6 +1656,8 @@ public class FragmentedMp4Extractor implements Extractor { /** * Outputs the encryption data for the current sample. * + *

This is not supported yet for samples specified in the sample table. + * * @param sampleSize The size of the current sample in bytes, excluding any additional clear * header that will be prefixed to the sample by the extractor. * @param clearHeaderSize The size of a clear header that will be prefixed to the sample by the @@ -1699,7 +1747,11 @@ public class FragmentedMp4Extractor implements Extractor { return 1 + vectorSize + subsampleDataLength; } - /** Skips the encryption data for the current sample. */ + /** + * Skips the encryption data for the current sample. + * + *

This is not supported yet for samples specified in the sample table. + */ public void skipSampleEncryptionData() { @Nullable TrackEncryptionBox encryptionBox = getEncryptionBoxIfEncrypted(); if (encryptionBox == null) { @@ -1717,12 +1769,16 @@ public class FragmentedMp4Extractor implements Extractor { @Nullable public TrackEncryptionBox getEncryptionBoxIfEncrypted() { + if (!currentlyInFragment) { + // Encryption is not supported yet for samples specified in the sample table. + return null; + } int sampleDescriptionIndex = fragment.header.sampleDescriptionIndex; @Nullable TrackEncryptionBox encryptionBox = fragment.trackEncryptionBox != null ? fragment.trackEncryptionBox - : track.getSampleDescriptionEncryptionBox(sampleDescriptionIndex); + : moovSampleTable.track.getSampleDescriptionEncryptionBox(sampleDescriptionIndex); return encryptionBox != null && encryptionBox.isEncrypted ? encryptionBox : null; } diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/TrackFragment.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/TrackFragment.java index b214114340..7362af0ea6 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/TrackFragment.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/mp4/TrackFragment.java @@ -89,7 +89,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; */ public boolean sampleEncryptionDataNeedsFill; /** - * The absolute decode time of the start of the next fragment. + * The absolute decode time of the start of the next fragment, excluding the samples outside + * fragments. */ public long nextFragmentDecodeTime; diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java index af31d429bc..3cac224b91 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/mp4/FragmentedMp4ExtractorTest.java @@ -98,6 +98,14 @@ public final class FragmentedMp4ExtractorTest { simulationConfig); } + @Test + public void samplePartiallyFragmented() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(ImmutableList.of()), + "mp4/sample_partially_fragmented.mp4", + simulationConfig); + } + private static ExtractorFactory getExtractorFactory(final List closedCaptionFormats) { return () -> new FragmentedMp4Extractor( diff --git a/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4 b/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..f1ea81269c2e0102028b1cbd41c106bee1c69b99 GIT binary patch literal 108052 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

F?K?{@$IKLH3f)Hbq~iO{lz zBTzIozSHi@c(&M=vNP`3S=yp=k8p0v?wo;@#^6gmNb!g$+YWVQPiGeYE{SQ5Xp6y>f0fgu8dID?L_w#?z6aFtx+&}aFM^8Zd`!>t{Wt&02{d=Hl|LO@K z90Iv;B8W7UUz>4Ok{1oi8O4}n%ZgY`Z|{IYk~)7p8(c2k#iHyo{31Aisi*5~>N2gz zNKa=hB_SNMUmQ&9ZT02p@88ObE9*t}jLU2m@>lg?SEcJL8g$j^UNi~~FztbaqA2yc z-4c!#xDc_x)~WQnKfax@jzd&DTkKO|&N?ASf%i~s8X$UqTzulG)-r!s@!0DnC}#a) z(<&p%;!=vVZg?&6loXr(^~t3^fX%VhbQbj?h1s5$$XNWjDo{6TXpVx-H?Y(=bQk%+ z9_hC*VD3UsmwYiF)o$!C7g6EB`h=|2iQ)>ib~4n6!ImG7|27wMNzta@SGZSkx%NCqwC5ozDwO0G$RrMQDU%=^ z)>=^Ql#-8_(O6cUxOd&XCTwvwwbP8fUgCiu2x_t&^4SOK)(q4P_Q$j{EIFLV%y3Cmg1&YR@c4x9ZqrtZ^)L)&2FscbIUmj?WR8+^gU4v+E%nB+a2v?5yFIzY4Tfb{OpRBWqT4(7 zeE@cZ-y=*NrWVJ1LyOE1sYhP?vmcSxu)Vdg zRznPgBq~up%85w_62$wC2$h>EJPHx?xjZZAXJ(Yy)t-et7#!BG@HZtybCuRktRB|1 zr;6R3p^GHa+4=QBdfe4&^@;TeTCk&|NSu$SE!#Fan`r9vfR9TC0O$A@7mV%&JMu_!$^q z15UvF3}_}eee|6GrLBbrCXbtTk2Gm(NEMgl-H}ri#4ycWloZC>5jEJ}$>5Vnivr^A zlb=MAT?*=0b^Nm~+i>KZ=|m7lw4e&8IF+5G<$+50#_Cp5+nxcWZ<^a^$G%-h!ws+Z zg=68$t63GN*_Uo|(ZPi07~J7edi#*=Dt3xk#Ogq1y^0Da{sZiKlPi_*U)MBI<3Ah$ zt_Q$UBQ8~NxV?d--U8cN%A=3#x9%QezRY#M_aqx|pkkuJ8D{zAi{6iay(WuRG_WU5 z^6SOXnPddh1W8tBx*k3884NdGNedTQEazx_If@H9qn$h=wY658wojHov<+@aXgb z0QmPp{7q^`_#Xcs)WD+nFEs$w{hb;(zvbV*QN#D>|NH{@XWsus4N8BZ24J7>-!lF$ zH2_rs=F)yUvFc#Wpt_b9F^z8kssQ%yaN*XOGwQH`APyofMf7T51<%^cNL$v>dRGke zyEtUwK$Q&A>jxm?e=cXcg#jHBwJ+&aL!{{aJi|{fbmuGagx~e(yGD8gKM&Uqu#NS5 zoa7oe9;GsW)x^(7rUAyoP4n0hLOP;#Y6fEm3$pUwx)tvCW-|~;O#^YdcOAPb zE(o>&h8ZP{=x%rZDwg7}=p7!lK(akR%vA*D0IP0^wm=twp8oTMKR=oxEqoF5k6(Sf zGyh7+dXwZ{IwX!sDVON0-x~Uq({P8R0ySU-S%(1xg@ z3oEh;QMvIy_$(RLEl!695TQFWMcmcI9!JJJ$hZY#fW3Fr^L zD*B9|0QERXxrg&t%71C~vJy`*mWA8&^aN|2+;55g00T_yQ4(|$u;F}C5^SbwQ|(Rh%Yhn?4F z+*qz{dE{)|R=&YGGTSSym$D`ZP}u^3B#U38>G-;OBFB?P-sb|y$?K1KYh$OALmt2j z0->ZyjInShYFM7dek%sVe($(Prc9Nw>qB)2NA0+Ohr>mR?v0RFDO06L0*3}dkv~JA z;R+|7Kklfkf6qOfb`RhVJh%ru!hypN?Ek$Ie>*rJevki;g9FFzf5Qgq-@ho;{t`C+ zb8x`@@40HmIiQCv#Qf)h;YiJkHqXl$K~m_nJZoudy2DZ#Xa+yl z6pz&UGEJ4;>5Vk>c#@+c`HN)N&Fz|3A^E-rv2!F`{d(I~)}(|U&SveyZ${(dJV=o< zS<5F`)m^}rkqf=2;z5`0a_|kC=fReKCej<9?|1z%xg%5;S8SaG5zma(1i7xF?@g5r z-swx!JNo%s?ERaCS9%T7pH9fV#~iE6uGqrzZ9U(oE%Wtb4q_F4C!3ko_Qb~3@s$Hd z$O453Gm!@&1rO)zRsf>;Y|)UlViq@@Ynk#yMxb!Ao65;`nf8`w|E&d9+YM{j4=85< zj{K=8D1mRI3^+TR4Qw84j6Sg6_j3G=7m&Wk{|7H{S^k$7K>p4Pym8;p|K-T=f4K<% znfHHLkhK1?!9X+LzlH3-yZ`{0OaJX66yH3QP`BBH_PigTlw=5R$kQ+bNQ0^IvU5n` ze3ZTkxm-Y)<0#nhvrH4**>F_RcXZA=zr#LGs0>vMS5r=mFC0gMt7oQ=OeJJS`wigp zWgQTLMxIN3C)M(}-cNe=^l3t50h7*2;blbM6yHNmrui}g66iI~t%n||$1$Z}6?Sp) z<*rHE*1haiJ-n-xe3L&sS0UOIo)@hQ?*-{Zx*2HcU)b6N;>LB>?rN+v9w9q{6h5vi@K1R&*NDx&Y>kaT!2ObR*$ zFMf)6`5_(qdu`(mSJT46_j9Ut4v|P@P!yyk_hK5EB9qv=6S?`VCKq*|LX45LjLU>E z7#Rn+TQVnXCTuqG%nW{*8+ygN)|n+Yhb7r@9x-?Vh(m$|eQ2e={LKKZ#wUjD45e_Q zIC#ukakzh{=J0p5Af6m!{zCaAc2jfwitGoPpf89S!)DrWehX?UbNxHa)!0bQN1v2X zH!ZMcOkVu<&6ua3<5ZF4^2rM11KAv1((^$ct;!93OR{^T&2$olrq~mGyNm5{8h0wR zLb|)RO?9}T&d0C+q(!j&H`D?Io5FEwVW1I`>Ms!FjwV^@-z8b?;$%oU?S3S5LpHaL zpVNK?PJ0e)X8SG8X&X#?H1mBG$L+AS-q(J#uoLYRYZ6Jvu(#sb7N$}8oG9YzaT<`AS#VN zl7R#`D=XZoRNJjeNB`&u*dLGo);(Z4_20Xizajk}MEwt>^C|y}bY$YcBVEwr?@0f@ z%!dEW`yZtLKkk6^{(^Mm>+c@XqW>Zt8DAjt$G6$g`rB++qqpuGD;#8C?~TSR_R-fw zgbecJ-6q@z`Fjak*oz{F@FgMt(~-E|F<&J{Y?t6VIwHSU%KOjH`%bu7ei^adpy7*h zRxgA^HnHrwA?I!F@fVo+HJS2uG94~-k-E0v1T=buNH|N_AHu+>3Ns3vaduqdvKVd6 z<_Z**WQ=v_S#p)_ zpF)c)*HyXX4ADS}QVHzN#^Q;nusH)?qd3e)4zm!m6)a0h6`i`faPJjQ$VB6K6trgd zo7Md!*NATgmEBd_jc z2LxMEF%C&==$C#Ktz*QQC&((g2f&qdH9eg&H-&o6)umLn8NIUHz7_=zzmx_FxuY~k zbY#`Jv8@{T#e4!E2l<7ibp79FNX9Kxae#`0W;_n|U}?!)xTD^|&JT>nsE>q(utMgZBF zDT}stycdHcOZ}#Kxc+3GNIViM4{=$kB>;tAmB5Y64)kRH@s)EkTX~~0V^or8PD_#} zK(Wz<1!U4=8GUQ8~<-~9dF6||%ie*K7e{3k0XYqvN_36PG zH(Y0w&TdzzM+}OgXlZO(;#8vN4-heGTv%pi^m{)oEPgB%J6$Co9l}gw03nZm5|H63 zv@UJlXpSvA6>%2Zi^`%@sFepk*p~JrFF7fd+PQJ;=n!}Rgd6}hW|)I?9Ubu zK4$M|EL@5bsdyA<8l2eArcq~W?WP;<%OJt|W zhO1NYn$zL#!~m4lmgRK3Q(lBWu<;Vp8L0&6wFc-moNcH)(grX?9lW6_7iV}NG1H}w zgNSFY4@O%8P=S-LM-@*n`|_heYqTphTW)j*X>=cWRaps5GDm}&+lI2(6M1ls-R>|Q zFTquFtS?(0Dj^p>qebUjuhQ1AA4dbUe%2C#=O;CE8KN+4a-20qhl1J^bv>;#qnwMz zAf}QO+J-2iA6BNf>P{_xXA0Vy(W;5q*tbDb;q9;MeH-#PTAPt2fYMd3m&}YA>hLs` zgPh$wvPtKA(C zHnOpVYn+CCW9TT(9cxTVT~+HTd@QO;;Kw;)9YVD=6dh74dTe5M_wRf?~^ez<1VhYn=MHd!Y@VaD@4nZ0&(tlNfO8^Fl0GVH;wgBOoYIJgIQ? znmIn&Z4@dZg)%`De0SITRi6zo?)I`_f4ZsqW_%=JE((bI`foJ{Gwc{$Fc&7ahtI(f zH6UsF&mkwjFg8=b!U*iCZ0ZqkF?wV6s#(&5AXE9ld_;&a`Zq)Dg))T=H0oC5RzGQG z$PrU<%Rg(E-C0E@9FJ8?!d8c7M8>GBgmc;Dl-2HxiF~-PmnP`7b!9_Cl4R|-N%KbC zT1Q61(9}xh<4TmWT8&%g!h(O92B{vaWYVKUJ@2awUsm%9;A^XS zGMdcy+6~V~J=cjYip@X-itl{$YB^0l{acObtwt)u3PPwhnhi7g;T$Zy3F7!%CsEn! zJPGhplL%on&GxHOt)Cy9o_L&HLd8`t+v%tfVoq*20s~GOTxROK>gScjNA4WQsf+HU z_IEdsl;8cT+&p|*scDm_f#s|b`-zW|PcO>P`i<{Kc6y*SuFchn(125bjB7g-z1tJH z2h^72F|fh8^W~VUpEF8?qK^4xoz@2Do5#8fjKb_)4Dvt_vqgq{ETU-M<2xZYbGV45 zrZH|Y3chWj7&R&tz}>R0x_f{6^O?d{T88rnXZ@u-l?Tu;HK1gN+wfXgD5{GftxD?<$iLVt3={&Wbwsz!-Gk6! zDYG7b@sSsyX0LxYQ>g=@LdJgUdIV}!#1cK_O;bp0006JADLTV>xWEt+`IDTaF7-!b z1{0*fG<7vpT-1?_c=K2oe4-S5lOmVZE5#ZBp$aLUZ>eI<=Fl8r1X{{$)~IAvp(Aa6 zj6=L?zAvz1ja2|X4#{p@scovoCtC#O^r_i8pWcUUBmv3w*e11lIUsg5HZdTdUtjAH*qEsgQgL+uuGvy-otrt@?@-0<(e%BdJx2JKs$;7 zxGUn!MIwba#R$!uLi-}UHS8KI-lD9cYgs%5eZ)Qv9*C)`*q41H+!hr!btqnQiM4MO z6f%oZm!CJ!^3|rrol|?E-wj2q%5u0h^7G0K$&n$$QMfT4ajP98%T2TR2p#XOGFN>^ zv1aMl7eCJSQu!vKo7HcQ>!eQM9a!)sT=nj&>Ob6*A57y%_c)cpGRl>CWMaY_3o=V#!1e2?dJlaidMKePEtexKCF`WjXAipGt5|PQY~%v)+)X zPjE*xD1?$wS9(;>Jirk^<`sxgy>zoD_sWHVR2=qa0x?p1iq}8SWjm%AN~)>yk$!2< zC>w^FnJYLwKTo;2+mcI}*rGgE1pd69*^#JEHMa#Xzne}bv$0a$7%`e+cQdKt0IVzu zzb_r40RtI9@Kj%*xLL3yrBVV(RlWctDxvoiA9`-|ay6Iog9>9dO{}>S_qdJ0{LR_k zPD~#ay3_t(<>;5{;|SlJIL&O0e|D4ZmrDhV>+3v(IYduGK$j+Y? zt1E+GHsw4P3R+*Q;w%Kd;_9SdZYnKw+{ttmIc{qXV@qTGT*eH zSyt&>=gnR%b=!-C{2t;n*xN*hh*{N`SC$83M$0&bzj%UnM?fQ_6XV9*sC(MKlrOQ( zpHIq9P%@7@*t3Pp_Ec|ToKxA#z}RgoCSMzxY`r{D9`P`=Vw}3{hUOIm{sw^pP<>Yg z11lm??W|l}%12bHM5uBbSEaCf5Jm@a>`U2EGFPdsA^e?x5S|L|5i}P+-3EHK;f-2f z+_a?HVX4~LHKh(700pQBVSBKil6=hd77sHpPPwm`l#>sHtXQRwtjPlUx?~)%1BWU9 zC$Oh+c|XMz9O?QWoWvImVP6nr&u}71xQ3C&;g4%2@8MS-b7d)vlp`&gQY%`k5$ zP{Q5hVl>7+yHI)TPo=@4ysDIsENcG?_LI3udsW@Y90t>#mQJ0Vy(fz81nq#VPh;HM z+w3vOR4aiQaU?hoVnF|aJK~hB1aDpaSnycx@jChM25J_`B^3%DUt;1Yq5C?&Xw%(? zokq$_w4OyVghsd;+47AY++$r*Y>Oz7-d)3<0f1_TJ7Ckj&`t*Ucwe-!yoz5CBYA#? zL^Sj6VZJS) z{MpwEI$Aau0B`RleWpVe7!sJIvca816?cG!vv8>hBh2#!_q~ zisGkU(tzqFLFJvv?ZdV_Fiq^@x~YE1?#v$Vwv)PlE)bRB5SW%MUF%X0e;#wx42mW~ zLIuKWm*0Eg+gAUa96c&x-6dy*yo>J$OMm1T7}cKGCy^snSTrwA`S^ju&;CDChHrbF z8Y#{-$ts;Ug{XVXaH_wagv!hcFvsSwzLrd|r~rwby;51f{jNJ$`(jKp(gY%PajNpj zxRA!}iG#Lj)Yp%*$JCm7UyM|Hhh@ns2Q_aJb!7xU<4Qh8H{JrdGF75s?hf9ytx@^n zC%_-eYxHjhF-Vy3m?J#q8?zu<2tFE7oyg_gEgw?=ckKZUVOKKH5x@DUy z7pzQ+A;O~yUiY0^)`xZP))GBR169c4HSxZE=0$`V=!_G?jk77U z4;e3g1W9w{cu7>Cg?{&__xhYR7BVwd_*Ux0{oTvAvj9Z(m0CWY4Z#uk=$iHfx3q4k zG4k`*$l+r}6ldiwM`ki|w(5Dz6*D`YKjryqL{4nXW$1Olp?0jNo;_A$b=HtH@HF|2 z$UTu<;ay#1<IkRQna&spP@vI)+5^9VdW|w-l^xjZ2%t81JPIk(o=au@Tr1=CXy>I@`B#m$jl^;H#i$jPV zov<57E0z}i107WRj`9IALzA3tieDOXjmmMJ0`Y>?p>zK02aRuy(7@whBOIu_i8@{G z`$)UE6WPX~mDEC;O(SbW}&eSntqlU#9Z)F25S2$YJ?&;EIqJ=aT$wt1oin{Oe zv7ZaHbbK6=SXs@Hr(*}P$IUVmJ}=l{Gpc6M?sfCzM%B}iRAoPm9y{T}N(sttGi;Hp z8H{nMhw*gImhXdNSxmkZfFKUsVGj#d4X_gQpm&AjAwXSN9t_e}AyvUnAEEGO@g+6V zWhESOH|At_tPJq3m?hgy5BSj^q?aB%NhLn}3$ge$Tm?*IR+)(jwf0Q%nzZ0?ilYGMZ|Kt<>7ZboE zfN2~n2+Z}q!NJlH^>q9?8e79bE4rAMZ(;tj^02kpZr4?ziUebSkiTvq@{*X}8n7kK zCTXfAb^zZq_hW144*K!Y>2n&z)2r!5JK)AYaO@?-x*ck5;v>=d3JqR#c?14PCviBv zF>YVhgb4kk*i0tOwVf#(`DcvV7p-xNqL5Lh;EZ0^4?}Ds=pkaCwpZ^)te8%Z>SxPs zY2cc&kk|N4jM1)4=^gJ<9caBkl#H|j^EHkdJlf%;rD-_6ftz;jcA@9|( z!6E^D+Wv`0gLd#|%6&nlCVgw;?%OZ>)NRx@Dj-F6OfDOYDz2Ze=2E;9?@9gWXCcQL zp5l;1&uFcGSs*Q@V03OFe6Vk#oUv+z_6YnFn4?~VUB$?&p?7%-1|$I}4*y$(GtH!o zSPTLf`$ySwjjQ%0v~!k2odiQdD`6Oho7Hf?lE84_Y)PIFS2o5)Y-%hv6HR{OE?r{| z`Q-ciw-=nBUPPKz=InJ9&>OnTt~T6MhBjyB?g>IlVN8{A&|nl}ZmLa|4%bsnGL*}Z z9Lo1vn$2#7YyFxcbY?+8kzj~_A`b#^Xe}EiM`4b3SUwTFt7%g0~P@g(O^uVNsq_mK# z!yxq+ijW`q5bNpVM>uYEPfWV<%GmMeBswK4=kePyNk|bVy}WbO)plxT@!*R66wd;} zm_?gKMXLI=B67hO-fZkDZ#j)X;|e4C^P7g@I#(AMGmPdZXS+cMRy#-obz3Timc~1i z8?<>pICE0>z0$m|8q;EcyvCL^Md5k*$&awO=gxAM2xBdh9DBE!3GOlHXr^y}HB_H? zH>zp%Pa+@DJ#Oytk6*}nYjM%_15P(gVgx=~&cZ~4q^xkxfTm~1DU0{N8msIW;;uRZ z4e4Q#4m}1xT<4K71F_au3TtD(yi!ymdE#h*) zEDYX+Xd$yiljZSlL~_cO(ha>c1B5ujnD@A8H8$dx(aJOGEwKQ1#Wl>`fihIIHkpsQ zez2*pB`S-q&10x75y8$y#>?>&PlBZjE=5ll=G zH#`$X1DW(?wjikX==M3x3!ka$(UZT8<@zW8D@>BHKNWXv#E6Jm{SWk?Ktxu-yyrIx zZ|Myhalfn0xqhKY+=i(xP{9P49joD+1=g zhJwL#FkL6sM;j54u0Kfq9RKNiVu~KseK3y7xPhY1nxvmDFa!&&g3~_-ZMHY9KLEjr zxYYmb3*F<@o`O^1*_e3BHyvzltCW@2{hDFXU0UCBg()=(AZc{~C4;BFt+ds$+2-v? zAC{%ZCjA5T-FNv(wTAW8ZnqELjmFKWrudm-Q=+rfrXFet7!>B(0=f4Xydrq*Amml4 z0vv8;9@PsE=ua!E`{(I4=3X%i2y8l{JBzzRhoW1;7@_Jv7yPRXDw=o{`7d8&s(sJh{RF%>JSwtXVI?NX~yc;9t<^WrUF6T)M!l34sQ`} z%rH`Ow=`>7Qm!x<2cmK1w((6SM%Izbk4{Mk9tN2yW$vM#=Zw);>OH;I3G_>VF$AL!SaOgQ^xr^gB(n|!tMV64_*-ph1S z%EBOT)XTQqQ)VaVtZ~e4R8Aa><2?kl@xaXiX7fhSGM$SLU&$DlF>`qOMiUg_OVzhZ za@&cse|S0)1lKFWc= z@12_)lqsLFNk~p*Lfo9*p+yhx;D@o5suy&lZSpxhNr?oTAc{>>KG1x0Opur9L+8ii z3F9j(pr>`*c3Xe4(krD6U}zRf8wbQP;os9*(`?PdM^?U#j@UY3DQ=9IcjU^)5}s*- zY~QSFj32ysHfw`2Qf6#~GAq5}7$oJJA|XXw5V8N7s?6sr$6{@V0(r}%qEv2s#XzG} z3G1vusu8!W70rZo;`L+`V7%v}Weeo<*_5EWG#?^;K>ZP_d-e>Ke#?dS&`HHVl^5+9Q1yBM9Qwq0k`U8+Lz?P)as#d zQ7Y?K8i(i;5$`@YSu4uItOrU3x-%@K_b;Ns;jwmehW(V{TXX->xvx`nGrB{Dc;Hhy zrG-RKIWVge=?5z#9#||~)qr1L?An!J4%4b8l~-YGF*9*E?>Y>6uqpDHee^P%e@1&q z&t=)&@kTVVN{7hwn)BPAzFncv>O$+kX<7e5JFPh7i8)rv!>j1z$xTCeIdo6o_I!( zK#g^GsxHW$XX>$UV+zMaOqd{P@f=;>*q*zbDPPduOmFFCmsX^^&u9-pOTlDQ-*&$u zeHAVAsqHXRIpq2w0{QR_G$mPCuwi+N%gnF3kCZe^&crdq!eIkowaXnGv0&!_6AiE% zs0pZ=cWif@D1w4ooH$ES6C7|X!XEllCHBEd$R1~sEt|a_1vh8v_b=Hw+8+=5*o&^_ zF^^SwE{GbpY)m8c=4NGpO+xj`-D+;Ma`#dCN(XZ11!h;rzv|}tx(+eoH3gHb?W;2< zJm43k$~TMVGf?Txmy5Owo2y1kNHCNRR=2KMe+C^NU)~qtb=q{dJ)@Y zZ_E4Voa^_TRSdxU{>53<2OP2ahe1p4GsylO2K{zcfwq1#2pEcmike9;_&2EL+;^`& z?4vqGD?isRl<#M1d7r11ZktO4d0M-yY}~jpivzX4m?P_@VZ(Tq?{PuMr%$h3R|w`l zetbQBc?($h^)&NQL6g&l%Wh%Ua;`wk(P>Eo$Jre;R-L8Tb=2(3OyLJRA4`-)%U!|Y zMEjn48CH$aW%q*IZ!pr?U2s|T!*;Q_{a>;$w-vL{0^1fPqEFv~jKa&)=%_JHFt@7@ zI_u%MaYP{4KM5~Zk@s7{@S_|aOxLHF<_Yj_oE*2iw%I=uKq79~+ky@?{-@4i0$%hl zI%lBzkIuoQzprz0xPboe=-mG*g8Dt~pRct3{#SB-=PSXQ0s+AW{G)R)$^5A<{}w@w z&&9)-w|MyA^PLUwOA22_P{}V**be7Ab{y=g!E)s!;Hbl>?1@o%%t#6y3N3(^6iIok zmfc4!1y_|p1))j?|1xyz$O;8cchEaKwd@uR+i_Lxb4{=14&G?kYPyhyt?y_bcjEn! z*@yjg(iQiZPo&Y0l_Ti8DziILq2vNV9Vjf!jzm6dY5K1x@)Yf{E#@Y{-8DX|)B%p6 zY_utbGhCq4hzx7nz#=E8A6;^0ItgY_aAcz-YmC7h8FXJ{N-lE-KAIKr3+u8kq9h$v zLub!nFc4?zuo7t5Qz!&UD};X9H3Z!BHC5d;@Ue*Lse-kKrLm9%DZ=R3Np;1`yU&P~ z_#Ou}$X!HYoENSuUs3J*S3hgF7D*ko;eijM(x4ad=N_HX&yTRL=oC_IXI>2r(Lx`d zSnU}*U6!atHzBmSSybk4^IV?Eb5QxBP;acyIrIhQBk=+VvfX#xKx%=G<6rC$`RN#Z zSt~o}XSq^&%0KH(s&l|mO+*Y>9XKdLS|-yjWK^jQacE zw)jugWpgo^@?2O=VNBT=p#=AB>CxuPpv!xS1TAcsu@-1z7qZ;t%?z%s1tv=G=6a}< zL*%mKL)Ze%8XzF6OSR7sq7_&-2y`Mxv9(2}2=q+<0y!BfX6el_*I9+5Kq#s^Y_Dx< zjsYYmb3@mDUsJ9EAl*PzhZU|f50VB&f3p`zFSh{+Op=# z;fyPNFeAmCh{>5#E;$hy(7TgCkz`h_lk^l3H! z^TsS0d#&^WDB}Y0 zHedhc z6{nD&?%g&I{WE)A$(BWi^dM=csz3nprJ3FBEk zp*H3w3%CipsyBw-;_z)=`ZdM6?kE9i$tn#6f2z-ljgL zT;h{be53__gy9PczuMp04cf?YTbAH%#=Yh!8xj0uy*g|T4gsl`!cmR)dGlKbBjg)= zkT<$*l^f32#XCr48)O94~GeBEQ75|l+uI^;XB#+1Y6S5({v{1Oc&~T zL;454s1>WKkg@}JGbL&usE#u!4AedgvOL^_w-x$Z7g0VaQdcHz?U7hi^`I_42Hu|o z<&N~-2yiRQ7I;KXKX~>_3w&l1oA3@_^ab$Zu3Lbwzkopj2D1TBq2- zV!9p##^S@0@Y^K$n%r1L^OMm4vuY@pAE*8^WpAs2`~xSo8c@_A#|L`S#Oo4>!)S4% zd+%NOI@gqHGSbSo_3}eHWX*3K>+=SK)+@J#wpn5*{r5B;U_+#g!XHyINZ~2_{L{ZA zzbTbo;H<@cTL>nU_)0b@Iiy-e%O}1?&UegPiXzX8VMO{m6Eaeys3zuiNpF|%1m=NY z!*cHk`Xvv;KcWIuj^;)a3$sW|>kG7--kp^5i7ust5?BAIYSlo#qUV0|AO5ZJR+qh_<zco{{fCNb)oghmEfw$Ub&*7=?JP1pdN`F0w-6mEf7dspfX{aM zrm20DbZtm+>b@ioK1MB?c!lN+wH?Z>@lC;ZTm=#}JX$z}J==nfbg&_)j_9r4l;568 zAtc_czY3wS)E_I0o#!y79QB#PnXV*~+GIrQxL|eTDyMM=7&$T87Di_2nfImj!zWhB zT}7n)IE6_hVQSsUhg1_)87~?!+-QrTwf@=%wG?0Kc1u&7cWLzv0U{9X9Ox)U#S=+T z(bPGeM&QjF)BHPhOSg9$o0jdMY1QFieG=I&uF~?ap&ts8)KDB}?l({r!1aJ5Cuzb< z5GGfOL*?hdZ;WkNO_X0Z+b~{rT%=E^CqA$Gd8z8LrI6e3F|gc1v(SR(vdAAN;40DN z=`WKJS4ws5-g<;n$Yef?;M)Dx&|pLLiqvm^GYfGC50cStxmy>g{2OZ161DT?cukenn>?YwVbM= zi#Vz(GNaQ81|R%!4e`nrX&=115ZWGNIyB!s>}8aHXdyt z>^)v}y@~bw>hV>kADo4rsQi6DeNQig&N0MgYKXRBMVAxK!c%a9ruuw>w+#-Y{TK|q zT7{1u&sjz`v!dWVLV$}%6)}WKqmS8;6;OlD_9=O!d~yRp*yWVlUT8%BoXi{Pu7SUH z;;Db^O@snfi$ncRe6RtjiJ--L0{{CDMLK;iKW(Ek{<(mR*A%;rW>KH&SB6$dHNxeT zUd0O%51mmk1;Kbt@o8EMuDs*K=W!HL+TA;IxHpyy2J{ocb#)D05j%nBd zDL*6j3WSwP%?#)4_|ii%<~oW7Vgfc`EN7N&BfvqL_UZi@ zxPQ%_%o`^$K1!pmoeDc-5~?Cx29EhsTog)C;~@)$_My%*MI#}g!zM_~DU#1?#7D1>y&-w~154RosE>K4ezX7+5 z&cbb`h2`Tv-fk>V$!_P$bCme@Ygaate(=G<1QGJ4Xj3aC7JX$t+-=XR&Il3$+ii%T zq0S1{j}p5hy|kSTww|y3I=TAYH}{*>y|EA>IdM-6;U{Q){)`uSh2_2Yi zkgL|Yab7iqGo9}NwwgdoS*F0oc1D&$2sDh@IWAg&yX&6>EXtzLrC#OZPpLFp4;(+4 zAsuE0)5ceAlSjO@gcZ>Bo>a&&hTcLU^nuM=3I8AMw zg-;7s%%^EZe4Pz^mYuy3F+U_TRAIp(ofB`Y`+p9 zAb*Y3!_W92O$)?KcCNo;Acx#j9fpiK)(8Y@^pT&9rX;BwP+@+(ueW0`Hb>IoN+IJl&^`Pw3;i|}t0tWchn+%pur7^Us>Bx^` ziDRLuMt)UkgxzIln|VejChMn7h9^>{b@N5vXhA!Y#e_{x0?*f6(aZ}-xTGIfr}vqc zjk}{pedsu>o4eT0__&t5REKH8b8)`;JaAlq*vc30)96>v+ht9K~oX zKGm+3*u2?dDOu;YmI84RT_i#@mv()y=3+W*OOp7ky`^0ZF~jQaev9WQNtc$-)JSQ=y6%(+t-T%|~P=A#o#+(|~qr(A9O zQKO%d`iv~B@idJ6eZopm0xe~R*dW6VC0H|8hc>{OKHbg96sEW4jp|u+TkYRCHRSSy zmNW+Kvfo5hU)S%RGT0S2YIp%Rb)h)LztPQRn9{%%k$!d6xph&+kv+veI50SHI6!^U zBzi#tQzZWikp;{$nT~{*`zzrKTz!0WF4Wrz?!?X5e#_eM%71QD#s<9SU&3!rq5lff z@cV+~{f;303BOJM3BN%D!f!+fMSpS&5?ZhAz>vss5H*_3t+$B?UuSEU$9meU|&{#b52d65vC2JTA79~lJrQ)0(k$y3KirC2v{ z$9XhpJ}TP-_`ma6 zes3=ZS^CFLfB?1^*8y^j`E^BD-)|Xj&0TraeAs$z)sUR=ZdxHqoAoLChfhsg@!0#T zemNX!*=ZzaT$rS!&KtOd`JIPQvgvXYwd1F;dtpQ}4?y;Y%z?Tm4$mfm+UuiR+C zuYZoroG$MU0qIn;bC3{(5gN*Rd2l<161I+fImoG@VR@ArR{fS~+cR$?F>$7EW}AQk;|3qmSfEu!JI{5dW>SDJTB?%_ zY;zc>U@N~cVWsnnV70RPm)ZsgGqtO6eBH4E`Lx)ss>O-*=e*vW(NF{ z^?d;wmxrz822tWbawkSH_X%D z3Y4C+w`}7a^zlHO=abvP?p&Rzfm^KOq!vQsO~r@i<rGB7WX74{?go3Fm<)Mq ztY4gcf2aNE`$&Foa%1OV zXV9K?SYEPr?$OT>?kN^7!>Dk~)}dbVy=98bsDoi5lcl6L_gLLQ^~a%x9l~@%1(R6- zlxF3Vf?A-kf#mjP)-tugPjpT+oB}VgCpx3$S3Rl*vVykAB|*Jkx>8I6N)b3S`L;(3Ce-)>>0Ox3aM^LK=)% z)kFsAx44>y2I`0zviotwaWKC2s)#xF(Wea~7(Y|Wc{D*s{1mUTa^z*n;2R>DlgDmJ zk2pD+4$QvTt>HQta`in<`j++KiBK9l4KTd1OpHEQ!z8~B=N*nVZg|V!I@2Qma9xo& zsr48EaGba)4gIYZl9c+ly&Mo^NXY7PVS!6;4rJh~V5i}zX?DRuc_SNUe25d}Bt-6k z&t5q~+TPkzdJ_^r__`uFhxRH^Hba+hiae}DHPvp|{3k6mbVlG=y}%w0pMZQE3HnKL z#Iq_LX=g+06}J?yJ}*cAad`OE!U5kN$R_WNfX~dSK4@HpQ*>Juo_n6M;G1G`8D4`V zthv5jp%e->N+edxu}86s3UpusN0q*#HKrLo&E;BopPPb>1u9WlWet(+scwN4*rqHs z50fbexM0KsmnW?>@sh|;Dyu?II&*uf*Ye3z%YD;>y(h`;Sm@a}GoyGrA#}f9=EdFEq=l|dIlQVFp{YJ5) zeDUHKk;}Hu*xTIKbL}{Zigk8OpMG@@WLUbwL{SzLA_liRw)mHZ=8ms)Q8s;C3#mF% zBI+0Lut}3D+~N_R2gM93+}jLt;iK$tq2gjpK%0{l%rhK!t%wA;>M3p6Vs?|LeGd6d z8Y668x)X129%r}S`W0_B#hSl56o2KRMSGok5TUjju7Bgl!9g``8~NPYED)9py)U>c zR5isC&-X!``zuNa(F74voWOBRKO%$>5b>Dk8SwU&3(z@`YpXQiE#4Ctd_enO1jc*d zAAtcceqUg8y8!*)5t#p#Zu>p%-^_pHJD&!^2?z+n=O2Lq&*x8V{Wskv@g`_l39G!3 z&~k`@q^|>t6`bQmCVp10D#m@0*cMAWc4CP!@A8S8m$_c9%D>~;(21n7$tmBh)@U;1 z8xk0WLL=OSJ1atnX01D)AF`I9u1hrU?7~$}fa$&t4EV&Wu#r z*7m3Ew@<->$f(T+4Gf_l(WjW0O<*H`WiZGk!Hgouv%%9w!N&7j#Wg?fk`XzBCH50p zMQe?m8-yH@BBhueVuzG_Xq1q)T>IvRk!$t)S>DW5R^D;%#jQWJBtZbVO7X)qs-jDu znp4U#OPA!xH#)nGxwn(_U5>M3SlQI{boQ*t4;w=vdz51vMimwY5x!_ke!88I=qrRH z0g{Ou!eLMw@o>sTY3Vv)+=&RF7_GZ`ZcXWO7NgGbEP#bTwN=PFc5nTtr*LT?Lwe#QpG5x^o{=-&5XPhxE4Z=TNw5^AW=?4n2tN--5=mj0; ztEgx!4f zR2*vpe5Z}cIXOTyrwz-!uu3zZ$uRrs0VKh(nX-rCs1MoZvwmEa6{HIi7$L-)-hBJH zK3Hy@Uk9=<4VnoilV0=L2~k*ZsN;r$ve#{I59=a??Ti`Hc!H@2q7d)VoO9f!qK@#? z$dp!u6XxYKT|eBAB_KuGQshCzzCZVC9xIjW?yB|Mq6B`DM-o2k>8C+K)c{(nv5ysU z^v#P?s{6BGAf-wRsjd`;f!pF6l`>c~KXqfT$@?(bz;tQSD5S{h)<>q5DfaoDm%+jK zsVvHgvg*Jo<+f$Lu@G_hW$k|Oz%p+f*~Wa}4$sxxGTAyIKHqiP9BbG91MHtl2I5YrFO6$66;U*^MF6>RDRJ)VFv zoJcLK?d-%%D%dD~=+`cTIi~F3V}2?UMgc83y`9S){s^)FjyvbC{zUybjS@lkQw1x6 zh-lXb+nhT5XA=+xjOR}zQKJ*mt&MyR&0E1Vyxz@7Mb z7{z3~q4YOFNy}4BzNMnSC^3T97O7#f%C0oUB6)K>K+B%JoGED-TPvyuv{+;B6wR6v zL$6ZR6IF#Yj`_RoT_cwbkZff2d#^Z2T-$r-IDZvkw`x$RyfPu$B2aTe0z1%Pnu{e( z8M@tvAmEQ&k%5vWFG@7cA1DKP5X^VwX6Y9VqZaR_By8d%scE3r=FhrY^J7a5knb3k zYx8u=vNFF|6?j#ZQfB*gydoCE8o-Oc9|LKfu=QiW>0^tTgw=9xL+jI=L?>uW5o8i) zR3ilD6q1o5@&%$amC@+>8H9J>XxwTqlCeGC*Bn!r!biZSg2dTi`*N?|8p^Z5@6o|f zkNi>E8k%F4`jxNDmO{MlC{#b617Y${^J3D|9da>;&F740!xpw_e~Qw72xo-Mk@+r| zii?CP|j?}+TCWc<-d1!2EUlERUItbY#H?mDj) z7<@3n@|#DER@N2vcv+25-Y7Tf9r?Zioh90E8XsUOQhGf=85IsFl>q$Sgnd5J?@4yB zg76wwFhz)+Uk9Lzf9YyAGr(h-&o}`Tn^SY&cs6?l)Nu}oHU%V?fBx|_vqY1}q%?yO z8ZS{C7bkWils^km(dt=G@qH&PjG`+fy1Zu2l1_Fn5wx%egk^PK;+2;U)vd{c_h56K zc)QbP7kOFUEsf)RBLe2~)p3}6@5~#n-Y0jT!CA03eyUNfw>>3%D}lX_qMjKkIIgqt z3(Q9X0o^RQsN6FIA7p3u)#>>=xTE>EXW&l28@y*j2>|VXv7z4p_kjLhaD#q+--a3% z1Ny&XL;qK(_4l}cZ0O|si}cucY$(|8VkC@zY$zxff9BGkQ0p2w80a;5UPf)+=W_dE zpxX>d$pTgUaJCv~T_ajV46Tom?B_6NFwr}GkbIYGTWhiXdt!`0cUBr|+J>Sas~t<4 zi*2BDK*BOgr#{SWAs=o2=e+41 z4?1s*M2u1x@vE&72V7Y&>0Y1a3MKYR#h!Y;lk>LnRcPMtje^(d#A;Y1PTE>ddVI2i zmF9DS94_g!8H0nZAg0!b-WKiBfGATEujv%(IShB*^hyb_7oBbD2uA zDE-p+b58kgm%y-cdte{ih~<>i&bY{2B4!TGo?4`#%nKoLubne2ub-d|{i!^elaMyIOB}ki_S4ELn!<_8V z#m_kJNv;NJ_Zf&5)Avl6xh2=&rv2HsON0Q2)UZ%rkYJ?y8OpYG0{AWUwW|QPX z3`MtQa&v!npsmd&sO#mCRO|q;-S>y}?L#L04gGd`TfK&lw;=Ru zdk!A2v}xmPeQe&M-toLkR_kWab+qS)PIbDvlG*Ic8~pI0mb6_i+7ypI;1rMXRXWEX<6I=Nj?L(}K~3vQ z`k<>&X%2yi%AzWWvBKIGiE5Yx{|4wi@h1Yb|3&=2fA~lIf&Zgk(KHs&{~hrMwEh+N z-{bxf|B3g3Pkje?5P%T|ar{U8fs=tV9{};wMgKGLQ(0b4cRBVs8awDDJ|M%6!!Q9l z@2P}VyN9uw&^YuKY}`ok0C8f1xKESQH+@7K2KcVpjw*hwTI~?pW&!Jbfvq`E_kG8)DMZo>o09A))(=qg5|;(SKdMD-co*CZC)tx2y8{@5+04c5tbA!s~D1a6uNA5zJze$ zvMIBWzI@C{+Vg7uB`Z(}SUqN2o>Pz5$S`~!cK)7>m`UfZ|DivWAZVG<0F|imGZ=4g zbHbA305}heRzo-!iCuV5ceGba%?uc}-j}?wM6&_+KJNXbxn-GrC(I?R`XTX1-cr45 zjs|0sfnOLjUp1+cG%~;p$BJ#i4&iMeXiYq3aV@|jl8dFalh?+0WH6^6RJ6884$pLLAde09Z3o#|t9`t7QM4185Sjd_Cifz>=?YmktT+YME<2!kN?* zrIpkSI!1X7M!Fg`GVo<`mgxR080v}B)xt_dCyJiQW!zD#&^O9WY+-1$UbwQ8$0RtL zU4$wWtYUq060onr;-|taypui#X}$A;!xHIupOj^`*4i;|v{jH44Iw#tGIXn8pAJM?Q^(S)9F&qjNe6({{@(DxO@&sNQj=DXi2*hwAf>CQIPDy4I|_*K7> z7DQbud;}cN=fQf69MYf7*umI-q*2?5*k-ByZ>Adw}Mw$-xFh zQiWKBZ6UTMVUQWx&yl?uA$VZv!;`y8oulb`LwYoScg1JV=R2dlS+|JYX{*Qg1sNVr zCmz#@ZQYVsh9G|oe>dR(om@Pq9gg4sZUYOJB>u$wxwb` zFQD|gY{=dgp(=XY!G%~NbLTdguC6HbDVdp-C#$6^KKV+FNl-`=s#Jskn1YU0Q@{z+>%9lG6nj9FnW| z+Tb@-f(8aaGZ|Lc;Bt&0vzzwST$3)Wk;@*iARe=NE|;-d zmSyzwvYuIrM&C?K9RN|^!u;NK&jKY58*KFTt?)OKuC`w~Gi!`jw<+9;`B%qOFP5Z5 zV-?kS6#Lwm+b|q9CrdP;H|`N)rq+iO535cH4fdgLK$)=DpX*6sLc$Q{#D2{Qx=|^z z;Km)pj+;(B%u*C{QIAK9e^CT1O~nT1ywJ3O2TRSmYfFA&XJAs3t6t96XZp4_yuKbW zF>|-tCYJp;5lTuXua!`dw9_vSqL+S5>h%#f3kkE47p&BYg{1^fMw?HIx;6b6yoe3K zBWnZv{RR?ozy;`)0Phpv1>Q41B!Kq6uqYN_Tz@kH#O{3-*#fruy=Q*@m+$d=+&?U; zec$}#yu%_;Uci5${f9*$R{W_i|Hkjs--raCfd!B=ke8H!Oq{S;Mcffc^O{z{R{g6^ zL1iSI+h0DEIec`nv48?OgN1|W{`ygs$(@KW>rElFn@aKNSMeJ)S)9#UsbCH7SO)vi z)&{G zNTJdm|4M^~L9>Y5N4ajhNvNtY&_v$1172&!Lnsk?;4culzcS~T?ml^AYkBy5t7Spt z_|-RL(qRfk&?@?X`5fshiI2hAp!N6u1VS*Km}mC(dbJSCJUlWb~Umk;!~n$Pl1g3V&L5=ig8 ze?ca$6%>sXCZB7c!_Jx6V!9ebA8je(@mvv2hJYc&W_D3D9OMhvkb2iWEA{HIKbYw8 zYWfLSZrdDwerg0&I8)BZ``$za>uX&ba%vZxua@r;&ra(H&PJoQs^^i7dZZ&oK6p`= zslWp<@JNgFz?{LZXmY_!ulTwR^^+X*60@dSNEFmG1Diw~1zEg$V$HErsfk|=g*-b= zdDEFBwU|@e7)jcGVO_wmEJYJNe^#34ugTOz%->s7h7x`ivtV*3>tB$p%=D3s62h%b zv`EQ`UWYS4T36P{hlrf)+c&!?$~@{Mk3EqkKE}_xe>^OS_HUET(P`r?mJ-4Zu>Q&0 z;tu`#BHmJh9^-(XfqSY7YxgTF$%(J&kp2q184C6yg?D?|!r47Rd?;mZxwgVwb`z1z zyhzU;RkeG0J{}Z~!ImBfh`}H6L8O_PXI;(e{%wsb^QldT9l*@@R^+6B_P?yi6W#u0 z=6@vC3*KSopB4F^4SN8bD5DH8D!Ty>0s8Dcsoin%Mns^G{Gd)1#%CAqIc`72g!&)= zAzfUeWhxINR$y%_GPP4NF7Af$z-_*P=?M3oSQ1X*XJIt9wH$NqEhRBVfwdYoaXI%) zL8cKVNC>5oQ7hXM_Gb_=TxK((M`QO?F6qLVXCK8~6a{PL;#r#Ry2HTvrT3amYjIHbdHYo0iTk+vmd=Cg z_<`qj`%!wo>rvW&AV~Ii1e03-MR4YQZ7caN1Xup}GyntS^u+m zIHb{+eOgDt4v*n+TR9HNr;nf!uHw$-c)O9S&m)GrAj>1feWX677poGEX z&g>Y@=K%F-$HU2@_=4%<{Yi69N8v1v2AL6aarslJe7v*#7uHDNEV5@Xj=O~A>(?@D zYttqSjXOzxjlN$j)C%S`KP`oEJUz|iWuClNSB)IAnC~=-j|MYK*T=(+=W-t|I$O6R zuB!Iz(03he(69Dm!Szs$rGfPwg9Bii4` zvEsjQ{P_n*IKWKQGYa@qc>_A|7UlWe;ubQ90~*(0w5mAT=vBgRvMH$K5?T@D6#cw1 zmp3rEm%{|fkumQXrdK!inZEIBnq3)AF~7)Uox-TlkTQANF~Os=W%YM&%N^V&^ShFh z?-oNLMyMQ*!v@%;W}wZGyp1@MQND%F-)LX?+IwVkQ-_dKGx^Z)@^MK-T*wGWbAC`| zY>M|!K!S!57-#~bC$(i3l!^T?b(9J*fkso=*Ou-217 zPF)xcnX2w#LzL^{IRh*_x7-dV`XDT6$nv=Ik<+8?K%_RN*2}^%d?IS1PGPV*daPq2 zwsAKpNhu$Q50Dy)7Ko1`ebG_q!?h2P?H-)I58!{khZ6;${Vy{s?cei%fM(yHSq=Y% z)9N3bpjb-dl@L1t&j3QoJO%~V{LZzNmeO^HmNs>hs>e88qHBRT{8Ny?RB`<~tsL^i zbY-PnaE11jdOJr<5n}M*1)a-j?AURXqWkF7!#&Ha>o7Oz^UuqzsA^?k}H2ECy86Z73b`(=?xfd(Dq{pxd3ZD<2N1f&HJ&9S#e zNEf%4;Wz5vRlx57NeO8G3y|pr|4z8(_knErFCe@BmAc|%In2u6K!U&COmI^~C zEb`GWuFzT!>QV4l%xSC=7mz+Cp!B#yQJo9|1t(Vfq)SJf1vE^{o2Jb<3YDEW?I@Qt zj%a45#Dhvpt~XlK_##owCPp)?VfpxxX3-8gpJ{Q+la<-yl(H6eCBP zS}x3wiUKFt;X`Qn)$BJVlXbC{K*$hu!1S{{FSt|z)p$mYU>dDc6bQ4kbGaux3+@K5 zQbV8kb`sPF@Q2?+iwe;G7ql{F|3&LRVlEy3h1SBq(=LacUk$1o@DL#Oq5HFkVHm+D z^RPD@sTuF1%KjZM9!oT(_{?nwsVa<7Qim^ z7YDPvBR`5U%Aiq*TUR8WCa;&={;#jQ3u!70;{blPWjOkptq)?sB1;Kf1H(pnA(uLR>s)k~_v?6U z(X9fi{g?^hjd>^@#(0rPgSd!#3wgZ_GXkIS(gW zr(ayiICa~~$Y#&Jg22R?Ro^epr+R-E-CQVfrT-tpA-ca;9Tb-RJ8|iS#&ESUhT5#h zI^}VOH;iqWqc>fykRO-HxOvrk2sT>k&)W|`pC5Po9fGwPxCaOuM(R{E3!;w6ee0M z&P`0}fmuXrJ~OG=TZp_qCN%-zTc9Wm1oTAgY^XQcs8>3Y=h4 zH&7D=>7g?C^y&{PqT}^Us<4bG@`y=Qf)ce&GpXtjqK-zU7NZb_D3%)ubtQ+WXDM%` zu8I;}voonPRiYbyrt?0tul_5FY)3^3kS@)LBQ0xx7BocK9BocK5 zwBr*u41h$)f*=vH5UBPTH*5rn-02{ZyD&)P?kp&@g!^g(i70k}L=Q6Rk>ST6WZ1~)FleBi`x*t^nPhqfx=V%G q_?cT*TUlf literal 0 HcmV?d00001 diff --git a/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.0.dump b/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.0.dump new file mode 100644 index 0000000000..7ee9341b9c --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.0.dump @@ -0,0 +1,329 @@ +seekMap: + isSeekable = false + duration = 134000 + getPosition(0) = [[timeUs=0, position=1428]] +numberOfTracks = 2 +track 0: + total output bytes = 87715 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + width = 1080 + height = 720 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 37655, hash 265F7BA7 + sample 1: + time = 133466 + flags = 0 + data = length 5023, hash 30768D40 + sample 2: + time = 100100 + flags = 0 + data = length 497, hash 9E536CA2 + sample 3: + time = 200200 + flags = 536870912 + data = length 5867, hash 56F9EE87 + sample 4: + time = 400398 + flags = 0 + data = length 570, hash 984421BD + sample 5: + time = 500499 + flags = 0 + data = length 3406, hash 9A33201E + sample 6: + time = 467132 + flags = 0 + data = length 476, hash C59620F3 + sample 7: + time = 567232 + flags = 0 + data = length 4310, hash 291E6161 + sample 8: + time = 533865 + flags = 0 + data = length 497, hash 398CBFAA + sample 9: + time = 700699 + flags = 0 + data = length 4449, hash 322CAA2B + sample 10: + time = 633965 + flags = 0 + data = length 1076, hash B479B634 + sample 11: + time = 600599 + flags = 0 + data = length 365, hash 68C7D4C2 + sample 12: + time = 667332 + flags = 0 + data = length 463, hash A85F9769 + sample 13: + time = 834165 + flags = 0 + data = length 5339, hash F232195D + sample 14: + time = 767432 + flags = 0 + data = length 1085, hash 47AFB6FE + sample 15: + time = 734066 + flags = 0 + data = length 689, hash 3EB753A3 + sample 16: + time = 800798 + flags = 0 + data = length 516, hash E6DF9C1C + sample 17: + time = 967632 + flags = 0 + data = length 4899, hash A9A8F4B7 + sample 18: + time = 900899 + flags = 0 + data = length 963, hash 684782FB + sample 19: + time = 867532 + flags = 0 + data = length 625, hash ED1C8EF1 + sample 20: + time = 934265 + flags = 0 + data = length 492, hash E6E066EA + sample 21: + time = 1101099 + flags = 0 + data = length 2973, hash A3C54C3B + sample 22: + time = 1034365 + flags = 0 + data = length 833, hash 41CA807D + sample 23: + time = 1000999 + flags = 0 + data = length 516, hash 5B21BB11 + sample 24: + time = 1067732 + flags = 0 + data = length 384, hash A0E8FA50 + sample 25: + time = 1234565 + flags = 0 + data = length 1450, hash 92741C3B + sample 26: + time = 1167832 + flags = 0 + data = length 831, hash DDA0685B + sample 27: + time = 1134466 + flags = 0 + data = length 413, hash 886904C + sample 28: + time = 1201198 + flags = 0 + data = length 427, hash FC2FA8CC + sample 29: + time = 1267932 + flags = 0 + data = length 626, hash DCE82342 +track 1: + total output bytes = 10107 + sample count = 45 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 536870913 + data = length 21, hash D57A2CCC + sample 1: + time = 267890 + flags = 1 + data = length 6, hash 336D5819 + sample 2: + time = 291110 + flags = 1 + data = length 279, hash 6E3E48B0 + sample 3: + time = 314330 + flags = 1 + data = length 286, hash 5AABFF + sample 4: + time = 337550 + flags = 1 + data = length 275, hash D3109764 + sample 5: + time = 360770 + flags = 1 + data = length 284, hash 154B6E9 + sample 6: + time = 383990 + flags = 1 + data = length 273, hash 40C8A066 + sample 7: + time = 407210 + flags = 1 + data = length 272, hash 4211880F + sample 8: + time = 430430 + flags = 1 + data = length 281, hash 1F534130 + sample 9: + time = 453650 + flags = 1 + data = length 279, hash F5B3EE5F + sample 10: + time = 476870 + flags = 1 + data = length 282, hash 6CDF1B54 + sample 11: + time = 500090 + flags = 1 + data = length 291, hash 6EC03046 + sample 12: + time = 523310 + flags = 1 + data = length 296, hash 9C7F2E6A + sample 13: + time = 546530 + flags = 1 + data = length 282, hash 584ABD5E + sample 14: + time = 569749 + flags = 1 + data = length 283, hash 38CB1734 + sample 15: + time = 592969 + flags = 1 + data = length 274, hash 648EC8BD + sample 16: + time = 616189 + flags = 1 + data = length 274, hash E8FE0F68 + sample 17: + time = 639409 + flags = 1 + data = length 277, hash 2E1B8A11 + sample 18: + time = 662629 + flags = 1 + data = length 282, hash FB6ACCED + sample 19: + time = 685849 + flags = 1 + data = length 283, hash 152D69D + sample 20: + time = 709069 + flags = 1 + data = length 274, hash 45F44C4B + sample 21: + time = 732289 + flags = 1 + data = length 242, hash F9225BB7 + sample 22: + time = 755509 + flags = 1 + data = length 207, hash F5DFB6B2 + sample 23: + time = 778729 + flags = 1 + data = length 226, hash 41DC63E1 + sample 24: + time = 801949 + flags = 1 + data = length 218, hash A82772CF + sample 25: + time = 825169 + flags = 1 + data = length 223, hash 861AB80 + sample 26: + time = 848389 + flags = 1 + data = length 220, hash F1CBA15E + sample 27: + time = 871609 + flags = 1 + data = length 203, hash CB57EEF7 + sample 28: + time = 894829 + flags = 1 + data = length 206, hash 766F4D9E + sample 29: + time = 918049 + flags = 1 + data = length 210, hash FE2A2935 + sample 30: + time = 941269 + flags = 1 + data = length 207, hash A06A178D + sample 31: + time = 964489 + flags = 1 + data = length 206, hash 1ABD9A5F + sample 32: + time = 987709 + flags = 1 + data = length 209, hash 69D7E5F3 + sample 33: + time = 1010929 + flags = 1 + data = length 173, hash 7CE0FDCA + sample 34: + time = 1034149 + flags = 1 + data = length 208, hash 21D67E09 + sample 35: + time = 1057369 + flags = 1 + data = length 207, hash C7187D46 + sample 36: + time = 1080588 + flags = 1 + data = length 180, hash D17CFAF8 + sample 37: + time = 1103808 + flags = 1 + data = length 206, hash C58FD669 + sample 38: + time = 1127028 + flags = 1 + data = length 212, hash 27E2F2C4 + sample 39: + time = 1150248 + flags = 1 + data = length 190, hash 534CC89E + sample 40: + time = 1173468 + flags = 1 + data = length 180, hash 1C58DF95 + sample 41: + time = 1196688 + flags = 1 + data = length 213, hash 24FBF10A + sample 42: + time = 1219908 + flags = 1 + data = length 186, hash EFC31805 + sample 43: + time = 1243128 + flags = 1 + data = length 208, hash 4A050A0D + sample 44: + time = 1266348 + flags = 1 + data = length 13, hash 2555A7DC +tracksEnded = true diff --git a/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.unknown_length.dump b/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.unknown_length.dump new file mode 100644 index 0000000000..7ee9341b9c --- /dev/null +++ b/testdata/src/test/assets/mp4/sample_partially_fragmented.mp4.unknown_length.dump @@ -0,0 +1,329 @@ +seekMap: + isSeekable = false + duration = 134000 + getPosition(0) = [[timeUs=0, position=1428]] +numberOfTracks = 2 +track 0: + total output bytes = 87715 + sample count = 30 + format 0: + id = 1 + sampleMimeType = video/avc + width = 1080 + height = 720 + initializationData: + data = length 29, hash 4746B5D9 + data = length 10, hash 7A0D0F2B + sample 0: + time = 66733 + flags = 1 + data = length 37655, hash 265F7BA7 + sample 1: + time = 133466 + flags = 0 + data = length 5023, hash 30768D40 + sample 2: + time = 100100 + flags = 0 + data = length 497, hash 9E536CA2 + sample 3: + time = 200200 + flags = 536870912 + data = length 5867, hash 56F9EE87 + sample 4: + time = 400398 + flags = 0 + data = length 570, hash 984421BD + sample 5: + time = 500499 + flags = 0 + data = length 3406, hash 9A33201E + sample 6: + time = 467132 + flags = 0 + data = length 476, hash C59620F3 + sample 7: + time = 567232 + flags = 0 + data = length 4310, hash 291E6161 + sample 8: + time = 533865 + flags = 0 + data = length 497, hash 398CBFAA + sample 9: + time = 700699 + flags = 0 + data = length 4449, hash 322CAA2B + sample 10: + time = 633965 + flags = 0 + data = length 1076, hash B479B634 + sample 11: + time = 600599 + flags = 0 + data = length 365, hash 68C7D4C2 + sample 12: + time = 667332 + flags = 0 + data = length 463, hash A85F9769 + sample 13: + time = 834165 + flags = 0 + data = length 5339, hash F232195D + sample 14: + time = 767432 + flags = 0 + data = length 1085, hash 47AFB6FE + sample 15: + time = 734066 + flags = 0 + data = length 689, hash 3EB753A3 + sample 16: + time = 800798 + flags = 0 + data = length 516, hash E6DF9C1C + sample 17: + time = 967632 + flags = 0 + data = length 4899, hash A9A8F4B7 + sample 18: + time = 900899 + flags = 0 + data = length 963, hash 684782FB + sample 19: + time = 867532 + flags = 0 + data = length 625, hash ED1C8EF1 + sample 20: + time = 934265 + flags = 0 + data = length 492, hash E6E066EA + sample 21: + time = 1101099 + flags = 0 + data = length 2973, hash A3C54C3B + sample 22: + time = 1034365 + flags = 0 + data = length 833, hash 41CA807D + sample 23: + time = 1000999 + flags = 0 + data = length 516, hash 5B21BB11 + sample 24: + time = 1067732 + flags = 0 + data = length 384, hash A0E8FA50 + sample 25: + time = 1234565 + flags = 0 + data = length 1450, hash 92741C3B + sample 26: + time = 1167832 + flags = 0 + data = length 831, hash DDA0685B + sample 27: + time = 1134466 + flags = 0 + data = length 413, hash 886904C + sample 28: + time = 1201198 + flags = 0 + data = length 427, hash FC2FA8CC + sample 29: + time = 1267932 + flags = 0 + data = length 626, hash DCE82342 +track 1: + total output bytes = 10107 + sample count = 45 + format 0: + id = 2 + sampleMimeType = audio/mp4a-latm + codecs = mp4a.40.2 + channelCount = 1 + sampleRate = 44100 + language = und + initializationData: + data = length 5, hash 2B7623A + sample 0: + time = 0 + flags = 536870913 + data = length 21, hash D57A2CCC + sample 1: + time = 267890 + flags = 1 + data = length 6, hash 336D5819 + sample 2: + time = 291110 + flags = 1 + data = length 279, hash 6E3E48B0 + sample 3: + time = 314330 + flags = 1 + data = length 286, hash 5AABFF + sample 4: + time = 337550 + flags = 1 + data = length 275, hash D3109764 + sample 5: + time = 360770 + flags = 1 + data = length 284, hash 154B6E9 + sample 6: + time = 383990 + flags = 1 + data = length 273, hash 40C8A066 + sample 7: + time = 407210 + flags = 1 + data = length 272, hash 4211880F + sample 8: + time = 430430 + flags = 1 + data = length 281, hash 1F534130 + sample 9: + time = 453650 + flags = 1 + data = length 279, hash F5B3EE5F + sample 10: + time = 476870 + flags = 1 + data = length 282, hash 6CDF1B54 + sample 11: + time = 500090 + flags = 1 + data = length 291, hash 6EC03046 + sample 12: + time = 523310 + flags = 1 + data = length 296, hash 9C7F2E6A + sample 13: + time = 546530 + flags = 1 + data = length 282, hash 584ABD5E + sample 14: + time = 569749 + flags = 1 + data = length 283, hash 38CB1734 + sample 15: + time = 592969 + flags = 1 + data = length 274, hash 648EC8BD + sample 16: + time = 616189 + flags = 1 + data = length 274, hash E8FE0F68 + sample 17: + time = 639409 + flags = 1 + data = length 277, hash 2E1B8A11 + sample 18: + time = 662629 + flags = 1 + data = length 282, hash FB6ACCED + sample 19: + time = 685849 + flags = 1 + data = length 283, hash 152D69D + sample 20: + time = 709069 + flags = 1 + data = length 274, hash 45F44C4B + sample 21: + time = 732289 + flags = 1 + data = length 242, hash F9225BB7 + sample 22: + time = 755509 + flags = 1 + data = length 207, hash F5DFB6B2 + sample 23: + time = 778729 + flags = 1 + data = length 226, hash 41DC63E1 + sample 24: + time = 801949 + flags = 1 + data = length 218, hash A82772CF + sample 25: + time = 825169 + flags = 1 + data = length 223, hash 861AB80 + sample 26: + time = 848389 + flags = 1 + data = length 220, hash F1CBA15E + sample 27: + time = 871609 + flags = 1 + data = length 203, hash CB57EEF7 + sample 28: + time = 894829 + flags = 1 + data = length 206, hash 766F4D9E + sample 29: + time = 918049 + flags = 1 + data = length 210, hash FE2A2935 + sample 30: + time = 941269 + flags = 1 + data = length 207, hash A06A178D + sample 31: + time = 964489 + flags = 1 + data = length 206, hash 1ABD9A5F + sample 32: + time = 987709 + flags = 1 + data = length 209, hash 69D7E5F3 + sample 33: + time = 1010929 + flags = 1 + data = length 173, hash 7CE0FDCA + sample 34: + time = 1034149 + flags = 1 + data = length 208, hash 21D67E09 + sample 35: + time = 1057369 + flags = 1 + data = length 207, hash C7187D46 + sample 36: + time = 1080588 + flags = 1 + data = length 180, hash D17CFAF8 + sample 37: + time = 1103808 + flags = 1 + data = length 206, hash C58FD669 + sample 38: + time = 1127028 + flags = 1 + data = length 212, hash 27E2F2C4 + sample 39: + time = 1150248 + flags = 1 + data = length 190, hash 534CC89E + sample 40: + time = 1173468 + flags = 1 + data = length 180, hash 1C58DF95 + sample 41: + time = 1196688 + flags = 1 + data = length 213, hash 24FBF10A + sample 42: + time = 1219908 + flags = 1 + data = length 186, hash EFC31805 + sample 43: + time = 1243128 + flags = 1 + data = length 208, hash 4A050A0D + sample 44: + time = 1266348 + flags = 1 + data = length 13, hash 2555A7DC +tracksEnded = true