diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/MpeghUtil.java b/libraries/extractor/src/main/java/androidx/media3/extractor/MpeghUtil.java new file mode 100644 index 0000000000..c36eb3fa17 --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/MpeghUtil.java @@ -0,0 +1,844 @@ +/*************************************************************************** + + Fraunhofer hereby grants to Google free of charge a worldwide, perpetual, + irrevocable, non-exclusive copyright license with the right to sublicense + through multiple tiers to use, copy, distribute, modify and create + derivative works of the Software Patches for Exoplayer in source code form + and/or object code versions of the software. For the avoidance of doubt, + this license does not include any license to any Fraunhofer patents or any + third-party patents. Since the license is granted without any charge, + Fraunhofer provides the Software Patches for Exoplayer, in accordance with + the laws of the Federal Republic of Germany, on an "as is" basis, WITHOUT + WARRANTIES or conditions of any kind, either express or implied, including, + without limitation, any warranties or conditions of title, non-infringement, + merchantability, or fitness for a particular purpose. + + For the purpose of clarity, the provision of the Software Patches for + Exoplayer by Fraunhofer and the use of the same by Google shall be subject + solely to the license stated above. + + ***************************************************************************/ +package androidx.media3.extractor; + +import androidx.annotation.Nullable; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.UnstableApi; +import java.io.IOException; +import java.util.Arrays; +import org.checkerframework.checker.nullness.qual.NonNull; + +/** Utility methods for parsing MPEG-H frames, which are access units in MPEG-H bitstreams. */ +@UnstableApi +public final class MpeghUtil { + + /** See ISO_IEC_23003-3;2020, 6.1.1.1, Table 72 */ + private static final int[] SAMPLING_RATE_TABLE = + new int[]{ + 96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350, + 0, 0, 57600, 51200, 40000, 38400, 34150, 28800, 25600, 20000, 19200, 17075, 14400, 12800, + 9600, 0, 0, 0, 0 + }; + + /** See ISO_IEC_23003-3;2020, 6.1.1.1, Table 75 */ + private static final int[] OUTPUT_FRAMELENGTH_TABLE = + new int[]{ + 768, 1024, 2048, 2048, 4096, 0, 0, 0 + }; + + /** See ISO_IEC_23003-3;2020, 6.1.1.1, Table 75 */ + private static final int[] SBR_RATIO_INDEX_TABLE = + new int[]{ + 0, 0, 2, 3, 1 + }; + + private static final int MHAS_SYNCPACKET = 0xC001A5; + + + /** + * Enumeration of the MHAS packet types. + * See ISO_IEC_23008-3;2022, 14.3.1, Table 226 + */ + public enum MHASPacketType { + PACTYP_NONE(-1), + PACTYP_FILLDATA(0), + PACTYP_MPEGH3DACFG(1), + PACTYP_MPEGH3DAFRAME(2), + PACTYP_AUDIOSCENEINFO(3), + /* reserved for ISO use 4-5 */ + PACTYP_SYNC(6), + PACTYP_SYNCGAP(7), + PACTYP_MARKER(8), + PACTYP_CRC16(9), + PACTYP_CRC32(10), + PACTYP_DESCRIPTOR(11), + PACTYP_USERINTERACTION(12), + PACTYP_LOUDNESS_DRC(13), + PACTYP_BUFFERINFO(14), + PACTYP_GLOBAL_CRC16(15), + PACTYP_GLOBAL_CRC32(16), + PACTYP_AUDIOTRUNCATION(17), + PACTYPE_EARCON(19), + PACTYPE_PCMCONFIG(20), + PACTYPE_PCMDATA(21), + PACTYP_LOUDNESS(22); + + private final int id; + + MHASPacketType(int id) { + this.id = id; + } + + public static MHASPacketType getById(int id) { + for (MHASPacketType e : values()) { + if (e.id == id) { + return e; + } + } + return PACTYP_NONE; + } + } + + public enum ParseState { + END_OUTPUT(0), /* Input Data needed */ + PARSE_ERROR(1), /* Parsing error */ + SUBSTREAM_UNSUPPORTED(2); /* The bitstream has unsupported sub-streams. */ + + public final int id; + + ParseState(int id) { + this.id = id; + } + } + + + public static class FrameInfo { + + public boolean containsConfig = false; + public boolean configChanged = false; + public int standardFrameSamples = 0; + public int samplingRate = 0; + public int frameSamples = 0; + public int frameBytes = 0; + public long mainStreamLabel = -1; + + public int mpegh3daProfileLevelIndication = -1; + public byte[] compatibleSetIndication = new byte[0]; + + public FrameInfo() { + } + + public FrameInfo(boolean containsConfig, boolean configChanged, int standardFrameSamples, + int samplingRate, int frameSamples, int frameBytes, long mainStreamLabel, + int mpegh3daProfileLevelIndication, byte[] compatibleSetIndication) { + this.containsConfig = containsConfig; + this.configChanged = configChanged; + this.standardFrameSamples = standardFrameSamples; + this.samplingRate = samplingRate; + this.frameSamples = frameSamples; + this.frameBytes = frameBytes; + this.mainStreamLabel = mainStreamLabel; + this.mpegh3daProfileLevelIndication = mpegh3daProfileLevelIndication; + if (compatibleSetIndication.length > 0) { + this.compatibleSetIndication = Arrays.copyOf(compatibleSetIndication, + compatibleSetIndication.length); + } + } + + public void reset() { + containsConfig = false; + configChanged = false; + standardFrameSamples = 0; + samplingRate = 0; + frameBytes = 0; + frameSamples = 0; + mainStreamLabel = -1; + mpegh3daProfileLevelIndication = -1; + compatibleSetIndication = new byte[0]; + } + } + + /** + * This function is used to check if the provided number of bits is available in the bit array. + * + * @param data The byte array to parse. + * @param numBits The number of bits to check for. + * @throws ParseException If not enough bits are available. + */ + public static void checkBitsAvailable(ParsableBitArray data, int numBits) + throws ParseException { + if (data.bitsLeft() < numBits) { + throw ParseException.createForNotEnoughData(); + } + } + + /** + * This function is used to find the start position of the MHAS sync packet in the provided data + * buffer. See ISO_IEC_23008-3;2022, 14.4.4 + * + * @param data The byte array to parse. + * @return byte position in data of the MHAS sync packet on success, negative value on failure. + */ + public static int findSyncPacket(ParsableByteArray data) { + int startPos = data.getPosition(); + int syncPacketBytePos = -1; + while (data.bytesLeft() >= 3) { + int syncword = data.readUnsignedInt24(); + if (syncword == MHAS_SYNCPACKET) { + syncPacketBytePos = data.getPosition() - 3; + break; + } + data.skipBytes(-2); + } + + data.setPosition(startPos); + return syncPacketBytePos; + } + + /** + * This function is used to check if a complete MHAS frame could be parsed by calculating if + * enough data is available in the provided ParsableBitArray. + * + * @param data The bit array to parse. + * @return positive value on success, negative value on parse error and zero if not enough data is available + */ + public static boolean canParseFrame(ParsableBitArray data) { + boolean retVal = false; + int dataPos = data.getPosition(); + while (true) { + MHASPacketHeader header; + try { + header = parseMhasPacketHeader(data); + } catch (ParseException e) { + // There is not enough data available to parse the MHAS packet header. + break; + } + if (data.bitsLeft() < header.packetLength * 8) { + // There is not enough data available to parse the current MHAS packet. + break; + } + data.skipBytes(header.packetLength); + + if (header.packetType == MHASPacketType.PACTYP_MPEGH3DAFRAME) { + // An mpegh3daFrame packet has been found which signals the end of the MHAS frame. + retVal = true; + break; + } + } + data.setPosition(dataPos); + return retVal; + } + + private static class MHASPacketHeader { + MHASPacketType packetType; + long packetLabel; + int packetLength; + + public MHASPacketHeader(MHASPacketType type, long label, int length) { + packetType = type; + packetLabel = label; + packetLength = length; + } + } + + /** + * This function is used to parse an MHAS packet header. + * See ISO_IEC_23008-3;2022, 14.2.1, Table 222 + * + * @param data The bit array to parse. + * @return MHASPacketHeader The MHAS packet header info. + * @throws ParseException If parsing failed, i.e. there is not enough data available. + */ + private static MHASPacketHeader parseMhasPacketHeader(ParsableBitArray data) throws ParseException { + int packetTypeVal = (int) readEscapedValue(data, 3, 8, 8); + MHASPacketType packetType = MHASPacketType.getById(packetTypeVal); + long packetLabel = readEscapedValue(data, 2, 8, 32); + int packetLength = (int) readEscapedValue(data, 11, 24, 24); + return new MHASPacketHeader(packetType, packetLabel, packetLength); + } + + /** + * This function is used to parse one MPEG-H frame into the FrameInfo structure. + * + * @param data The bit array to parse, positioned at the start of the MHAS frame. + * @param prevFrameInfo A previously obtained FrameInfo. + * @return FrameInfo of the current frame. + * @throws ParseException If parsing failed. + */ + public static FrameInfo parseFrame(ParsableBitArray data, @NonNull FrameInfo prevFrameInfo) + throws ParseException { + int nBitsIns; + int standardFrameSamples = prevFrameInfo.standardFrameSamples; + int samplingFrequency = prevFrameInfo.samplingRate; + boolean frameFound = false; + boolean configFound = false; + boolean configChanged = false; + int truncationSamples = 0; + long mainStreamLabel = -1; + int mpegh3daProfileLevelIndication = -1; + byte[] compatibleSetIndication = new byte[0]; + + nBitsIns = data.bitsLeft(); + + if (nBitsIns == 0) { + throw ParseException.createForNotEnoughData(); + } + if (nBitsIns % 8 != 0) { + throw ParseException.createForParsingError("The input data buffer is not Byte aligned."); + } + + do { + // parse MHAS packet header + MHASPacketHeader packetHeader = parseMhasPacketHeader(data); + if (packetHeader.packetLabel > 0x10) { + throw ParseException.createForUnsupportedSubstream( + "Contains sub-stream with label " + packetHeader.packetLabel); + } + + // check if the complete packet could be parsed + checkBitsAvailable(data, packetHeader.packetLength * 8); + int dataPos = data.getPosition(); + + switch (packetHeader.packetType) { + case PACTYP_MPEGH3DACFG: + if (packetHeader.packetLabel == 0) { + throw ParseException.createForParsingError( + "mpegh3daConfig packet with unsupported packet label " + packetHeader.packetLabel); + } + + // we already found a mpegh3daConfig + if (configFound) { + throw ParseException.createForParsingError("found a second mpegh3daConfig packet"); + } + configFound = true; + + // check for config change + if (packetHeader.packetLabel != prevFrameInfo.mainStreamLabel) { + configChanged = true; + } + // save new packet label + mainStreamLabel = packetHeader.packetLabel; + + // parse the mpegh3daConfig + Mpegh3daConfig mpegh3daConfig = parseMpegh3daConfig(data); + + // get the necessary data from mpegh3daConfig + samplingFrequency = mpegh3daConfig.samplingFrequency; + standardFrameSamples = mpegh3daConfig.standardFrameSamples; + mpegh3daProfileLevelIndication = mpegh3daConfig.mpegh3daProfileLevelIndication; + if (mpegh3daConfig.compatibleProfileLevelSet != null && mpegh3daConfig.compatibleProfileLevelSet.length > 0) { + compatibleSetIndication = mpegh3daConfig.compatibleProfileLevelSet; + } + + data.setPosition(dataPos); + data.skipBits(packetHeader.packetLength * 8); + break; + + case PACTYP_AUDIOTRUNCATION: + if (packetHeader.packetLabel == 0) { + throw ParseException.createForParsingError( + "audioTruncation packet with unsupported packet label " + packetHeader.packetLabel); + } + + truncationSamples = parseAudioTruncationInfo(data); + if (truncationSamples > standardFrameSamples) { + throw ParseException.createForParsingError("truncation size is too big " + truncationSamples); + } + + data.setPosition(dataPos); + data.skipBits(packetHeader.packetLength * 8); + break; + + case PACTYP_MPEGH3DAFRAME: + if (packetHeader.packetLabel == 0) { + throw ParseException.createForParsingError( + "mpegh3daFrame packet with unsupported packet label " + packetHeader.packetLabel); + } + + if (!configFound) { + mainStreamLabel = prevFrameInfo.mainStreamLabel; + } + + // check packet label + if (packetHeader.packetLabel != mainStreamLabel) { + throw ParseException.createForParsingError( + "mpegh3daFrame packet does not belong to main stream"); + } + frameFound = true; + data.skipBits(packetHeader.packetLength * 8); + break; + + default: + data.skipBits(packetHeader.packetLength * 8); + break; + } + + if (data.bitsLeft() % 8 != 0) { + throw ParseException.createForParsingError("The data buffer is not Byte aligned after parsing."); + } + + } while (!frameFound); + + int nBits = data.bitsLeft(); + int parsedBytes = (nBitsIns - nBits) / 8; + + if (samplingFrequency <= 0) { + throw ParseException.createForParsingError( + "unsupported sampling frequency " + samplingFrequency); + } + + if (standardFrameSamples <= 0) { + throw ParseException.createForParsingError("unsupported value of standardFrameSamples " + standardFrameSamples); + } + + return new FrameInfo(configFound, configChanged, standardFrameSamples, samplingFrequency, + standardFrameSamples - truncationSamples, parsedBytes, mainStreamLabel, + mpegh3daProfileLevelIndication, compatibleSetIndication); + } + + /** + * This function is used to obtain the sampling rate of the current MPEG-H frame. + * + * @param data The bit array holding the bits to be parsed. + * @return The sampling frequency. + * @throws ParseException If sampling frequency could not be obtained. + */ + public static int getSamplingFrequency(ParsableBitArray data) throws ParseException { + int sampleRate; + int idx; + + checkBitsAvailable(data, 5); + idx = data.readBits(5); + + if (idx == 0x1F) { + checkBitsAvailable(data, 24); + sampleRate = data.readBits(24); + } else { + sampleRate = SAMPLING_RATE_TABLE[idx]; + } + return sampleRate; + } + + /** + * This function is used to obtain an escaped value from an MPEG-H bit stream. + * See ISO_IEC_23003-3;2020, 5.2, Table 19 + * + * @param data The bit array to be parsed. + * @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 value. + * @throws ParseException If parsing failed. + */ + public static long readEscapedValue(ParsableBitArray data, int bits1, int bits2, int bits3) + throws ParseException { + long value; + long valueAdd; + + checkBitsAvailable(data, bits1); + value = data.readBitsToLong(bits1); + + if (value == (1L << bits1) - 1) { + checkBitsAvailable(data, bits2); + valueAdd = data.readBitsToLong(bits2); + value += valueAdd; + + if (valueAdd == (1L << bits2) - 1) { + checkBitsAvailable(data, bits3); + valueAdd = data.readBitsToLong(bits3); + value += valueAdd; + } + } + return value; + } + + private static class Mpegh3daConfig { + + int mpegh3daProfileLevelIndication = 0; + int samplingFrequency = 0; + int standardFrameSamples = 0; + @Nullable + byte[] compatibleProfileLevelSet = null; + } + + /** + * This function is used to obtain the necessary info of the Mpegh3daConfig from an MPEG-H bit + * stream. See ISO_IEC_23008-3;2022, 5.2.2.1, Table 15 + * + * @param data The bit array to be parsed. + * @return The Mpegh3daConfig. + * @throws ParseException If parsing failed. + */ + private static Mpegh3daConfig parseMpegh3daConfig(ParsableBitArray data) throws ParseException { + Mpegh3daConfig mpegh3daConfig = new Mpegh3daConfig(); + checkBitsAvailable(data, 8); + mpegh3daConfig.mpegh3daProfileLevelIndication = data.readBits(8); + + int usacSamplingFrequency = getSamplingFrequency(data); + + checkBitsAvailable(data, 5); + int coreSbrFrameLengthIndex = data.readBits(3); + data.skipBits(2); // cfg_reserved(1), receiverDelayCompensation(1) + + int outputFrameLength = OUTPUT_FRAMELENGTH_TABLE[coreSbrFrameLengthIndex]; + int sbrRatioIndex = SBR_RATIO_INDEX_TABLE[coreSbrFrameLengthIndex]; + + parseSpeakerConfig3d(data); // referenceLayout + int numSignals = parseSignals3d(data); // frameworkConfig3d + parseMpegh3daDecoderConfig(data, numSignals, sbrRatioIndex); // decoderConfig + + checkBitsAvailable(data, 1); + if (data.readBit()) { // usacConfigExtensionPresent + // Mpegh3daConfigExtension + int numConfigExtensions = (int) readEscapedValue(data, 2, 4, 8) + 1; + for (int confExtIdx = 0; confExtIdx < numConfigExtensions; confExtIdx++) { + int usacConfigExtType = (int) readEscapedValue(data, 4, 8, 16); + int usacConfigExtLength = (int) readEscapedValue(data, 4, 8, 16); + + if (usacConfigExtType == 7 /*ID_CONFIG_EXT_COMPATIBLE_PROFILELVL_SET*/) { + checkBitsAvailable(data, 8); + int numCompatibleSets = data.readBits(4) + 1; + data.skipBits(4); // reserved + mpegh3daConfig.compatibleProfileLevelSet = new byte[numCompatibleSets]; + for (int idx = 0; idx < numCompatibleSets; idx++) { + checkBitsAvailable(data, 8); + mpegh3daConfig.compatibleProfileLevelSet[idx] = (byte) data.readBits(8); + } + } else { + checkBitsAvailable(data, 8 * usacConfigExtLength); + data.skipBits(8 * usacConfigExtLength); + } + } + } + + // Get the resampling ratio and adjust the samplingFrequency and the standardFrameSamples + // accordingly. See ISO_IEC_23008-3;2022, 4.8.2, Table 10 + double resamplingRatio; + switch (usacSamplingFrequency) { + case 96000: + case 88200: + case 48000: + case 44100: + resamplingRatio = 1; + break; + case 64000: + case 58800: + case 32000: + case 29400: + resamplingRatio = 1.5; + break; + case 24000: + case 22050: + resamplingRatio = 2; + break; + case 16000: + case 14700: + resamplingRatio = 3; + break; + default: + throw ParseException.createForParsingError( + "unsupported sampling rate " + usacSamplingFrequency); + } + mpegh3daConfig.samplingFrequency = (int) (usacSamplingFrequency * resamplingRatio); + mpegh3daConfig.standardFrameSamples = (int) (outputFrameLength * resamplingRatio); + + return mpegh3daConfig; + } + + + /** + * This function is used to obtain 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 + * + * @param data The bit array to be parsed. + * @return The number of truncated samples. + * @throws ParseException If parsing failed. + */ + private static int parseAudioTruncationInfo(ParsableBitArray data) throws ParseException { + int truncationSamples = 0; + checkBitsAvailable(data, 16); + boolean isActive = data.readBit(); + data.skipBits(2); // reserved(1), truncFromBegin(1) + int trunc = data.readBits(13); + if (isActive) { + truncationSamples = trunc; + } + return truncationSamples; + } + + + /** + * This function is used to parse the SpeakerConfig3d from an MPEG-H bit stream. + * See ISO_IEC_23008-3;2022, 5.2.2.2, Table 18 + * + * @param data The bit array to be parsed. + * @throws ParseException If parsing failed. + */ + private static void parseSpeakerConfig3d(ParsableBitArray data) throws ParseException { + checkBitsAvailable(data, 2); + int speakerLayoutType = data.readBits(2); + if (speakerLayoutType == 0) { + checkBitsAvailable(data, 6); + data.skipBits(6); // cicpSpeakerLayoutIdx + } else { + int numSpeakers = (int) readEscapedValue(data, 5, 8, 16) + 1; + if (speakerLayoutType == 1) { + checkBitsAvailable(data, 7 * numSpeakers); + data.skipBits(7 * numSpeakers); // cicpSpeakerIdx per speaker + } + if (speakerLayoutType == 2) { + checkBitsAvailable(data, 1); + 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 < numSpeakers; i++) { + int azimuthAngle = 0; + checkBitsAvailable(data, 1); + if (data.readBit()) { // isCICPspeakerIdx + checkBitsAvailable(data, 7); + data.skipBits(7); // cicpSpeakerIdx + } else { + checkBitsAvailable(data, 2); + int elevationClass = data.readBits(2); + if (elevationClass == 3) { + checkBitsAvailable(data, elevationAngleBits); + int elevationAngleIdx = data.readBits(elevationAngleBits); + int elevationAngle = elevationAngleIdx * angularPrecisionDegrees; + if (elevationAngle != 0) { + checkBitsAvailable(data, 1); + data.skipBit(); // elevationDirection + } + } + checkBitsAvailable(data, azimuthAngleBits); + int azimuthAngleIdx = data.readBits(azimuthAngleBits); + azimuthAngle = azimuthAngleIdx * angularPrecisionDegrees; + if ((azimuthAngle != 0) && (azimuthAngle != 180)) { + checkBitsAvailable(data, 1); + data.skipBit(); // azimuthDirection + } + checkBitsAvailable(data, 1); + data.skipBit(); // isLFE + } + + if ((azimuthAngle != 0) && (azimuthAngle != 180)) { + checkBitsAvailable(data, 1); + if (data.readBit()) { // alsoAddSymmetricPair + i++; + } + } + } + } + } + } + + /** + * This function is used to obtain the necessary info of Signals3d from an MPEG-H bit stream. + * See ISO_IEC_23008-3;2022, 5.2.2.1, Table 17 + * + * @param data The bit array to be parsed. + * @return The number of overall signals in the bit stream. + * @throws ParseException If parsing failed. + */ + private static int parseSignals3d(ParsableBitArray data) + throws ParseException { + int numSignals = 0; + checkBitsAvailable(data, 5); + int bsNumSignalGroups = data.readBits(5); + + for (int grp = 0; grp < bsNumSignalGroups + 1; grp++) { + checkBitsAvailable(data, 3); + int signalGroupType = data.readBits(3); + int bsNumberOfSignals = (int) readEscapedValue(data, 5, 8, 16); + + numSignals += bsNumberOfSignals + 1; + if (signalGroupType == 0 /*SignalGroupTypeChannels*/ || + signalGroupType == 2 /*SignalGroupTypeSAOC*/) { + checkBitsAvailable(data, 1); + if (data.readBit()) { // differsFromReferenceLayout OR saocDmxLayoutPresent + parseSpeakerConfig3d(data); // audioChannelLayout[grp] OR saocDmxChannelLayout + } + } + } + return numSignals; + } + + /** + * This function is used to parse the Mpegh3daDecoderConfig from an MPEG-H bit stream. + * See ISO_IEC_23008-3;2022, 5.2.2.3, Table 21 + * + * @param data The bit array to be parsed. + * @param numSignals The number of overall signals. + * @param sbrRatioIndex The SBR ration index. + * @throws ParseException If parsing failed. + */ + private static void parseMpegh3daDecoderConfig(ParsableBitArray data, + int numSignals, int sbrRatioIndex) + throws ParseException { + + int numElements = (int) readEscapedValue(data, 4, 8, 16) + 1; + checkBitsAvailable(data, 1); + data.skipBit(); // elementLengthPresent + + for (int elemIdx = 0; elemIdx < numElements; elemIdx++) { + checkBitsAvailable(data, 2); + int usacElementType = data.readBits(2); + + switch (usacElementType) { + case 0 /*ID_USAC_SCE*/: + parseMpegh3daCoreConfig(data); // coreConfig + if (sbrRatioIndex > 0) { + parseSbrConfig(data); // sbrConfig + } + break; + case 1 /*ID_USAC_CPE*/: + boolean enhancedNoiseFilling = parseMpegh3daCoreConfig(data); // coreConfig + if (enhancedNoiseFilling) { + checkBitsAvailable(data, 1); + data.skipBit(); // igfIndependentTiling + } + int stereoConfigIndex = 0; + if (sbrRatioIndex > 0) { + parseSbrConfig(data); // sbrConfig + checkBitsAvailable(data, 2); + stereoConfigIndex = data.readBits(2); + } + if (stereoConfigIndex > 0) { + // mps212Config + checkBitsAvailable(data, 13); + 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 + checkBitsAvailable(data, 5); + data.skipBits(5); // bsOttBandsPhase + } + if (stereoConfigIndex == 2 || stereoConfigIndex == 3) { + checkBitsAvailable(data, 6); + data.skipBits(6); // bsResidualBands(5), bsPseudoLr(1) + } + if (bsTempShapeConfig == 2) { + checkBitsAvailable(data, 1); + data.skipBit(); // bsEnvQuantMode + } + } + + int nBits = (int) Math.floor(Math.log(numSignals - 1) / Math.log(2.0)) + 1; + + checkBitsAvailable(data, 2); + int qceIndex = data.readBits(2); + if (qceIndex > 0) { + checkBitsAvailable(data, 1); + if (data.readBit()) { // shiftIndex0 + checkBitsAvailable(data, nBits); + data.skipBits(nBits); // shiftChannel0 + } + } + checkBitsAvailable(data, 1); + if (data.readBit()) { // shiftIndex1 + checkBitsAvailable(data, nBits); + data.readBits(nBits); // shiftChannel1 + } + if (sbrRatioIndex == 0 && qceIndex == 0) { + checkBitsAvailable(data, 1); + data.skipBit(); // lpdStereoIndex + } + break; + case 3 /*ID_USAC_EXT*/: + readEscapedValue(data, 4, 8, 16); // usacExtElementType + int usacExtElementConfigLength = (int) readEscapedValue(data, 4, 8, 16); + + checkBitsAvailable(data, 1); + if (data.readBit()) { // usacExtElementDefaultLengthPresent + readEscapedValue(data, 8, 16, 0)/*+1*/; // usacExtElementDefaultLength + } + checkBitsAvailable(data, 1); + data.skipBit(); // usacExtElementPayloadFrag + + if (usacExtElementConfigLength > 0) { + checkBitsAvailable(data, 8 * usacExtElementConfigLength); + data.skipBits(8 * usacExtElementConfigLength); + } + break; + default: + break; + } + } + } + + /** + * This function is used to obtain the necessary info of the Mpegh3daCoreConfig from an MPEG-H + * bit stream. See ISO_IEC_23008-3;2022, 5.2.2.3, Table 24 + * + * @param data The bit array to be parsed. + * @return The enhanced noise filling flag. + * @throws ParseException If parsing failed. + */ + private static boolean parseMpegh3daCoreConfig(ParsableBitArray data) + throws ParseException { + checkBitsAvailable(data, 4); + data.skipBits(3); // tw_mdct(1), fullbandLpd(1), noiseFilling(1) + boolean enhancedNoiseFilling = data.readBit(); + if (enhancedNoiseFilling) { + checkBitsAvailable(data, 13); + data.skipBits(13); // igfUseEnf(1), igfUseHighRes(1), igfUseWhitening(1), igfAfterTnsSynth(1), igfStartIndex(5), igfStopIndex(4) + } + return enhancedNoiseFilling; + } + + /** + * This function is used to parse the SbrConfig from an MPEG-H bit stream. + * See ISO_IEC_23003-3;2020, 5.2, Table 14 + * + * @param data The bit array to be parsed. + * @throws ParseException If parsing failed. + */ + private static void parseSbrConfig(ParsableBitArray data) throws ParseException { + checkBitsAvailable(data, 3); + data.skipBits(3); // harmonicSBR(1), bs_interTes(1), bs_pvc(1) + + checkBitsAvailable(data, 10); + data.skipBits(8); // dflt_start_freq(4), dflt_stop_freq(4) + boolean dflt_header_extra1 = data.readBit(); + boolean dflt_header_extra2 = data.readBit(); + if (dflt_header_extra1) { + checkBitsAvailable(data, 5); + data.skipBits(5); // dflt_freq_scale(2), dflt_alter_scale(1), dflt_noise_bands(2) + } + if (dflt_header_extra2) { + checkBitsAvailable(data, 6); + data.skipBits(6); // dflt_limiter_bands(2), dflt_limiter_gains(2), dflt_interpol_freq(1), dflt_smoothing_mode(1) + } + } + + private MpeghUtil() { + } + + + public static class ParseException extends IOException { + + public final ParseState parseState; + + public static ParseException createForNotEnoughData() { + return new ParseException(null, null, ParseState.END_OUTPUT); + } + + public static ParseException createForUnsupportedSubstream(@Nullable String message) { + return new ParseException(message, null, ParseState.SUBSTREAM_UNSUPPORTED); + } + + public static ParseException createForParsingError(@Nullable String message) { + return new ParseException(message, null, ParseState.PARSE_ERROR); + } + + protected ParseException( + @Nullable String message, + @Nullable Throwable cause, + ParseState parseState) { + super(message, cause); + this.parseState = parseState; + } + } +} 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..695c1161c1 --- /dev/null +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/MpeghReader.java @@ -0,0 +1,236 @@ +/*************************************************************************** + + Fraunhofer hereby grants to Google free of charge a worldwide, perpetual, + irrevocable, non-exclusive copyright license with the right to sublicense + through multiple tiers to use, copy, distribute, modify and create + derivative works of the Software Patches for Exoplayer in source code form + and/or object code versions of the software. For the avoidance of doubt, + this license does not include any license to any Fraunhofer patents or any + third-party patents. Since the license is granted without any charge, + Fraunhofer provides the Software Patches for Exoplayer, in accordance with + the laws of the Federal Republic of Germany, on an "as is" basis, WITHOUT + WARRANTIES or conditions of any kind, either express or implied, including, + without limitation, any warranties or conditions of title, non-infringement, + merchantability, or fitness for a particular purpose. + + For the purpose of clarity, the provision of the Software Patches for + Exoplayer by Fraunhofer and the use of the same by Google shall be subject + solely to the license stated above. + + ***************************************************************************/ +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 android.util.Log; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.extractor.ExtractorOutput; +import androidx.media3.extractor.MpeghUtil; +import androidx.media3.extractor.TrackOutput; +import com.google.common.collect.ImmutableList; +import java.util.List; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + + +/** + * Parses a continuous MPEG-H audio byte stream and extracts MPEG-H frames. + */ +public final class MpeghReader implements ElementaryStreamReader { + + private static final String TAG = MpeghReader.class.getSimpleName(); + + private @MonotonicNonNull String formatId; + private @MonotonicNonNull TrackOutput output; + private final ParsableByteArray dataBuffer = new ParsableByteArray(0); + private final ParsableBitArray dataBitBuffer = new ParsableBitArray(); + private int dataInBuffer = 0; + + private MpeghUtil.FrameInfo prevFrameInfo = new MpeghUtil.FrameInfo(); + + // The timestamp to attach to the next sample in the current packet. + private double timeUs; + private double timeUsPending = C.TIME_UNSET; + private boolean dataPending = false; + private boolean rapPending = true; + private boolean raiSet = false; + private boolean daiSet = false; + + public MpeghReader() { + clearDataBuffer(); + timeUs = C.TIME_UNSET; + } + + @Override + public void seek() { + clearDataBuffer(); + timeUs = 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) { + raiSet = (flags & FLAG_RANDOM_ACCESS_INDICATOR) == FLAG_RANDOM_ACCESS_INDICATOR; + daiSet = (flags & FLAG_DATA_ALIGNMENT_INDICATOR) == FLAG_DATA_ALIGNMENT_INDICATOR; + + if (daiSet && dataInBuffer != 0) { + Log.w(TAG, "Internal bit buffer was unexpectedly not empty at data aligned PES"); + clearDataBuffer(); + } + + if (dataInBuffer > 0) { + dataPending = true; + } + + if (pesTimeUs != C.TIME_UNSET) { + if (dataPending) { + timeUsPending = pesTimeUs; + } else { + timeUs = pesTimeUs; + } + } + } + + @Override + public void consume(@NonNull ParsableByteArray data) { + // write the PES payload to a data buffer until the packet is complete + appendToDataBuffer(data); + } + + @Override + public void packetFinished(boolean isEndOfInput) { + // try to find the sync packet and adjust the data buffer if necessary + maybeFindSync(); + + // get as many MPEG-H AUs as possible from the data buffer + while (true) { + dataBitBuffer.reset(dataBuffer); + + // check if a complete MPEG-H frame could be parsed + if (!MpeghUtil.canParseFrame(dataBitBuffer)) { + // parsing could not be completed because of not enough data + break; + } + + MpeghUtil.FrameInfo frameInfo; + try { + frameInfo = MpeghUtil.parseFrame(dataBitBuffer, prevFrameInfo); + } catch (MpeghUtil.ParseException e) { + // an error occurred --> maybe try to find sync and proceed with processing + dataBitBuffer.byteAlign(); + removeUsedFromDataBuffer(); + rapPending = true; + maybeFindSync(); + continue; + } + + if (frameInfo.configChanged && frameInfo.containsConfig) { + // set the output format + String codecs = "mhm1"; + if (frameInfo.mpegh3daProfileLevelIndication != Format.NO_VALUE) { + codecs += String.format(".%02X", frameInfo.mpegh3daProfileLevelIndication); + } + @Nullable List initializationData = null; + if (frameInfo.compatibleSetIndication.length > 0) { + // The first entry in initializationData is reserved for the audio specific config. + initializationData = ImmutableList.of(new byte[0], frameInfo.compatibleSetIndication); + } + Format format = new Format.Builder() + .setId(formatId) + .setSampleMimeType(MimeTypes.AUDIO_MPEGH_MHM1) + .setSampleRate(frameInfo.samplingRate) + .setCodecs(codecs) + .setInitializationData(initializationData) + .build(); + output.format(format); + } + + // write AU to output + dataBuffer.setPosition(0); + output.sampleData(dataBuffer, frameInfo.frameBytes); + + int flag = 0; + // if we have a frame with an mpegh3daConfig, set the first obtained AU to a key frame + if (frameInfo.containsConfig) { + flag = C.BUFFER_FLAG_KEY_FRAME; + rapPending = false; + } + double sampleDurationUs = (double)C.MICROS_PER_SECOND * frameInfo.frameSamples / frameInfo.samplingRate; + long pts = Math.round(timeUs); + if (dataPending) { + dataPending = false; + timeUs = timeUsPending; + } else { + timeUs += sampleDurationUs; + } + output.sampleMetadata(pts, flag, frameInfo.frameBytes, 0, null); + + removeUsedFromDataBuffer(); + prevFrameInfo = frameInfo; + } + } + + + private void maybeFindSync() { + // we are still waiting for a RAP frame + if (rapPending) { + if (!raiSet) { + // RAI is not signalled -> drop the PES data + clearDataBuffer(); + } else { + if (!daiSet) { + // if RAI is signalled but the data is not aligned we need to find the sync packet + int syncPosByte = MpeghUtil.findSyncPacket(dataBuffer); + if (syncPosByte < 0) { + // sync packet could not be found -> drop the PES data + clearDataBuffer(); + return; + } + // sync packet was found -> remove PES data before the sync packet + dataBuffer.setPosition(syncPosByte); + removeUsedFromDataBuffer(); + } + } + } + } + + + private void clearDataBuffer() { + dataPending = false; + rapPending = true; + dataInBuffer = 0; + dataBuffer.reset(dataInBuffer); + } + + private void appendToDataBuffer(ParsableByteArray data) { + int bytesToRead = data.bytesLeft(); + dataBuffer.ensureCapacity(dataInBuffer + bytesToRead); + System.arraycopy(data.getData(), data.getPosition(), dataBuffer.getData(), + dataInBuffer, bytesToRead); + data.skipBytes(bytesToRead); + dataInBuffer += bytesToRead; + dataBuffer.reset(dataInBuffer); + } + + private void removeUsedFromDataBuffer() { + dataInBuffer -= dataBuffer.getPosition(); + System.arraycopy(dataBuffer.getData(), dataBuffer.getPosition(), dataBuffer.getData(), + 0, dataInBuffer); + dataBuffer.reset(dataInBuffer); + } +} 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 0ccfe6910f..0971ef6945 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 @@ -245,6 +245,68 @@ public final class TsExtractorTest { simulationConfig); } + @Test + public void sampleWithMpeghBlCicp1Single() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_cicp1_single.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Single() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_cicp1_single.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeSingle() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_configchange_single.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeSingle() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_configchange_single.ts", simulationConfig); + } + + + @Test + public void sampleWithMpeghBlCicp1Multi() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_cicp1_multi.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Multi() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_cicp1_multi.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeMulti() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_configchange_multi.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeMulti() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_configchange_multi.ts", simulationConfig); + } + + + @Test + public void sampleWithMpeghBlCicp1Cont() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_cicp1_cont.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlCicp1Cont() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_cicp1_cont.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghBlConfigChangeCont() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_bl_configchange_cont.ts", simulationConfig); + } + + @Test + public void sampleWithMpeghLcBlConfigChangeCont() throws Exception { + ExtractorAsserts.assertBehavior(TsExtractor::new, "media/ts/sample_mpegh_lcbl_configchange_cont.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_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_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