diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java index 1ae810fab7..75d3b24af6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java @@ -202,6 +202,8 @@ public final class DefaultTsPayloadReaderFactory implements TsPayloadReader.Fact return new PesReader(new DvbSubtitleReader(esInfo.dvbSubtitleInfos)); case TsExtractor.TS_STREAM_TYPE_AIT: return new SectionReader(new PassthroughSectionPayloadReader(MimeTypes.APPLICATION_AIT)); + case TsExtractor.TS_STREAM_TYPE_MHAS: + return new PesReader(new MpeghReader()); default: return null; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghReader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghReader.java new file mode 100644 index 0000000000..8851cc8348 --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghReader.java @@ -0,0 +1,380 @@ +/* + * Copyright 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.extractor.ts; + +import static androidx.media3.extractor.ts.TsPayloadReader.FLAG_DATA_ALIGNMENT_INDICATOR; +import static androidx.media3.extractor.ts.TsPayloadReader.FLAG_RANDOM_ACCESS_INDICATOR; +import static java.lang.Math.min; +import static java.lang.annotation.ElementType.TYPE_USE; + +import androidx.annotation.IntDef; +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.ParserException; +import androidx.media3.common.util.Assertions; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; +import androidx.media3.extractor.ExtractorOutput; +import androidx.media3.extractor.TrackOutput; +import com.google.common.collect.ImmutableList; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.List; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; + +/** Parses a continuous MPEG-H audio byte stream and extracts MPEG-H frames. */ +@UnstableApi +public final class MpeghReader implements ElementaryStreamReader { + + @Documented + @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) + @IntDef({STATE_FINDING_SYNC, STATE_READING_PACKET_HEADER, STATE_READING_PACKET_PAYLOAD}) + private @interface State {} + + private static final int STATE_FINDING_SYNC = 0; + private static final int STATE_READING_PACKET_HEADER = 1; + private static final int STATE_READING_PACKET_PAYLOAD = 2; + + private static final int MHAS_SYNC_WORD_LENGTH = 3; + private static final int MIN_MHAS_PACKET_HEADER_SIZE = 2; + private static final int MAX_MHAS_PACKET_HEADER_SIZE = 15; + + private final ParsableByteArray headerScratchBytes; + private final ParsableBitArray headerScratchBits; + private final ParsableByteArray dataScratchBytes; + + private @State int state; + + private @MonotonicNonNull String formatId; + private @MonotonicNonNull TrackOutput output; + + // The timestamp to attach to the next sample in the current packet. + private double timeUs; + private double timeUsPending; + private boolean dataPending; + private boolean rapPending; + private @TsPayloadReader.Flags int flags; + + private int syncBytes; + + private boolean headerDataFinished; + private int payloadBytesRead; + private int frameBytes; + + private MpeghUtil.MhasPacketHeader header; + private int samplingRate; + private int standardFrameLength; + private int truncationSamples; + private long mainStreamLabel; + private boolean configFound; + + /** Constructs a new reader for MPEG-H elementary streams. */ + public MpeghReader() { + state = STATE_FINDING_SYNC; + headerScratchBytes = + new ParsableByteArray(new byte[MAX_MHAS_PACKET_HEADER_SIZE], MIN_MHAS_PACKET_HEADER_SIZE); + headerScratchBits = new ParsableBitArray(); + dataScratchBytes = new ParsableByteArray(); + header = new MpeghUtil.MhasPacketHeader(); + samplingRate = C.RATE_UNSET_INT; + standardFrameLength = C.LENGTH_UNSET; + mainStreamLabel = C.INDEX_UNSET; + rapPending = true; + headerDataFinished = true; + timeUs = C.TIME_UNSET; + timeUsPending = C.TIME_UNSET; + } + + @Override + public void seek() { + state = STATE_FINDING_SYNC; + syncBytes = 0; + headerScratchBytes.reset(MIN_MHAS_PACKET_HEADER_SIZE); + payloadBytesRead = 0; + frameBytes = 0; + samplingRate = C.RATE_UNSET_INT; + standardFrameLength = C.LENGTH_UNSET; + truncationSamples = 0; + mainStreamLabel = C.INDEX_UNSET; + configFound = false; + dataPending = false; + headerDataFinished = true; + rapPending = true; + timeUs = C.TIME_UNSET; + timeUsPending = C.TIME_UNSET; + } + + @Override + public void createTracks( + ExtractorOutput extractorOutput, TsPayloadReader.TrackIdGenerator idGenerator) { + idGenerator.generateNewId(); + formatId = idGenerator.getFormatId(); + output = extractorOutput.track(idGenerator.getTrackId(), C.TRACK_TYPE_AUDIO); + } + + @Override + public void packetStarted(long pesTimeUs, @TsPayloadReader.Flags int flags) { + this.flags = flags; + + // check if data is pending (an MPEG-H frame could not be completed) + if (!rapPending && (frameBytes != 0 || !headerDataFinished)) { + dataPending = true; + } + + if (pesTimeUs != C.TIME_UNSET) { + if (dataPending) { + timeUsPending = pesTimeUs; + } else { + timeUs = pesTimeUs; + } + } + } + + @Override + public void consume(ParsableByteArray data) throws ParserException { + Assertions.checkStateNotNull(output); // Asserts that createTracks has been called. + + while (data.bytesLeft() > 0) { + switch (state) { + case STATE_FINDING_SYNC: + if (skipToNextSync(data)) { + state = STATE_READING_PACKET_HEADER; + } + break; + case STATE_READING_PACKET_HEADER: + copyData(data, headerScratchBytes, /* resetSourcePosition= */ false); + if (headerScratchBytes.bytesLeft() == 0) { + if (parseHeader()) { + // write the MHAS packet header to output + headerScratchBytes.setPosition(0); + output.sampleData(headerScratchBytes, headerScratchBytes.limit()); + + // Prepare headerScratchBytes to read next header in the stream + headerScratchBytes.reset(MIN_MHAS_PACKET_HEADER_SIZE); + + // Prepare dataScratchBytes to read new MHAS packet + dataScratchBytes.reset(header.packetLength); + + headerDataFinished = true; + + // MHAS packet header finished -> obtain the packet payload + state = STATE_READING_PACKET_PAYLOAD; + } else if (headerScratchBytes.limit() < MAX_MHAS_PACKET_HEADER_SIZE) { + headerScratchBytes.setLimit(headerScratchBytes.limit() + 1); + headerDataFinished = false; + } + } else { + headerDataFinished = false; + } + break; + case STATE_READING_PACKET_PAYLOAD: + if (shouldParsePacket(header.packetType)) { + copyData(data, dataScratchBytes, /* resetSourcePosition= */ true); + } + writeSampleData(data); + if (payloadBytesRead == header.packetLength) { + if (header.packetType == MpeghUtil.MhasPacketHeader.PACTYP_MPEGH3DACFG) { + parseConfig(new ParsableBitArray(dataScratchBytes.getData())); + } else if (header.packetType == MpeghUtil.MhasPacketHeader.PACTYP_AUDIOTRUNCATION) { + truncationSamples = + MpeghUtil.parseAudioTruncationInfo( + new ParsableBitArray(dataScratchBytes.getData())); + } else if (header.packetType == MpeghUtil.MhasPacketHeader.PACTYP_MPEGH3DAFRAME) { + finalizeFrame(); + } + // MHAS packet payload finished -> obtain a new packet header + state = STATE_READING_PACKET_HEADER; + } + break; + default: + throw new IllegalStateException(); + } + } + } + + @Override + public void packetFinished() { + // Do nothing. + } + + /** + * Copies data from the provided {@code source} into a given {@code target}, attempting to fill + * the target buffer up to its limit. + * + * @param source The source from which to read. + * @param target The target into which data is to be read. + * @param resetSourcePosition Whether to reset the source position to its original value + */ + private void copyData( + ParsableByteArray source, ParsableByteArray target, boolean resetSourcePosition) { + int sourcePosition = source.getPosition(); + int bytesToRead = min(source.bytesLeft(), target.bytesLeft()); + source.readBytes(target.getData(), target.getPosition(), bytesToRead); + target.skipBytes(bytesToRead); + if (resetSourcePosition) { + source.setPosition(sourcePosition); + } + } + + /** + * Locates the next SYNC value in the buffer, advancing the position to the byte starting with the + * SYNC value. If SYNC was not located, the position is advanced to the limit. + * + * @param pesBuffer The buffer whose position should be advanced. + * @return Whether SYNC was found. + */ + private boolean skipToNextSync(ParsableByteArray pesBuffer) { + if ((flags & FLAG_RANDOM_ACCESS_INDICATOR) == 0) { + // RAI is not signalled -> drop the PES data + pesBuffer.setPosition(pesBuffer.limit()); + return false; + } + + if ((flags & FLAG_DATA_ALIGNMENT_INDICATOR) == 0) { + // if RAI is signalled but the data is not aligned we need to find the sync packet + while (pesBuffer.bytesLeft() > 0) { + syncBytes <<= C.BITS_PER_BYTE; + syncBytes |= pesBuffer.readUnsignedByte(); + if (MpeghUtil.isSyncWord(syncBytes)) { + pesBuffer.setPosition(pesBuffer.getPosition() - MHAS_SYNC_WORD_LENGTH); + syncBytes = 0; + return true; + } + } + } else { + return true; + } + return false; + } + + /** + * Parses the MHAS packet header. + * + * @return {@code true} if the parsing is successful, {@code false} otherwise. + * @throws ParserException if an error occurred during parsing {@link MpeghUtil.MhasPacketHeader}. + */ + private boolean parseHeader() throws ParserException { + int headerLength = headerScratchBytes.limit(); + headerScratchBits.reset(headerScratchBytes.getData(), headerLength); + + // parse the MHAS packet header + boolean result = MpeghUtil.parseMhasPacketHeader(headerScratchBits, header); + + if (result) { + payloadBytesRead = 0; + frameBytes += header.packetLength + headerLength; + } + + return result; + } + + /** + * Determines whether a packet should be parsed based on its type. + * + * @param packetType The {@link MpeghUtil.MhasPacketHeader.Type} of the MHAS packet header. + * @return {@code true} if the packet type is either {@link + * MpeghUtil.MhasPacketHeader#PACTYP_MPEGH3DACFG} or {@link + * MpeghUtil.MhasPacketHeader#PACTYP_AUDIOTRUNCATION}, {@code false} otherwise. + */ + private boolean shouldParsePacket(@MpeghUtil.MhasPacketHeader.Type int packetType) { + return packetType == MpeghUtil.MhasPacketHeader.PACTYP_MPEGH3DACFG + || packetType == MpeghUtil.MhasPacketHeader.PACTYP_AUDIOTRUNCATION; + } + + /** + * Writes sample data to the output. + * + * @param data A {@link ParsableByteArray} from which to read the sample data. + */ + @RequiresNonNull("output") + private void writeSampleData(ParsableByteArray data) { + // read bytes from input data and write them into the output + int bytesToRead = min(data.bytesLeft(), header.packetLength - payloadBytesRead); + output.sampleData(data, bytesToRead); + payloadBytesRead += bytesToRead; + } + + /** + * Parses the config and sets the output format. + * + * @param bitArray The data to parse, positioned at the start of the {@link + * MpeghUtil.Mpegh3daConfig} field. Must be byte-aligned. + * @throws ParserException if a valid {@link MpeghUtil.Mpegh3daConfig} cannot be parsed. + */ + @RequiresNonNull("output") + private void parseConfig(ParsableBitArray bitArray) throws ParserException { + MpeghUtil.Mpegh3daConfig config = MpeghUtil.parseMpegh3daConfig(bitArray); + samplingRate = config.samplingFrequency; + standardFrameLength = config.standardFrameLength; + if (mainStreamLabel != header.packetLabel) { + mainStreamLabel = header.packetLabel; + // set the output format + String codecs = "mhm1"; + if (config.profileLevelIndication != C.INDEX_UNSET) { + codecs += String.format(".%02X", config.profileLevelIndication); + } + @Nullable List initializationData = null; + if (config.compatibleProfileLevelSet != null && config.compatibleProfileLevelSet.length > 0) { + // The first entry in initializationData is reserved for the audio specific + // config. + initializationData = + ImmutableList.of(Util.EMPTY_BYTE_ARRAY, config.compatibleProfileLevelSet); + } + Format format = + new Format.Builder() + .setId(formatId) + .setSampleMimeType(MimeTypes.AUDIO_MPEGH_MHM1) + .setSampleRate(samplingRate) + .setCodecs(codecs) + .setInitializationData(initializationData) + .build(); + output.format(format); + } + configFound = true; + } + + /** Finalizes an MPEG-H frame. */ + @RequiresNonNull("output") + private void finalizeFrame() { + @C.BufferFlags int flag = 0; + // if we have a frame with an mpegh3daConfig, set the obtained AU to a key frame + if (configFound) { + flag = C.BUFFER_FLAG_KEY_FRAME; + rapPending = false; + } + double sampleDurationUs = + (double) C.MICROS_PER_SECOND * (standardFrameLength - truncationSamples) / samplingRate; + long pts = Math.round(timeUs); + if (dataPending) { + dataPending = false; + timeUs = timeUsPending; + } else { + timeUs += sampleDurationUs; + } + output.sampleMetadata(pts, flag, frameBytes, 0, null); + configFound = false; + truncationSamples = 0; + frameBytes = 0; + } +} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java new file mode 100644 index 0000000000..7a8b80d0d8 --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghUtil.java @@ -0,0 +1,741 @@ +/* + * Copyright 2024 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.extractor.ts; + +import static androidx.media3.common.util.Assertions.checkArgument; +import static java.lang.annotation.ElementType.TYPE_USE; + +import androidx.annotation.IntDef; +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.ParserException; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.UnstableApi; +import com.google.common.math.IntMath; +import com.google.common.math.LongMath; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** Utility methods for parsing MPEG-H frames, which are access units in MPEG-H bitstreams. */ +@UnstableApi +/* package */ final class MpeghUtil { + + /** See ISO_IEC_23003-8;2022, 14.4.4. */ + private static final int MHAS_SYNC_WORD = 0xC001A5; + + /** + * Returns whether the lower 3 bytes of the given integer matches an MHAS sync word. See + * ISO_IEC_23008-3;2022, 14.4.4. + */ + public static boolean isSyncWord(int word) { + return (word & 0xFFFFFF) == MHAS_SYNC_WORD; + } + + /** + * Parses an MHAS packet header. See ISO_IEC_23008-3;2022, 14.2.1, Table 222. The reading position + * of {@code data} will be modified to be just after the end of the MHAS packet header. + * + * @param data The data to parse, positioned at the start of the MHAS packet header. Must be + * byte-aligned. + * @param header An instance of {@link MhasPacketHeader} that will be updated with the parsed + * information. + * @return {@code true} if the parsing is successful, {@code false} otherwise. + * @throws ParserException if an error occurred during parsing {@link MhasPacketHeader}. + */ + public static boolean parseMhasPacketHeader(ParsableBitArray data, MhasPacketHeader header) + throws ParserException { + int dataStartPos = data.getBytePosition(); + header.packetType = readEscapedIntValue(data, 3, 8, 8); + if (header.packetType == -1) { + return false; + } + + header.packetLabel = readEscapedLongValue(data, 2, 8, 32); + if (header.packetLabel == -1) { + return false; + } + + if (header.packetLabel > 0x10) { + throw ParserException.createForUnsupportedContainerFeature( + "Contains sub-stream with an invalid packet label " + header.packetLabel); + } + + if (header.packetLabel == 0) { + switch (header.packetType) { + case MhasPacketHeader.PACTYP_MPEGH3DACFG: + throw ParserException.createForMalformedContainer( + "Mpegh3daConfig packet with invalid packet label 0", /* cause= */ null); + case MhasPacketHeader.PACTYP_AUDIOTRUNCATION: + throw ParserException.createForMalformedContainer( + "AudioTruncation packet with invalid packet label 0", /* cause= */ null); + case MhasPacketHeader.PACTYP_MPEGH3DAFRAME: + throw ParserException.createForMalformedContainer( + "Mpegh3daFrame packet with invalid packet label 0", /* cause= */ null); + default: + break; + } + } + + header.packetLength = readEscapedIntValue(data, 11, 24, 24); + return header.packetLength != -1; + } + + /** + * Obtains the output frame length of the current MPEG-H frame. See ISO_IEC_23003-3;2020, 6.1.1.1, + * Table 75. + * + * @param index The coreSbrFrameLengthIndex which determines the output frame length. + * @return The output frame length. + * @throws ParserException if output frame length could not be obtained. + */ + private static int getOutputFrameLength(int index) throws ParserException { + switch (index) { + case 0: + return 768; + case 1: + return 1_024; + case 2: + case 3: + return 2_048; + case 4: + return 4_096; + default: + throw ParserException.createForUnsupportedContainerFeature( + "Unsupported coreSbrFrameLengthIndex " + index); + } + } + + /** + * Obtains the sbrRatioIndex of the current MPEG-H frame. See ISO_IEC_23003-3;2020, 6.1.1.1, Table + * 75. + * + * @param index The coreSbrFrameLengthIndex which determines the output frame length. + * @return The sbrRatioIndex. + * @throws ParserException if sbrRatioIndex could not be obtained. + */ + private static int getSbrRatioIndex(int index) throws ParserException { + switch (index) { + case 0: + case 1: + return 0; + case 2: + return 2; + case 3: + return 3; + case 4: + return 1; + default: + throw ParserException.createForUnsupportedContainerFeature( + "Unsupported coreSbrFrameLengthIndex " + index); + } + } + + /** + * Obtains the resampling ratio according to the provided sampling frequency. See + * ISO_IEC_23008-3;2022, 4.8.2, Table 10. + * + * @param usacSamplingFrequency The USAC sampling frequency. + * @return The resampling ratio. + * @throws ParserException if USAC sampling frequency is not supported. + */ + private static double getResamplingRatio(int usacSamplingFrequency) throws ParserException { + switch (usacSamplingFrequency) { + case 96_000: + case 88_200: + case 48_000: + case 44_100: + return 1; + case 64_000: + case 58_800: + case 32_000: + case 29_400: + return 1.5; + case 24_000: + case 22_050: + return 2; + case 16_000: + case 14_700: + return 3; + default: + throw ParserException.createForUnsupportedContainerFeature( + "Unsupported sampling rate " + usacSamplingFrequency); + } + } + + /** + * Obtains the necessary info of the Mpegh3daConfig from an MPEG-H bit stream. See + * ISO_IEC_23008-3;2022, 5.2.2.1, Table 15. The reading position of {@code data} will be modified + * to be just after the end of the payload of an Mpegh3daConfig packet. + * + * @param data The data to parse, positioned at the start of the payload of an Mpegh3daConfig + * packet. Must be byte-aligned. + * @return The {@link Mpegh3daConfig}. + * @throws ParserException if a valid {@link Mpegh3daConfig} cannot be parsed. + */ + public static Mpegh3daConfig parseMpegh3daConfig(ParsableBitArray data) throws ParserException { + @Nullable byte[] compatibleProfileLevelSet = null; + int profileLevelIndication = data.readBits(8); + + int usacSamplingFrequency; + int samplingFrequencyIndex = data.readBits(5); + if (samplingFrequencyIndex == 0x1F) { + usacSamplingFrequency = data.readBits(24); + } else { + usacSamplingFrequency = getSamplingFrequency(samplingFrequencyIndex); + } + + int coreSbrFrameLengthIndex = data.readBits(3); + int outputFrameLength = getOutputFrameLength(coreSbrFrameLengthIndex); + int sbrRatioIndex = getSbrRatioIndex(coreSbrFrameLengthIndex); + + data.skipBits(2); // cfg_reserved(1), receiverDelayCompensation(1) + + skipSpeakerConfig3d(data); // referenceLayout + int numSignals = parseSignals3d(data); // frameworkConfig3d + skipMpegh3daDecoderConfig(data, numSignals, sbrRatioIndex); // decoderConfig + + if (data.readBit()) { // usacConfigExtensionPresent + // Mpegh3daConfigExtension + int numConfigExtensions = readEscapedIntValue(data, 2, 4, 8) + 1; + for (int confExtIdx = 0; confExtIdx < numConfigExtensions; confExtIdx++) { + int usacConfigExtType = readEscapedIntValue(data, 4, 8, 16); + int usacConfigExtLength = readEscapedIntValue(data, 4, 8, 16); + + if (usacConfigExtType == 7 /* ID_CONFIG_EXT_COMPATIBLE_PROFILELVL_SET */) { + int numCompatibleSets = data.readBits(4) + 1; + data.skipBits(4); // reserved + compatibleProfileLevelSet = new byte[numCompatibleSets]; + for (int idx = 0; idx < numCompatibleSets; idx++) { + compatibleProfileLevelSet[idx] = (byte) data.readBits(8); + } + } else { + data.skipBits(C.BITS_PER_BYTE * usacConfigExtLength); + } + } + } + + // Get the resampling ratio and adjust the samplingFrequency and the standardFrameSamples + // accordingly. + double resamplingRatio = getResamplingRatio(usacSamplingFrequency); + int samplingFrequency = (int) (usacSamplingFrequency * resamplingRatio); + int standardFrameLength = (int) (outputFrameLength * resamplingRatio); + + return new Mpegh3daConfig( + profileLevelIndication, samplingFrequency, standardFrameLength, compatibleProfileLevelSet); + } + + /** + * Obtains the sampling rate of the current MPEG-H frame. See ISO_IEC_23003-3;2020, 6.1.1.1, Table + * 72. + * + * @param index The samplingFrequencyIndex which determines the sampling frequency. + * @return The sampling frequency. + * @throws ParserException if sampling frequency could not be obtained. + */ + private static int getSamplingFrequency(int index) throws ParserException { + switch (index) { + case 0: + return 96_000; + case 1: + return 88_200; + case 2: + return 64_000; + case 3: + return 48_000; + case 4: + return 44_100; + case 5: + return 32_000; + case 6: + return 24_000; + case 7: + return 22_050; + case 8: + return 16_000; + case 9: + return 12_000; + case 10: + return 11_025; + case 11: + return 8_000; + case 12: + return 7350; + case 15: + return 57_600; + case 16: + return 51_200; + case 17: + return 40_000; + case 18: + return 38_400; + case 19: + return 34_150; + case 20: + return 28_800; + case 21: + return 25_600; + case 22: + return 20_000; + case 23: + return 19_200; + case 24: + return 17_075; + case 25: + return 14_400; + case 26: + return 12_800; + case 27: + return 9_600; + default: + throw ParserException.createForUnsupportedContainerFeature( + "Unsupported sampling rate index " + index); + } + } + + /** + * Obtains the number of truncated samples of the AudioTruncationInfo from an MPEG-H bit stream. + * See ISO_IEC_23008-3;2022, 14.2.2, Table 225. The reading position of {@code data} will be + * modified to be just after the end of the AudioTruncation packet payload. + * + * @param data The data to parse, positioned at the start of the payload of an AudioTruncation + * packet. + * @return The number of truncated samples. + */ + public static int parseAudioTruncationInfo(ParsableBitArray data) { + if (data.readBit()) { // isActive + data.skipBits(2); // reserved(1), truncFromBegin(1) + return data.readBits(13); + } + return 0; + } + + /** + * Skips the SpeakerConfig3d from an MPEG-H bit stream. See ISO_IEC_23008-3;2022, 5.2.2.2, Table + * 18. The reading position of {@code data} will be modified to be just after the end of the + * SpeakerConfig3d field. + * + * @param data The data to parse, positioned at the start of the SpeakerConfig3d field. + */ + private static void skipSpeakerConfig3d(ParsableBitArray data) { + int speakerLayoutType = data.readBits(2); + if (speakerLayoutType == 0) { + data.skipBits(6); // cicpSpeakerLayoutIdx + return; + } + + int numberOfSpeakers = readEscapedIntValue(data, 5, 8, 16) + 1; + if (speakerLayoutType == 1) { + data.skipBits(7 * numberOfSpeakers); // cicpSpeakerIdx per speaker + } else if (speakerLayoutType == 2) { + skipMpegh3daFlexibleSpeakerConfig(data, numberOfSpeakers); + } + } + + /** + * Skips the mpegh3daFlexibleSpeakerConfig from an MPEG-H bit stream. See ISO_IEC_23008-3;2022, + * 5.2.2.2, Table 19. The reading position of {@code data} will be modified to be just after the + * end of the Mpegh3daFlexibleSpeakerConfig field. + * + * @param data The data to parse, positioned at the start of the Mpegh3daFlexibleSpeakerConfig + * field. + */ + private static void skipMpegh3daFlexibleSpeakerConfig( + ParsableBitArray data, int numberOfSpeakers) { + boolean angularPrecision = data.readBit(); + int angularPrecisionDegrees = angularPrecision ? 1 : 5; + int elevationAngleBits = angularPrecision ? 7 : 5; + int azimuthAngleBits = angularPrecision ? 8 : 6; + + // Mpegh3daSpeakerDescription array + for (int i = 0; i < numberOfSpeakers; i++) { + int azimuthAngle = 0; + if (data.readBit()) { // isCICPspeakerIdx + data.skipBits(7); // cicpSpeakerIdx + } else { + int elevationClass = data.readBits(2); + if (elevationClass == 3) { + int elevationAngleIdx = data.readBits(elevationAngleBits); + int elevationAngle = elevationAngleIdx * angularPrecisionDegrees; + if (elevationAngle != 0) { + data.skipBit(); // elevationDirection + } + } + int azimuthAngleIdx = data.readBits(azimuthAngleBits); + azimuthAngle = azimuthAngleIdx * angularPrecisionDegrees; + if ((azimuthAngle != 0) && (azimuthAngle != 180)) { + data.skipBit(); // azimuthDirection + } + data.skipBit(); // isLFE + } + + if ((azimuthAngle != 0) && (azimuthAngle != 180)) { + if (data.readBit()) { // alsoAddSymmetricPair + i++; + } + } + } + } + + /** + * Obtains the necessary info of Signals3d from an MPEG-H bit stream. See ISO_IEC_23008-3;2022, + * 5.2.2.1, Table 17. The reading position of {@code data} will be modified to be just after the + * end of the Signals3d field. + * + * @param data The data to parse, positioned at the start of the Signals3d field. + * @return The number of overall signals in the bit stream. + */ + private static int parseSignals3d(ParsableBitArray data) { + int numberOfSignals = 0; + int numberOfSignalGroupsInBitstream = data.readBits(5); + + for (int grp = 0; grp < numberOfSignalGroupsInBitstream + 1; grp++) { + int signalGroupType = data.readBits(3); + int bsNumberOfSignals = readEscapedIntValue(data, 5, 8, 16); + + numberOfSignals += bsNumberOfSignals + 1; + if (signalGroupType == 0 /*SignalGroupTypeChannels*/ + || signalGroupType == 2 /*SignalGroupTypeSAOC*/) { + if (data.readBit()) { // differsFromReferenceLayout OR saocDmxLayoutPresent + skipSpeakerConfig3d(data); // audioChannelLayout[grp] OR saocDmxChannelLayout + } + } + } + return numberOfSignals; + } + + /** + * Skips the Mpegh3daDecoderConfig from an MPEG-H bit stream. See ISO_IEC_23008-3;2022, 5.2.2.3, + * Table 21. The reading position of {@code data} will be modified to be just after the end of the + * Mpegh3daDecoderConfig field. + * + * @param data The data to parse, positioned at the start of the Mpegh3daDecoderConfig field. + * @param numSignals The number of overall signals. + * @param sbrRatioIndex The SBR ration index. + */ + private static void skipMpegh3daDecoderConfig( + ParsableBitArray data, int numSignals, int sbrRatioIndex) { + + int numElements = readEscapedIntValue(data, 4, 8, 16) + 1; + data.skipBit(); // elementLengthPresent + + for (int elemIdx = 0; elemIdx < numElements; elemIdx++) { + int usacElementType = data.readBits(2); + + switch (usacElementType) { + case 0 /*ID_USAC_SCE*/: + parseMpegh3daCoreConfig(data); // coreConfig + if (sbrRatioIndex > 0) { + skipSbrConfig(data); // sbrConfig + } + break; + case 1 /*ID_USAC_CPE*/: + boolean enhancedNoiseFilling = parseMpegh3daCoreConfig(data); // coreConfig + if (enhancedNoiseFilling) { + data.skipBit(); // igfIndependentTiling + } + int stereoConfigIndex = 0; + if (sbrRatioIndex > 0) { + skipSbrConfig(data); // sbrConfig + stereoConfigIndex = data.readBits(2); + } + if (stereoConfigIndex > 0) { + // mps212Config + data.skipBits(6); // bsFreqRes(3), bsFixedGainDMX(3), + int bsTempShapeConfig = data.readBits(2); + data.skipBits(4); // bsDecorrConfig(2), bsHighRateMode(1), bsPhaseCoding(1) + if (data.readBit()) { // bsOttBandsPhasePresent + data.skipBits(5); // bsOttBandsPhase + } + if (stereoConfigIndex == 2 || stereoConfigIndex == 3) { + data.skipBits(6); // bsResidualBands(5), bsPseudoLr(1) + } + if (bsTempShapeConfig == 2) { + data.skipBit(); // bsEnvQuantMode + } + } + + int nBits = (int) Math.floor(Math.log(numSignals - 1) / Math.log(2.0)) + 1; + int qceIndex = data.readBits(2); + if (qceIndex > 0) { + if (data.readBit()) { // shiftIndex0 + data.skipBits(nBits); // shiftChannel0 + } + } + if (data.readBit()) { // shiftIndex1 + data.skipBits(nBits); // shiftChannel1 + } + if (sbrRatioIndex == 0 && qceIndex == 0) { + data.skipBit(); // lpdStereoIndex + } + break; + case 3 /*ID_USAC_EXT*/: + readEscapedIntValue(data, 4, 8, 16); // usacExtElementType + int usacExtElementConfigLength = readEscapedIntValue(data, 4, 8, 16); + + if (data.readBit()) { // usacExtElementDefaultLengthPresent + readEscapedIntValue(data, 8, 16, 0) /* +1 */; // usacExtElementDefaultLength + } + data.skipBit(); // usacExtElementPayloadFrag + + if (usacExtElementConfigLength > 0) { + data.skipBits(8 * usacExtElementConfigLength); + } + break; + default: + break; + } + } + } + + /** + * Obtains the necessary info of the Mpegh3daCoreConfig from an MPEG-H bit stream. See + * ISO_IEC_23008-3;2022, 5.2.2.3, Table 24. The reading position of {@code data} will be modified + * to be just after the end of the Mpegh3daCoreConfig field. + * + * @param data The data to parse, positioned at the start of the Mpegh3daCoreConfig field. + * @return The enhanced noise filling flag. + */ + private static boolean parseMpegh3daCoreConfig(ParsableBitArray data) { + data.skipBits(3); // tw_mdct(1), fullbandLpd(1), noiseFilling(1) + boolean enhancedNoiseFilling = data.readBit(); + if (enhancedNoiseFilling) { + // igfUseEnf(1), igfUseHighRes(1), igfUseWhitening(1), igfAfterTnsSynth(1), igfStartIndex(5), + // igfStopIndex(4) + data.skipBits(13); + } + return enhancedNoiseFilling; + } + + /** + * Skips the SbrConfig from an MPEG-H bit stream. See ISO_IEC_23003-3;2020, 5.2, Table 14. The + * reading position of {@code data} will be modified. + * + * @param data The data to parse, positioned at the start of the SbrConfig field. + */ + private static void skipSbrConfig(ParsableBitArray data) { + data.skipBits(3); // harmonicSBR(1), bs_interTes(1), bs_pvc(1) + data.skipBits(8); // dflt_start_freq(4), dflt_stop_freq(4) + boolean dfltHeaderExtra1 = data.readBit(); + boolean dfltHeaderExtra2 = data.readBit(); + if (dfltHeaderExtra1) { + data.skipBits(5); // dflt_freq_scale(2), dflt_alter_scale(1), dflt_noise_bands(2) + } + if (dfltHeaderExtra2) { + // dflt_limiter_bands(2), dflt_limiter_gains(2), dflt_interpol_freq(1), dflt_smoothing_mode(1) + data.skipBits(6); + } + } + + /** + * Obtains an escaped value (up to {@link Integer#MAX_VALUE}) from an MPEG-H bit stream. + * + *

See ISO_IEC_23003-3;2020, 5.2, Table 19. + * + *

The reading position of {@code data} will be modified to be just after the end of the + * escaped value. + * + * @param data The data to parse, positioned at the start of the escaped value. + * @param bits1 number of bits to be parsed. + * @param bits2 number of bits to be parsed. + * @param bits3 number of bits to be parsed. + * @return The escaped integer value or -1 if end of the {@code data} is reached before fully + * reading the value. + * @throws IllegalArgumentException if {@code bits1}, {@code bits2} and {@code bits3} could result + * in reading a value greater than {@link Integer#MAX_VALUE}. + */ + private static int readEscapedIntValue(ParsableBitArray data, int bits1, int bits2, int bits3) { + // Ensure that the calculated value will fit within the range of a Java {@code int}. + int maxBitCount = Math.max(Math.max(bits1, bits2), bits3); + checkArgument(maxBitCount <= Integer.SIZE - 1); + // Result is intentionally unused, checking if the operation causes overflow + int unused = + IntMath.checkedAdd(IntMath.checkedAdd((1 << bits1) - 1, (1 << bits2) - 1), (1 << bits3)); + + if (data.bitsLeft() < bits1) { + return -1; + } + + int value = data.readBits(bits1); + if (value == (1 << bits1) - 1) { + if (data.bitsLeft() < bits2) { + return -1; + } + int valueAdd = data.readBits(bits2); + value += valueAdd; + + if (valueAdd == (1 << bits2) - 1) { + if (data.bitsLeft() < bits3) { + return -1; + } + valueAdd = data.readBits(bits3); + value += valueAdd; + } + } + return value; + } + + /** + * Obtains an escaped value (up to {@link Long#MAX_VALUE}) from an MPEG-H bit stream. + * + *

See ISO_IEC_23003-3;2020, 5.2, Table 19. + * + *

The reading position of {@code data} will be modified to be just after the end of the + * escaped value. + * + * @param data The data to parse, positioned at the start of the escaped value. + * @param bits1 number of bits to be parsed. + * @param bits2 number of bits to be parsed. + * @param bits3 number of bits to be parsed. + * @return The escaped long value or -1 if end of the {@code data} is reached before fully reading + * the value. + * @throws IllegalArgumentException if {@code bits1}, {@code bits2} and {@code bits3} could result + * in reading a value greater than {@link Long#MAX_VALUE}. + */ + private static long readEscapedLongValue(ParsableBitArray data, int bits1, int bits2, int bits3) { + // Ensure that the calculated value will fit within the range of a Java {@code long}. + int maxBitCount = Math.max(Math.max(bits1, bits2), bits3); + checkArgument(maxBitCount <= Long.SIZE - 1); + // Result is intentionally unused, checking if the operation causes overflow + long unused = + LongMath.checkedAdd( + LongMath.checkedAdd((1L << bits1) - 1, (1L << bits2) - 1), (1L << bits3)); + + if (data.bitsLeft() < bits1) { + return -1; + } + + long value = data.readBitsToLong(bits1); + if (value == (1L << bits1) - 1) { + if (data.bitsLeft() < bits2) { + return -1; + } + + long valueAdd = data.readBitsToLong(bits2); + value += valueAdd; + + if (valueAdd == (1L << bits2) - 1) { + if (data.bitsLeft() < bits3) { + return -1; + } + + valueAdd = data.readBitsToLong(bits3); + value += valueAdd; + } + } + return value; + } + + private MpeghUtil() {} + + /** + * Represents the header of an MHAS (MPEG-H 3D Audio System) packet. This header provides + * essential information to identify and parse the packet's contents. + */ + public static class MhasPacketHeader { + + /** MHAS packet types. See ISO_IEC_23008-3;2022, 14.4. */ + @Documented + @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) + @IntDef({ + PACTYP_FILLDATA, + PACTYP_MPEGH3DACFG, + PACTYP_MPEGH3DAFRAME, + PACTYP_AUDIOSCENEINFO, + PACTYP_SYNC, + PACTYP_SYNCGAP, + PACTYP_MARKER, + PACTYP_CRC16, + PACTYP_CRC32, + PACTYP_DESCRIPTOR, + PACTYP_USERINTERACTION, + PACTYP_LOUDNESS_DRC, + PACTYP_BUFFERINFO, + PACTYP_GLOBAL_CRC16, + PACTYP_GLOBAL_CRC32, + PACTYP_AUDIOTRUNCATION, + PACTYP_GENDATA, + PACTYPE_EARCON, + PACTYPE_PCMCONFIG, + PACTYPE_PCMDATA, + PACTYP_LOUDNESS + }) + public @interface Type {} + + public static final int PACTYP_FILLDATA = 0; + public static final int PACTYP_MPEGH3DACFG = 1; + public static final int PACTYP_MPEGH3DAFRAME = 2; + public static final int PACTYP_AUDIOSCENEINFO = 3; + public static final int PACTYP_SYNC = 6; + public static final int PACTYP_SYNCGAP = 7; + public static final int PACTYP_MARKER = 8; + public static final int PACTYP_CRC16 = 9; + public static final int PACTYP_CRC32 = 10; + public static final int PACTYP_DESCRIPTOR = 11; + public static final int PACTYP_USERINTERACTION = 12; + public static final int PACTYP_LOUDNESS_DRC = 13; + public static final int PACTYP_BUFFERINFO = 14; + public static final int PACTYP_GLOBAL_CRC16 = 15; + public static final int PACTYP_GLOBAL_CRC32 = 16; + public static final int PACTYP_AUDIOTRUNCATION = 17; + public static final int PACTYP_GENDATA = 18; + public static final int PACTYPE_EARCON = 19; + public static final int PACTYPE_PCMCONFIG = 20; + public static final int PACTYPE_PCMDATA = 21; + public static final int PACTYP_LOUDNESS = 22; + + /** The payload type in the actual packet. */ + public @Type int packetType; + + /** A label indicating which packets belong together. */ + public long packetLabel; + + /** The length of MHAS packet payload in bytes. */ + public int packetLength; + } + + /** Represents an MPEG-H 3D audio configuration. */ + public static class Mpegh3daConfig { + + /** The MPEG-H 3D audio profile and level indication. */ + public final int profileLevelIndication; + + /** The sampling frequency of the MPEG-H 3D Audio stream. */ + public final int samplingFrequency; + + /** The standard frame length in samples. */ + public final int standardFrameLength; + + /** + * A list of MPEG-H 3D audio profile-level set that are compatible with the current + * configuration. + */ + @Nullable public final byte[] compatibleProfileLevelSet; + + private Mpegh3daConfig( + int profileLevelIndication, + int samplingFrequency, + int standardFrameLength, + @Nullable byte[] compatibleProfileLevelSet) { + this.profileLevelIndication = profileLevelIndication; + this.samplingFrequency = samplingFrequency; + this.standardFrameLength = standardFrameLength; + this.compatibleProfileLevelSet = compatibleProfileLevelSet; + } + } +} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java index b4dbd033d6..53cea741cd 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java @@ -135,6 +135,7 @@ public final class TsExtractor implements Extractor { public static final int TS_STREAM_TYPE_H263 = 0x10; // MPEG-4 Part 2 and H.263 public static final int TS_STREAM_TYPE_H264 = 0x1B; public static final int TS_STREAM_TYPE_H265 = 0x24; + public static final int TS_STREAM_TYPE_MHAS = 0x2D; public static final int TS_STREAM_TYPE_ID3 = 0x15; public static final int TS_STREAM_TYPE_SPLICE_INFO = 0x86; public static final int TS_STREAM_TYPE_DVBSUBS = 0x59; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/ts/TsExtractorTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/ts/TsExtractorTest.java index 1b30c3f412..2c1655f22a 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/ts/TsExtractorTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/ts/TsExtractorTest.java @@ -253,6 +253,118 @@ public final class TsExtractorTest { simulationConfig); } + @Test + public void sampleWithMpeghBlCicp1Single() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_cicp1_single.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Single() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_cicp1_single.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeSingle() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_configchange_single.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeSingle() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_configchange_single.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlCicp1Multi() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_cicp1_multi.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Multi() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_cicp1_multi.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeMulti() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_configchange_multi.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeMulti() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_configchange_multi.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlCicp1Cont() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_cicp1_cont.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Cont() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_cicp1_cont.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeCont() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_configchange_cont.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeCont() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_lcbl_configchange_cont.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlContSetRaiUnsetDai() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts", + simulationConfig); + } + + @Test + public void sampleWithMpeghBlContSplitHeader() throws Exception { + ExtractorAsserts.assertBehavior( + getExtractorFactory(subtitlesParsedDuringExtraction), + "media/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts", + simulationConfig); + } + @Test public void customPesReader() throws Exception { CustomTsPayloadReaderFactory factory = new CustomTsPayloadReaderFactory(true, false); diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.0.dump new file mode 100644 index 0000000000..26777c7a16 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106667 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170667 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234667 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298667 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426667 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.1.dump new file mode 100644 index 0000000000..5fdd308537 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.1.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.2.dump new file mode 100644 index 0000000000..5fdd308537 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.2.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.3.dump new file mode 100644 index 0000000000..18dc3d7ebb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.unknown_length.dump new file mode 100644 index 0000000000..03b5c58259 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont.ts.unknown_length.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106667 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170667 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234667 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298667 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426667 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.0.dump new file mode 100644 index 0000000000..039faf8cff --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 567011 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(283505) = [[timeUs=283505, position=35264]] + getPosition(567011) = [[timeUs=567011, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 2717 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 337, hash 84E728C1 + sample 1: + time = 21333 + flags = 0 + data = length 89, hash 64104580 + sample 2: + time = 42666 + flags = 0 + data = length 102, hash 845EBE43 + sample 3: + time = 64000 + flags = 0 + data = length 110, hash 38545FDF + sample 4: + time = 85333 + flags = 0 + data = length 101, hash D3216774 + sample 5: + time = 106666 + flags = 0 + data = length 96, hash E5096A84 + sample 6: + time = 127999 + flags = 0 + data = length 95, hash 514E63BF + sample 7: + time = 149333 + flags = 0 + data = length 90, hash F45706D3 + sample 8: + time = 170666 + flags = 0 + data = length 89, hash B219E93F + sample 9: + time = 191999 + flags = 0 + data = length 89, hash 9D90394 + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 9D7A1584 + sample 11: + time = 234666 + flags = 0 + data = length 83, hash 6E0457B0 + sample 12: + time = 256000 + flags = 0 + data = length 82, hash 5972B44D + sample 13: + time = 277333 + flags = 0 + data = length 82, hash 6639E113 + sample 14: + time = 298667 + flags = 0 + data = length 80, hash B550B518 + sample 15: + time = 320000 + flags = 0 + data = length 82, hash 73F61B02 + sample 16: + time = 341333 + flags = 0 + data = length 81, hash CA4029EB + sample 17: + time = 362666 + flags = 0 + data = length 78, hash 6C216053 + sample 18: + time = 383999 + flags = 0 + data = length 79, hash 25933965 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 5057B59B + sample 20: + time = 426666 + flags = 0 + data = length 77, hash 1209F544 + sample 21: + time = 447999 + flags = 0 + data = length 79, hash 8F79706F + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 5057B592 + sample 23: + time = 490666 + flags = 0 + data = length 77, hash 1209F545 + sample 24: + time = 512000 + flags = 0 + data = length 79, hash 8F79705D + sample 25: + time = 533333 + flags = 0 + data = length 81, hash D05E7A84 + sample 26: + time = 554666 + flags = 0 + data = length 76, hash 7C69C79 + sample 27: + time = 576000 + flags = 0 + data = length 85, hash 968BAF7A + sample 28: + time = 597333 + flags = 0 + data = length 75, hash 69A79E91 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.1.dump new file mode 100644 index 0000000000..27c35eb1c2 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.1.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 567011 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(283505) = [[timeUs=283505, position=35264]] + getPosition(567011) = [[timeUs=567011, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.2.dump new file mode 100644 index 0000000000..27c35eb1c2 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.2.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 567011 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(283505) = [[timeUs=283505, position=35264]] + getPosition(567011) = [[timeUs=567011, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.3.dump new file mode 100644 index 0000000000..27c35eb1c2 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 567011 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(283505) = [[timeUs=283505, position=35264]] + getPosition(567011) = [[timeUs=567011, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.unknown_length.dump new file mode 100644 index 0000000000..5b9588c73f --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts.unknown_length.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2717 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 337, hash 84E728C1 + sample 1: + time = 21333 + flags = 0 + data = length 89, hash 64104580 + sample 2: + time = 42666 + flags = 0 + data = length 102, hash 845EBE43 + sample 3: + time = 64000 + flags = 0 + data = length 110, hash 38545FDF + sample 4: + time = 85333 + flags = 0 + data = length 101, hash D3216774 + sample 5: + time = 106666 + flags = 0 + data = length 96, hash E5096A84 + sample 6: + time = 127999 + flags = 0 + data = length 95, hash 514E63BF + sample 7: + time = 149333 + flags = 0 + data = length 90, hash F45706D3 + sample 8: + time = 170666 + flags = 0 + data = length 89, hash B219E93F + sample 9: + time = 191999 + flags = 0 + data = length 89, hash 9D90394 + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 9D7A1584 + sample 11: + time = 234666 + flags = 0 + data = length 83, hash 6E0457B0 + sample 12: + time = 256000 + flags = 0 + data = length 82, hash 5972B44D + sample 13: + time = 277333 + flags = 0 + data = length 82, hash 6639E113 + sample 14: + time = 298667 + flags = 0 + data = length 80, hash B550B518 + sample 15: + time = 320000 + flags = 0 + data = length 82, hash 73F61B02 + sample 16: + time = 341333 + flags = 0 + data = length 81, hash CA4029EB + sample 17: + time = 362666 + flags = 0 + data = length 78, hash 6C216053 + sample 18: + time = 383999 + flags = 0 + data = length 79, hash 25933965 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 5057B59B + sample 20: + time = 426666 + flags = 0 + data = length 77, hash 1209F544 + sample 21: + time = 447999 + flags = 0 + data = length 79, hash 8F79706F + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 5057B592 + sample 23: + time = 490666 + flags = 0 + data = length 77, hash 1209F545 + sample 24: + time = 512000 + flags = 0 + data = length 79, hash 8F79705D + sample 25: + time = 533333 + flags = 0 + data = length 81, hash D05E7A84 + sample 26: + time = 554666 + flags = 0 + data = length 76, hash 7C69C79 + sample 27: + time = 576000 + flags = 0 + data = length 85, hash 968BAF7A + sample 28: + time = 597333 + flags = 0 + data = length 75, hash 69A79E91 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.0.dump new file mode 100644 index 0000000000..b4f62bba30 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.1.dump new file mode 100644 index 0000000000..cba6c772ec --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.1.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.2.dump new file mode 100644 index 0000000000..cba6c772ec --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.2.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.3.dump new file mode 100644 index 0000000000..1de3d72dbc --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.unknown_length.dump new file mode 100644 index 0000000000..5946cf31c1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts.unknown_length.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.0.dump new file mode 100644 index 0000000000..3eb50b4910 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 127999 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 191999 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 447999 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.1.dump new file mode 100644 index 0000000000..eceb3380e1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.1.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.2.dump new file mode 100644 index 0000000000..eceb3380e1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.2.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.3.dump new file mode 100644 index 0000000000..cf1b4867de --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.unknown_length.dump new file mode 100644 index 0000000000..2b3e089279 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_multi.ts.unknown_length.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 127999 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 191999 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 447999 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554667 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.0.dump new file mode 100644 index 0000000000..b4f62bba30 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.0.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.1.dump new file mode 100644 index 0000000000..cba6c772ec --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.1.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.2.dump new file mode 100644 index 0000000000..cba6c772ec --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.2.dump @@ -0,0 +1,37 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 609 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 2: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.3.dump new file mode 100644 index 0000000000..1de3d72dbc --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.unknown_length.dump new file mode 100644 index 0000000000..5946cf31c1 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_cicp1_single.ts.unknown_length.dump @@ -0,0 +1,130 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 335, hash E6334A80 + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash FB7243AF + sample 13: + time = 277333 + flags = 0 + data = length 80, hash 284BFE1 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash CB614574 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash F97A6A30 + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB636 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C7 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0CD + sample 21: + time = 448000 + flags = 0 + data = length 78, hash 8BA25136 + sample 22: + time = 469333 + flags = 0 + data = length 79, hash 4FEDABA0 + sample 23: + time = 490666 + flags = 0 + data = length 82, hash 7C80BC82 + sample 24: + time = 512000 + flags = 1 + data = length 320, hash 58EEA8F6 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash 7349D247 + sample 26: + time = 554666 + flags = 0 + data = length 77, hash 73C5B274 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1A8 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash E441B6B8 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.0.dump new file mode 100644 index 0000000000..6331d45623 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.0.dump @@ -0,0 +1,375 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106667 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170667 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 255999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 319999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 383999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194667 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.1.dump new file mode 100644 index 0000000000..80a270d4a8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.1.dump @@ -0,0 +1,254 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33598 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 1: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 2: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 7: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 8: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 13: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 21: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 22: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE90 + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 28: + time = 1194667 + flags = 0 + data = length 733, hash 5199F868 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.2.dump new file mode 100644 index 0000000000..640cb9f9da --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.2.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13976 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.3.dump new file mode 100644 index 0000000000..d3b657ed0d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.unknown_length.dump new file mode 100644 index 0000000000..6968e9c75a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_cont.ts.unknown_length.dump @@ -0,0 +1,372 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106667 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170667 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 255999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 319999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 383999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194667 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.0.dump new file mode 100644 index 0000000000..184a2b6a8d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.0.dump @@ -0,0 +1,375 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 127999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 191999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362667 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746667 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 831999 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 895999 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.1.dump new file mode 100644 index 0000000000..61ed15edb9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.1.dump @@ -0,0 +1,254 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33598 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 1: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 2: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 4: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD544 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 7: + time = 746667 + flags = 0 + data = length 616, hash B059E5F3 + sample 8: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 831999 + flags = 0 + data = length 658, hash D480782F + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 13: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 14: + time = 895999 + flags = 0 + data = length 657, hash ABB26E68 + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 21: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 22: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 26: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 28: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.2.dump new file mode 100644 index 0000000000..1eaddbe905 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.2.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13976 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.3.dump new file mode 100644 index 0000000000..e06e0fac83 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.unknown_length.dump new file mode 100644 index 0000000000..07eb8f0ad3 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_multi.ts.unknown_length.dump @@ -0,0 +1,372 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 127999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 191999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362667 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618667 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746667 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 831999 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 895999 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.0.dump new file mode 100644 index 0000000000..d78191aea8 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.0.dump @@ -0,0 +1,375 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.1.dump new file mode 100644 index 0000000000..8b6772d843 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.1.dump @@ -0,0 +1,254 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33598 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 1: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 2: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 7: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 8: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 13: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 21: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 22: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 28: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.2.dump new file mode 100644 index 0000000000..08b70e594e --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.2.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13976 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 0: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.3.dump new file mode 100644 index 0000000000..d3b657ed0d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.3.dump @@ -0,0 +1,17 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.unknown_length.dump new file mode 100644 index 0000000000..91883b87a9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_bl_configchange_single.ts.unknown_length.dump @@ -0,0 +1,372 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.10 + sampleRate = 48000 + sample 0: + time = 0 + flags = 1 + data = length 485, hash 8E663C03 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 153, hash CC86912D + sample 22: + time = 469333 + flags = 0 + data = length 162, hash 577737FF + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 490, hash FD29BE27 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF637D + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A762E + sample 27: + time = 576000 + flags = 0 + data = length 154, hash E4D1CE2 + sample 28: + time = 597333 + flags = 0 + data = length 143, hash C1C83A77 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 29: + time = 600000 + flags = 1 + data = length 1278, hash 281C389B + sample 30: + time = 618666 + flags = 0 + data = length 611, hash 4D115F94 + sample 31: + time = 640000 + flags = 0 + data = length 656, hash 29F0A8C8 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215B3 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD544 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA7E + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215CE + sample 36: + time = 746666 + flags = 0 + data = length 616, hash B059E5F3 + sample 37: + time = 768000 + flags = 0 + data = length 657, hash 950B636D + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215D9 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480782F + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215B2 + sample 42: + time = 874666 + flags = 0 + data = length 650, hash A2B8C618 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash ABB26E68 + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215BC + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F8B7 + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F35 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1446, hash 57251DD3 + sample 50: + time = 1045333 + flags = 0 + data = length 543, hash AC12F41B + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE83 + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD63 + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE90 + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 774, hash 8C885DAD + sample 57: + time = 1194666 + flags = 0 + data = length 733, hash 5199F868 + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.11 + sampleRate = 48000 + sample 58: + time = 1200000 + flags = 1 + data = length 914, hash B404D154 + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 422, hash DE1E83F5 + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 814, hash 39B338CB + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 423, hash 390144EE + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.0.dump new file mode 100644 index 0000000000..472ff92dcf --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.0.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106667 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170667 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234667 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298667 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426667 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.1.dump new file mode 100644 index 0000000000..b74486a031 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.1.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.2.dump new file mode 100644 index 0000000000..b74486a031 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.2.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.3.dump new file mode 100644 index 0000000000..1fab9157ca --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35264]] + getPosition(564000) = [[timeUs=564000, position=70716]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.unknown_length.dump new file mode 100644 index 0000000000..460bebafaf --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_cont.ts.unknown_length.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106667 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170667 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234667 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298667 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426667 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.0.dump new file mode 100644 index 0000000000..4725da74ca --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.0.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 127999 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 191999 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 447999 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.1.dump new file mode 100644 index 0000000000..0f50b41355 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.1.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.2.dump new file mode 100644 index 0000000000..0f50b41355 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.2.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.3.dump new file mode 100644 index 0000000000..3f9ddc6deb --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 564000 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(282000) = [[timeUs=282000, position=35353]] + getPosition(564000) = [[timeUs=564000, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.unknown_length.dump new file mode 100644 index 0000000000..71b6c10397 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_multi.ts.unknown_length.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42667 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 127999 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 191999 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362667 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 447999 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554667 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.0.dump new file mode 100644 index 0000000000..f95411bdd7 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.0.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.1.dump new file mode 100644 index 0000000000..4b6dcc5c3b --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.1.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.2.dump new file mode 100644 index 0000000000..4b6dcc5c3b --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.2.dump @@ -0,0 +1,40 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 613 + sample count = 5 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 1: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 2: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 3: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 4: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.3.dump new file mode 100644 index 0000000000..4ae27d88c6 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 589566 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(294783) = [[timeUs=294783, position=35353]] + getPosition(589566) = [[timeUs=589566, position=70894]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.unknown_length.dump new file mode 100644 index 0000000000..cc6fe0abb0 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_cicp1_single.ts.unknown_length.dump @@ -0,0 +1,133 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 2837 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 338, hash CF711ADC + sample 1: + time = 21333 + flags = 0 + data = length 85, hash 8EFCDF36 + sample 2: + time = 42666 + flags = 0 + data = length 98, hash BC03FE8A + sample 3: + time = 64000 + flags = 0 + data = length 105, hash 9FBA3169 + sample 4: + time = 85333 + flags = 0 + data = length 93, hash BD1CBC0E + sample 5: + time = 106666 + flags = 0 + data = length 93, hash C0B46623 + sample 6: + time = 128000 + flags = 0 + data = length 91, hash E4CA8D5 + sample 7: + time = 149333 + flags = 0 + data = length 82, hash EB64F3A8 + sample 8: + time = 170666 + flags = 0 + data = length 83, hash 97803527 + sample 9: + time = 192000 + flags = 0 + data = length 82, hash 5972B44D + sample 10: + time = 213333 + flags = 0 + data = length 81, hash 3D9C7710 + sample 11: + time = 234666 + flags = 0 + data = length 77, hash 27B26E3D + sample 12: + time = 256000 + flags = 0 + data = length 79, hash A0154CE2 + sample 13: + time = 277333 + flags = 0 + data = length 80, hash E37A5065 + sample 14: + time = 298666 + flags = 0 + data = length 78, hash 8F24DBB3 + sample 15: + time = 320000 + flags = 0 + data = length 77, hash CD76338B + sample 16: + time = 341333 + flags = 0 + data = length 78, hash 653631D3 + sample 17: + time = 362666 + flags = 0 + data = length 76, hash FCDBFDFB + sample 18: + time = 384000 + flags = 0 + data = length 56, hash E05FB637 + sample 19: + time = 405333 + flags = 0 + data = length 81, hash 2B2350C8 + sample 20: + time = 426666 + flags = 0 + data = length 79, hash DFF1D0D9 + sample 21: + time = 448000 + flags = 0 + data = length 70, hash FB797ACC + sample 22: + time = 469333 + flags = 0 + data = length 81, hash 3B32D906 + sample 23: + time = 490666 + flags = 0 + data = length 81, hash 590B7E40 + sample 24: + time = 512000 + flags = 1 + data = length 323, hash F3C25326 + sample 25: + time = 533333 + flags = 0 + data = length 77, hash F3A2DCC5 + sample 26: + time = 554666 + flags = 0 + data = length 78, hash D9DD04A0 + sample 27: + time = 576000 + flags = 0 + data = length 65, hash 622B1D3 + sample 28: + time = 597333 + flags = 0 + data = length 70, hash CE3E092E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.0.dump new file mode 100644 index 0000000000..c370a424e9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.0.dump @@ -0,0 +1,384 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106667 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170667 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 255999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 319999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 383999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194667 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.1.dump new file mode 100644 index 0000000000..036f9779fa --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.1.dump @@ -0,0 +1,260 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33589 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 1: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 2: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 7: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 8: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 13: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 21: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 22: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE8A + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 28: + time = 1194667 + flags = 0 + data = length 744, hash 6725112B + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.2.dump new file mode 100644 index 0000000000..f1fe1044bf --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.2.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13960 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.3.dump new file mode 100644 index 0000000000..af20138024 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.unknown_length.dump new file mode 100644 index 0000000000..903b77201c --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_cont.ts.unknown_length.dump @@ -0,0 +1,381 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106667 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170667 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 255999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 319999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 383999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130667 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194667 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.0.dump new file mode 100644 index 0000000000..4244b6d155 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.0.dump @@ -0,0 +1,384 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 127999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 191999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362667 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746667 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 831999 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 895999 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.1.dump new file mode 100644 index 0000000000..b3b0cddfd5 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.1.dump @@ -0,0 +1,260 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33589 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 1: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 2: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 4: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD547 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 7: + time = 746667 + flags = 0 + data = length 613, hash ECA1FB91 + sample 8: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 831999 + flags = 0 + data = length 658, hash D480784A + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 13: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 14: + time = 895999 + flags = 0 + data = length 657, hash A204D6AF + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 21: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 22: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 26: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 28: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.2.dump new file mode 100644 index 0000000000..c7f8039281 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.2.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13960 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.3.dump new file mode 100644 index 0000000000..12608b5867 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 1771711 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(885855) = [[timeUs=885855, position=106614]] + getPosition(1771711) = [[timeUs=1771711, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.unknown_length.dump new file mode 100644 index 0000000000..e06c74b735 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_multi.ts.unknown_length.dump @@ -0,0 +1,381 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42667 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 127999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 191999 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362667 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 447999 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554667 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618667 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682667 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746667 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 831999 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 895999 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066667 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1151999 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258667 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450667 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578667 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1663999 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1727999 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.0.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.0.dump new file mode 100644 index 0000000000..619a5fb5e9 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.0.dump @@ -0,0 +1,384 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.1.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.1.dump new file mode 100644 index 0000000000..7eb8d3ab7d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.1.dump @@ -0,0 +1,260 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 33589 + sample count = 58 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 1: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 2: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 3: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 4: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 5: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 6: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 7: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 8: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 9: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 10: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 11: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 12: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 13: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 14: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 15: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 16: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 17: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 18: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 19: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 20: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 21: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 22: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 23: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 24: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 25: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 26: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 27: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 28: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 30: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 31: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 32: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 33: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 34: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 35: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 36: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 37: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 38: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 39: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 40: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 41: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 42: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 43: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 44: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 45: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 46: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 47: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 48: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 49: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 50: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 51: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 52: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 53: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 54: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 55: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 56: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 57: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.2.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.2.dump new file mode 100644 index 0000000000..ce3dfaef5a --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.2.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 13960 + sample count = 29 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 0: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 1: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 2: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 3: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 4: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 5: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 6: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 7: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 8: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 9: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 10: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 11: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 12: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 13: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 14: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 15: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 16: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 17: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 18: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 19: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 20: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 21: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 22: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 23: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 24: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 25: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 26: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 27: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 28: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.3.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.3.dump new file mode 100644 index 0000000000..af20138024 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.3.dump @@ -0,0 +1,20 @@ +seekMap: + isSeekable = true + duration = 1783744 + getPosition(0) = [[timeUs=0, position=0]] + getPosition(1) = [[timeUs=1, position=0]] + getPosition(891872) = [[timeUs=891872, position=106614]] + getPosition(1783744) = [[timeUs=1783744, position=213417]] +numberOfTracks = 1 +track 32: + total output bytes = 0 + sample count = 0 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.unknown_length.dump new file mode 100644 index 0000000000..5c4442490d --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/ts/sample_mpegh_lcbl_configchange_single.ts.unknown_length.dump @@ -0,0 +1,381 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 32: + total output bytes = 38778 + sample count = 87 + format 0: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0B + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 2F + sample 0: + time = 0 + flags = 1 + data = length 488, hash 1ED69C37 + sample 1: + time = 21333 + flags = 0 + data = length 164, hash 136B1B66 + sample 2: + time = 42666 + flags = 0 + data = length 158, hash A9289DCD + sample 3: + time = 64000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 4: + time = 85333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 5: + time = 106666 + flags = 0 + data = length 158, hash 22E84AF0 + sample 6: + time = 128000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 7: + time = 149333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 8: + time = 170666 + flags = 0 + data = length 158, hash BA6B7094 + sample 9: + time = 192000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 10: + time = 213333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 11: + time = 234666 + flags = 0 + data = length 158, hash A9289DCC + sample 12: + time = 256000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 13: + time = 277333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 14: + time = 298666 + flags = 0 + data = length 158, hash A9289DCD + sample 15: + time = 320000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 16: + time = 341333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 17: + time = 362666 + flags = 0 + data = length 158, hash 37B039B1 + sample 18: + time = 384000 + flags = 0 + data = length 164, hash 7E2368C3 + sample 19: + time = 405333 + flags = 0 + data = length 158, hash 10AC2CD4 + sample 20: + time = 426666 + flags = 0 + data = length 126, hash 78789B9C + sample 21: + time = 448000 + flags = 0 + data = length 151, hash 2E40B4B2 + sample 22: + time = 469333 + flags = 0 + data = length 163, hash 4E4CBFDD + sample 23: + time = 490666 + flags = 0 + data = length 160, hash 3BCD3677 + sample 24: + time = 512000 + flags = 1 + data = length 493, hash 5CB15E73 + sample 25: + time = 533333 + flags = 0 + data = length 143, hash 38DF6348 + sample 26: + time = 554666 + flags = 0 + data = length 120, hash 307A7619 + sample 27: + time = 576000 + flags = 0 + data = length 160, hash 85B40084 + sample 28: + time = 597333 + flags = 0 + data = length 141, hash C14F9501 + format 1: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 29: + time = 600000 + flags = 1 + data = length 1281, hash 9131BB91 + sample 30: + time = 618666 + flags = 0 + data = length 608, hash 1F8ADAAD + sample 31: + time = 640000 + flags = 0 + data = length 656, hash BAEB035 + sample 32: + time = 661333 + flags = 0 + data = length 640, hash 432215C9 + sample 33: + time = 682666 + flags = 0 + data = length 609, hash 5B7AD547 + sample 34: + time = 704000 + flags = 0 + data = length 658, hash A173EA78 + sample 35: + time = 725333 + flags = 0 + data = length 640, hash 432215C9 + sample 36: + time = 746666 + flags = 0 + data = length 613, hash ECA1FB91 + sample 37: + time = 768000 + flags = 0 + data = length 658, hash 6EC1708C + sample 38: + time = 789333 + flags = 0 + data = length 640, hash 432215C2 + sample 39: + time = 810666 + flags = 0 + data = length 641, hash 3246CD5C + sample 40: + time = 832000 + flags = 0 + data = length 658, hash D480784A + sample 41: + time = 853333 + flags = 0 + data = length 640, hash 432215D6 + sample 42: + time = 874666 + flags = 0 + data = length 647, hash C6E3E718 + sample 43: + time = 896000 + flags = 0 + data = length 657, hash A204D6AF + sample 44: + time = 917333 + flags = 0 + data = length 640, hash 432215D4 + sample 45: + time = 938666 + flags = 0 + data = length 663, hash 8A51F88A + sample 46: + time = 960000 + flags = 0 + data = length 657, hash 51796214 + sample 47: + time = 981333 + flags = 0 + data = length 641, hash F27D0F36 + sample 48: + time = 1002666 + flags = 0 + data = length 626, hash D84D4392 + sample 49: + time = 1024000 + flags = 1 + data = length 1449, hash 773492CA + sample 50: + time = 1045333 + flags = 0 + data = length 542, hash 2689A516 + sample 51: + time = 1066666 + flags = 0 + data = length 496, hash 7D75AE8C + sample 52: + time = 1088000 + flags = 0 + data = length 559, hash B248FD5C + sample 53: + time = 1109333 + flags = 0 + data = length 537, hash 2EEC4577 + sample 54: + time = 1130666 + flags = 0 + data = length 496, hash 7D75AE8A + sample 55: + time = 1152000 + flags = 0 + data = length 560, hash 77AD983C + sample 56: + time = 1173333 + flags = 0 + data = length 773, hash 4FA8BAEF + sample 57: + time = 1194666 + flags = 0 + data = length 744, hash 6725112B + format 2: + id = 1/32 + sampleMimeType = audio/mhm1 + codecs = mhm1.0C + sampleRate = 48000 + initializationData: + data = length 0, hash 1 + data = length 1, hash 30 + sample 58: + time = 1200000 + flags = 1 + data = length 917, hash 338496EB + sample 59: + time = 1216000 + flags = 0 + data = length 301, hash B72EAA19 + sample 60: + time = 1237333 + flags = 0 + data = length 299, hash 90B92024 + sample 61: + time = 1258666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 62: + time = 1280000 + flags = 0 + data = length 295, hash E35C19E + sample 63: + time = 1301333 + flags = 0 + data = length 299, hash 90B92029 + sample 64: + time = 1322666 + flags = 0 + data = length 319, hash 5F47ED6D + sample 65: + time = 1344000 + flags = 0 + data = length 403, hash BCD6901D + sample 66: + time = 1365333 + flags = 0 + data = length 512, hash 71422ABF + sample 67: + time = 1386666 + flags = 0 + data = length 512, hash 12E1C091 + sample 68: + time = 1408000 + flags = 0 + data = length 512, hash 4C28788B + sample 69: + time = 1429333 + flags = 0 + data = length 512, hash 71422ABD + sample 70: + time = 1450666 + flags = 0 + data = length 512, hash 12E1C0B6 + sample 71: + time = 1472000 + flags = 0 + data = length 512, hash 4C287853 + sample 72: + time = 1493333 + flags = 0 + data = length 512, hash ED501288 + sample 73: + time = 1514666 + flags = 0 + data = length 512, hash 9D4174B5 + sample 74: + time = 1536000 + flags = 1 + data = length 817, hash 9C51B5E2 + sample 75: + time = 1557333 + flags = 0 + data = length 299, hash 90B92026 + sample 76: + time = 1578666 + flags = 0 + data = length 420, hash 7C4664D7 + sample 77: + time = 1600000 + flags = 0 + data = length 512, hash 4C28784A + sample 78: + time = 1621333 + flags = 0 + data = length 512, hash 71422ABB + sample 79: + time = 1642666 + flags = 0 + data = length 512, hash 12E1C07F + sample 80: + time = 1664000 + flags = 0 + data = length 512, hash 4C287884 + sample 81: + time = 1685333 + flags = 0 + data = length 512, hash 71422ABD + sample 82: + time = 1706666 + flags = 0 + data = length 512, hash 12E1C069 + sample 83: + time = 1728000 + flags = 0 + data = length 512, hash 4C287890 + sample 84: + time = 1749333 + flags = 0 + data = length 512, hash 71422AC0 + sample 85: + time = 1770666 + flags = 0 + data = length 581, hash 64B79723 + sample 86: + time = 1792000 + flags = 0 + data = length 499, hash 9C5AEB9A +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont.ts new file mode 100644 index 0000000000..4f012fde09 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts new file mode 100644 index 0000000000..0d8f94c94f Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_setrai_unsetdai.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts new file mode 100644 index 0000000000..f7fe54ad92 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_cont_splitheader.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_multi.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_multi.ts new file mode 100644 index 0000000000..98abc68a92 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_multi.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_single.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_single.ts new file mode 100644 index 0000000000..0fd136a021 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_cicp1_single.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_cont.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_cont.ts new file mode 100644 index 0000000000..cf816fdf7b Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_cont.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_multi.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_multi.ts new file mode 100644 index 0000000000..9dba99cc87 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_multi.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_single.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_single.ts new file mode 100644 index 0000000000..a52d418aa7 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_bl_configchange_single.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_cont.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_cont.ts new file mode 100644 index 0000000000..e353144cc0 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_cont.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_multi.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_multi.ts new file mode 100644 index 0000000000..412499f122 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_multi.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_single.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_single.ts new file mode 100644 index 0000000000..3ce606b8bb Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_cicp1_single.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_cont.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_cont.ts new file mode 100644 index 0000000000..22119e0f34 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_cont.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_multi.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_multi.ts new file mode 100644 index 0000000000..60db311f18 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_multi.ts differ diff --git a/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_single.ts b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_single.ts new file mode 100644 index 0000000000..1c1b6981f1 Binary files /dev/null and b/libraries/test_data/src/test/assets/media/ts/sample_mpegh_lcbl_configchange_single.ts differ