From 5a256ba2142879753ec26675f3215cbc8d92e790 Mon Sep 17 00:00:00 2001 From: tolriq Date: Wed, 6 May 2026 19:20:52 +0200 Subject: [PATCH] Adjust LAME MP3 trim metadata to decoded PCM timeline LAME/Xing encoder delay and padding fields are offset from the skip/discard samples used when trimming decoded PCM. Account for this offset for LAME, Lavf, and Lavc headers when parsing gapless metadata. This matches the decoded PCM trimming expectations used by FFmpeg and updates extractor dumps and the gapless end-to-end assertion accordingly. Test: ./gradlew :lib-extractor:testDebugUnitTest --tests androidx.media3.extractor.mp3.ConstantBitrateSeekerTest --tests androidx.media3.extractor.mp3.Mp3ExtractorTest --tests androidx.media3.extractor.mp3.XingFrameTest Test: ./gradlew :lib-exoplayer:testDebugUnitTest --tests androidx.media3.exoplayer.e2etest.EndToEndGaplessTest --- RELEASENOTES.md | 2 + .../e2etest/EndToEndGaplessTest.java | 4 +- .../media3/extractor/mp3/XingFrame.java | 26 ++++++-- .../media3/extractor/mp3/XingFrameTest.java | 61 ++++++++++++++++++- .../mp3/bear-id3-numeric-genre.mp3.0.dump | 4 +- .../mp3/bear-id3-numeric-genre.mp3.1.dump | 4 +- .../mp3/bear-id3-numeric-genre.mp3.2.dump | 4 +- .../mp3/bear-id3-numeric-genre.mp3.3.dump | 4 +- ...-id3-numeric-genre.mp3.unknown_length.dump | 4 +- .../mp3/bear-id3.mp3.id3-disabled.0.dump | 4 +- .../mp3/bear-id3.mp3.id3-disabled.1.dump | 4 +- .../mp3/bear-id3.mp3.id3-disabled.2.dump | 4 +- .../mp3/bear-id3.mp3.id3-disabled.3.dump | 4 +- ...r-id3.mp3.id3-disabled.unknown_length.dump | 4 +- .../mp3/bear-id3.mp3.id3-enabled.0.dump | 4 +- .../mp3/bear-id3.mp3.id3-enabled.1.dump | 4 +- .../mp3/bear-id3.mp3.id3-enabled.2.dump | 4 +- .../mp3/bear-id3.mp3.id3-enabled.3.dump | 4 +- ...ar-id3.mp3.id3-enabled.unknown_length.dump | 4 +- .../bear-vbr-xing-header-no-toc.mp3.0.dump | 4 +- ...eader-no-toc.mp3.cbr-seeking-always.0.dump | 4 +- ...eader-no-toc.mp3.cbr-seeking-always.1.dump | 4 +- ...eader-no-toc.mp3.cbr-seeking-always.2.dump | 4 +- ...eader-no-toc.mp3.cbr-seeking-always.3.dump | 4 +- ...mp3.cbr-seeking-always.unknown_length.dump | 4 +- ...-xing-header-no-toc.mp3.cbr-seeking.0.dump | 4 +- ...-xing-header-no-toc.mp3.cbr-seeking.1.dump | 4 +- ...-xing-header-no-toc.mp3.cbr-seeking.2.dump | 4 +- ...-xing-header-no-toc.mp3.cbr-seeking.3.dump | 4 +- ...no-toc.mp3.cbr-seeking.unknown_length.dump | 4 +- ...ing-header-no-toc.mp3.index-seeking.0.dump | 4 +- ...ing-header-no-toc.mp3.index-seeking.1.dump | 4 +- ...ing-header-no-toc.mp3.index-seeking.2.dump | 4 +- ...ing-header-no-toc.mp3.index-seeking.3.dump | 4 +- ...-toc.mp3.index-seeking.unknown_length.dump | 4 +- ...xing-header-no-toc.mp3.unknown_length.dump | 4 +- ...xing-header-replaygain-accurate.mp3.0.dump | 4 +- ...xing-header-replaygain-accurate.mp3.1.dump | 4 +- ...xing-header-replaygain-accurate.mp3.2.dump | 4 +- ...xing-header-replaygain-accurate.mp3.3.dump | 4 +- ...eplaygain-accurate.mp3.unknown_length.dump | 4 +- ...vbr-xing-header-replaygain-fast.mp3.0.dump | 4 +- ...vbr-xing-header-replaygain-fast.mp3.1.dump | 4 +- ...vbr-xing-header-replaygain-fast.mp3.2.dump | 4 +- ...vbr-xing-header-replaygain-fast.mp3.3.dump | 4 +- ...er-replaygain-fast.mp3.unknown_length.dump | 4 +- .../mp3/bear-vbr-xing-header.mp3.0.dump | 4 +- .../mp3/bear-vbr-xing-header.mp3.1.dump | 4 +- .../mp3/bear-vbr-xing-header.mp3.2.dump | 4 +- .../mp3/bear-vbr-xing-header.mp3.3.dump | 4 +- ...ar-vbr-xing-header.mp3.unknown_length.dump | 4 +- ...test-cbr-info-header-pcut-frame.mp3.0.dump | 4 +- ...test-cbr-info-header-pcut-frame.mp3.1.dump | 4 +- ...test-cbr-info-header-pcut-frame.mp3.2.dump | 4 +- ...test-cbr-info-header-pcut-frame.mp3.3.dump | 4 +- ...-header-pcut-frame.mp3.unknown_length.dump | 4 +- .../mp3/test-cbr-info-header.mp3.0.dump | 4 +- .../mp3/test-cbr-info-header.mp3.1.dump | 4 +- .../mp3/test-cbr-info-header.mp3.2.dump | 4 +- .../mp3/test-cbr-info-header.mp3.3.dump | 4 +- ...st-cbr-info-header.mp3.unknown_length.dump | 4 +- 61 files changed, 200 insertions(+), 121 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 44bcc9be7a2..38b04cabd2a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -122,6 +122,8 @@ ([#3088](https://github.com/androidx/media/issues/3088)). * MP3: Use gapless-aware durations from Xing/Info headers ([#3183](https://github.com/androidx/media/issues/3183)). + * MP3: Adjust LAME/Xing encoder delay and padding metadata to match + decoded PCM trimming. * Ignore `av1C` data with unsupported version. * MP4: Add support for big-endian floating point PCM in `fpcm` boxes. * Matroska: Parse chapter info to `Chapter` entries in a track's diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/EndToEndGaplessTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/EndToEndGaplessTest.java index 61afc195332..ee721064d70 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/EndToEndGaplessTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/EndToEndGaplessTest.java @@ -92,8 +92,8 @@ public void testPlayback_twoIdenticalMp3Files() throws Exception { int bytesPerFrame = audioTrackListener.getAudioTrackOutputFormat().getFrameSizeInBytes(); int paddingBytes = max(0, playerAudioFormat.encoderPadding) * bytesPerFrame; int delayBytes = max(0, playerAudioFormat.encoderDelay) * bytesPerFrame; - assertThat(paddingBytes).isEqualTo(2808); - assertThat(delayBytes).isEqualTo(1152); + assertThat(paddingBytes).isEqualTo(1750); + assertThat(delayBytes).isEqualTo(2210); byte[] decoderOutputBytes = Bytes.concat(mp3Decoder.getAllOutputBytes().toArray(new byte[0][])); int bytesPerAudioFile = decoderOutputBytes.length / 2; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/XingFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/XingFrame.java index 4fbaf984a47..43d2fa737da 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/XingFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/XingFrame.java @@ -25,6 +25,13 @@ /** Representation of a LAME Xing or Info frame. */ /* package */ final class XingFrame { + /** + * Offset between LAME/Xing delay/padding fields and decoded PCM trim samples. FFmpeg's MP3 muxer + * subtracts this offset when writing LAME metadata, and its demuxer adds it back when exposing + * decoded PCM skip/discard samples. + */ + private static final int LAME_TO_DECODED_PCM_TRIM_OFFSET_SAMPLES = 528 + 1; + /** The header of the Xing or Info frame. */ public final MpegAudioUtil.Header header; @@ -107,12 +114,13 @@ public static XingFrame parse(MpegAudioUtil.Header mpegAudioHeader, ParsableByte @Nullable Mp3InfoReplayGain replayGain; int encoderDelay; int encoderPadding; - // Skip: version string (9), revision & VBR method (1), lowpass filter (1). - int bytesToSkipBeforeReplayGain = 9 + 1 + 1; + // Skip: revision & VBR method (1), lowpass filter (1). + int bytesToSkipBeforeReplayGain = 1 + 1; // Skip: encoding flags & ATH type (1), bitrate (1). int bytesToSkipAfterReplayGain = 1 + 1; - // And account for values we parse, ReplayGain (8) and encoder delay & padding (3). - if (frame.bytesLeft() >= bytesToSkipBeforeReplayGain + 8 + bytesToSkipAfterReplayGain + 3) { + // Account for version string (9), values we parse, ReplayGain (8) and encoder delay & padding (3). + if (frame.bytesLeft() >= 9 + bytesToSkipBeforeReplayGain + 8 + bytesToSkipAfterReplayGain + 3) { + String encoderIdentifier = frame.readString(9); frame.skipBytes(bytesToSkipBeforeReplayGain); float peak = frame.readFloat(); int field1 = frame.readUnsignedShort(); @@ -123,6 +131,10 @@ public static XingFrame parse(MpegAudioUtil.Header mpegAudioHeader, ParsableByte int encoderDelayAndPadding = frame.readUnsignedInt24(); encoderDelay = (encoderDelayAndPadding & 0xFFF000) >> 12; encoderPadding = (encoderDelayAndPadding & 0xFFF); + if (usesLameGaplessEncoding(encoderIdentifier)) { + encoderDelay += LAME_TO_DECODED_PCM_TRIM_OFFSET_SAMPLES; + encoderPadding = Math.max(0, encoderPadding - LAME_TO_DECODED_PCM_TRIM_OFFSET_SAMPLES); + } } else { replayGain = null; encoderDelay = C.LENGTH_UNSET; @@ -161,6 +173,12 @@ public long computeDurationUs() { return Util.sampleCountToDurationUs(sampleCount - 1, header.sampleRate); } + private static boolean usesLameGaplessEncoding(String encoderIdentifier) { + return encoderIdentifier.startsWith("LAME") + || encoderIdentifier.startsWith("Lavf") + || encoderIdentifier.startsWith("Lavc"); + } + /** Provide the metadata derived from this Xing frame, such as ReplayGain data. */ @Nullable public Metadata getMetadata() { diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java index 3df9f03c0a5..c8e1cfa2ba5 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java @@ -74,14 +74,61 @@ public void computeDurationUs_withInvalidGaplessSampleCount_returnsTimeUnset() { assertThat(frame.computeDurationUs()).isEqualTo(C.TIME_UNSET); } + @Test + public void parse_withLameEncoderIdentifier_adjustsDelayAndPaddingForDecodedPcm() { + XingFrame frame = + createXingFrame( + INFO_FRAME_HEADER_DATA, + /* frameCount= */ 40, + /* dataSize= */ 8_541, + /* encoderDelay= */ 576, + /* encoderPadding= */ 1_404, + /* encoderIdentifier= */ "LAME3.99r"); + + assertThat(frame.encoderDelay).isEqualTo(1_105); + assertThat(frame.encoderPadding).isEqualTo(875); + } + + @Test + public void parse_withLameEncoderIdentifierAndSmallPadding_clampsPaddingToZero() { + XingFrame frame = + createXingFrame( + INFO_FRAME_HEADER_DATA, + /* frameCount= */ 40, + /* dataSize= */ 8_541, + /* encoderDelay= */ 576, + /* encoderPadding= */ 398, + /* encoderIdentifier= */ "LAME3.99r"); + + assertThat(frame.encoderDelay).isEqualTo(1_105); + assertThat(frame.encoderPadding).isEqualTo(0); + } + private static XingFrame createXingFrame( int headerData, int frameCount, int dataSize, int encoderDelay, int encoderPadding) { + return createXingFrame( + headerData, + frameCount, + dataSize, + encoderDelay, + encoderPadding, + /* encoderIdentifier= */ ""); + } + + private static XingFrame createXingFrame( + int headerData, + int frameCount, + int dataSize, + int encoderDelay, + int encoderPadding, + String encoderIdentifier) { int encoderDelayAndPadding = (encoderDelay << 12) | encoderPadding; ByteBuffer payload = ByteBuffer.allocate(4 + 4 + 4 + 11 + 8 + 2 + 3); payload.putInt(0x03); payload.putInt(frameCount); payload.putInt(dataSize); - payload.position(payload.position() + 11 + 8 + 2); + payload.put(createFixedLengthEncoderIdentifier(encoderIdentifier)); + payload.position(payload.position() + 2 + 8 + 2); payload.put((byte) (encoderDelayAndPadding >> 16)); payload.put((byte) (encoderDelayAndPadding >> 8)); payload.put((byte) encoderDelayAndPadding); @@ -93,4 +140,16 @@ private static XingFrame createXingFrame(int headerData, byte[] payload) { xingFrameHeader.setForHeaderData(headerData); return XingFrame.parse(xingFrameHeader, new ParsableByteArray(payload)); } + + private static byte[] createFixedLengthEncoderIdentifier(String encoderIdentifier) { + byte[] fixedLengthIdentifier = new byte[9]; + byte[] identifierBytes = Util.getUtf8Bytes(encoderIdentifier); + System.arraycopy( + identifierBytes, + /* srcPos= */ 0, + fixedLengthIdentifier, + /* destPos= */ 0, + Math.min(identifierBytes.length, fixedLengthIdentifier.length)); + return fixedLengthIdentifier; + } } diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump index bf3a6e0e45f..e5032488d71 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.0.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump index eafac7a6cca..f9246a4f175 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.1.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] sample 0: time = 943000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump index 3f0892a6b4b..cad819be786 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.2.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] sample 0: time = 1879000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump index fe26e0b0756..1cdc8931fdd 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.3.dump @@ -16,7 +16,7 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump index bf3a6e0e45f..e5032488d71 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3-numeric-genre.mp3.unknown_length.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[9]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.0.dump index 8b84b79047d..8a177206bc4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.0.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.1.dump index 2a75c2bb3f7..d8463020d34 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.1.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 sample 0: time = 943000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.2.dump index 8cf7cddb906..c2db2ba9949 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.2.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 sample 0: time = 1879000 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.3.dump index 8f32b9426a9..5335ff543de 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.3.dump @@ -16,6 +16,6 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.unknown_length.dump index 8b84b79047d..8a177206bc4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-disabled.unknown_length.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.0.dump index 069b98e317f..8977fe00bdb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.0.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.1.dump index 5059438ec55..69bff6aa324 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.1.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 943000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.2.dump index 16419ce6395..6d0259bca77 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.2.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 1879000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.3.dump index a0273aac08a..f78c455ac83 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.3.dump @@ -16,7 +16,7 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.unknown_length.dump index 069b98e317f..8977fe00bdb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-id3.mp3.id3-enabled.unknown_length.dump @@ -16,8 +16,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TIT2: description=null: values=[Test title], TPE1: description=null: values=[Test Artist], TALB: description=null: values=[Test Album], TXXX: description=Test description: values=[Test user info], COMM: language=eng, description=Test description, text=Test comment, WXXX: url=Test URL, TSSE: description=null: values=[Lavf58.29.100], MLLT, PRIV: owner=test@gmail.com, UNKN, GEOB: mimeType=test/mime, filename=Testfilename.txt, description=Test description, CHAP, CHAP, CTOC, APIC: mimeType=image/jpeg, description=Test description, TCON: description=null: values=[Gorpcore]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.0.dump index 8cd6fb558dd..d3b22bcee8b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.0.dump @@ -14,8 +14,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.0.dump index 64f8f9ed283..d9eaa80c992 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.1.dump index 80a3ec9a36a..9723530e25c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 934996 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.2.dump index dedf6814967..947c5285561 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 1862989 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.3.dump index b04efec744f..61d8ee3b527 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.3.dump @@ -17,7 +17,7 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.unknown_length.dump index 64f8f9ed283..d9eaa80c992 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking-always.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.0.dump index 64f8f9ed283..d9eaa80c992 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.1.dump index 80a3ec9a36a..9723530e25c 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 934996 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.2.dump index dedf6814967..947c5285561 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 1862989 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.3.dump index b04efec744f..61d8ee3b527 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.3.dump @@ -17,7 +17,7 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.unknown_length.dump index 64f8f9ed283..d9eaa80c992 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.cbr-seeking.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.0.dump index be1d0b8adfa..ea1f0a28a0f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.1.dump index e75965fd12d..4fe163ebb97 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 840000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.2.dump index 58e2d8bc1c3..9b2c3379720 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 1800000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.3.dump index 5d9a95e4f10..5cd9e8bd34a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.3.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 2760000 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.unknown_length.dump index be1d0b8adfa..ea1f0a28a0f 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.index-seeking.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.unknown_length.dump index 8cd6fb558dd..d3b22bcee8b 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-no-toc.mp3.unknown_length.dump @@ -14,8 +14,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.0.dump index bed9d0b0a06..3e7f7191e53 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=8.14048E-40, field 1=GainField{name=1, originator=3, gain=23.3}, field 2=null] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.1.dump index 0342663e4b5..c8c00e55a9e 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=8.14048E-40, field 1=GainField{name=1, originator=3, gain=23.3}, field 2=null] sample 0: time = 904201 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.2.dump index af626679dbe..7d9902edcae 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=8.14048E-40, field 1=GainField{name=1, originator=3, gain=23.3}, field 2=null] sample 0: time = 1832197 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.3.dump index 72df85048d8..350beed88ab 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.3.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=8.14048E-40, field 1=GainField{name=1, originator=3, gain=23.3}, field 2=null] sample 0: time = 2760193 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.unknown_length.dump index bed9d0b0a06..3e7f7191e53 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-accurate.mp3.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=8.14048E-40, field 1=GainField{name=1, originator=3, gain=23.3}, field 2=null] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.0.dump index 634863540ab..a6e94cee698 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=0.0, field 1=GainField{name=1, originator=3, gain=23.0}, field 2=null] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.1.dump index 754806a1c88..6a9fdd7ae91 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=0.0, field 1=GainField{name=1, originator=3, gain=23.0}, field 2=null] sample 0: time = 904201 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.2.dump index 7865ce431f4..22c27662b17 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=0.0, field 1=GainField{name=1, originator=3, gain=23.0}, field 2=null] sample 0: time = 1832197 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.3.dump index 1d412a06dd0..6fb8f06d006 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.3.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=0.0, field 1=GainField{name=1, originator=3, gain=23.0}, field 2=null] sample 0: time = 2760193 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.unknown_length.dump index 634863540ab..a6e94cee698 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header-replaygain-fast.mp3.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100], ReplayGain Xing/Info: peak=0.0, field 1=GainField{name=1, originator=3, gain=23.0}, field 2=null] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.0.dump index 9b127a3ef9d..0243117e737 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.1.dump index 2b8c349f6d7..09a86aa2119 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 949845 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.2.dump index b5a7768aa5c..cdee0946c7a 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 1870631 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.3.dump index b68b9816f5c..bd080496d90 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.3.dump @@ -17,7 +17,7 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.unknown_length.dump index 9b127a3ef9d..0243117e737 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/bear-vbr-xing-header.mp3.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 2 sampleRate = 48000 - encoderDelay = 576 - encoderPadding = 576 + encoderDelay = 1105 + encoderPadding = 47 metadata = entries=[TSSE: description=null: values=[Lavf58.29.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.0.dump index dac98674a35..f82c0236cc7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.1.dump index fb72775fde8..b68e5ffd095 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 341911 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.2.dump index 55b1a2e30fd..352e3ae2816 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 696674 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.3.dump index 9b173c46721..bae80251fe4 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.3.dump @@ -17,7 +17,7 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.unknown_length.dump index dac98674a35..f82c0236cc7 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header-pcut-frame.mp3.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.0.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.0.dump index 1d172c38918..e8cfdb42f15 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.0.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 0 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.1.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.1.dump index d1d83bd2077..664ff36a1c6 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.1.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.1.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 349911 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.2.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.2.dump index 070022b73ff..923bdc7a7fb 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.2.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.2.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 674940 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.3.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.3.dump index 1dbaf26572d..32d80bb26ef 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.3.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.3.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 974967 diff --git a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.unknown_length.dump index 1d172c38918..e8cfdb42f15 100644 --- a/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/mp3/test-cbr-info-header.mp3.unknown_length.dump @@ -17,8 +17,8 @@ track 0: maxInputSize = 4096 channelCount = 1 sampleRate = 44100 - encoderDelay = 576 - encoderPadding = 1404 + encoderDelay = 1105 + encoderPadding = 875 metadata = entries=[TSSE: description=null: values=[Lavf58.45.100]] sample 0: time = 0