From 669461d754bf6360c0f1146da4b32d07c8bf4f76 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 | 20 +++- .../media3/extractor/mp3/XingFrameTest.java | 112 ++++++++++++++++++ .../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, 249 insertions(+), 117 deletions(-) create mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 07aa42a15a7..60d08c89916 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -77,6 +77,8 @@ ([#3088](https://github.com/androidx/media/issues/3088)). * MP3: Ignore Xing data length if it's longer than the known stream length ([#3117](https://github.com/androidx/media/issues/3117)). + * 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 17e2e27cd6f..830a82f96cf 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 @@ -90,8 +90,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 b62e0f074e2..2d93a543b43 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; @@ -113,7 +120,8 @@ public static XingFrame parse(MpegAudioUtil.Header mpegAudioHeader, ParsableByte int bytesToSkipAfterReplayGain = 1 + 1; // And account for values we parse, ReplayGain (8) and encoder delay & padding (3). if (frame.bytesLeft() >= bytesToSkipBeforeReplayGain + 8 + bytesToSkipAfterReplayGain + 3) { - frame.skipBytes(bytesToSkipBeforeReplayGain); + String encoderIdentifier = frame.readString(9); + frame.skipBytes(bytesToSkipBeforeReplayGain - 9); float peak = frame.readFloat(); int field1 = frame.readUnsignedShort(); int field2 = 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; @@ -155,6 +167,12 @@ public long computeDurationUs() { (frameCount * header.samplesPerFrame) - 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 new file mode 100644 index 00000000000..9b7c7007d69 --- /dev/null +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mp3/XingFrameTest.java @@ -0,0 +1,112 @@ +/* + * Copyright 2026 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.extractor.mp3; + +import static com.google.common.truth.Truth.assertThat; + +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.Util; +import androidx.media3.extractor.MpegAudioUtil; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import java.nio.ByteBuffer; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Tests for {@link XingFrame}. */ +@RunWith(AndroidJUnit4.class) +public final class XingFrameTest { + + private static final int INFO_FRAME_HEADER_DATA = 0xFFFB40C0; + + @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.put(createFixedLengthEncoderIdentifier(encoderIdentifier)); + payload.position(payload.position() + 2 + 8 + 2); + payload.put((byte) (encoderDelayAndPadding >> 16)); + payload.put((byte) (encoderDelayAndPadding >> 8)); + payload.put((byte) encoderDelayAndPadding); + return createXingFrame(headerData, payload.array()); + } + + 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; + } + + private static XingFrame createXingFrame(int headerData, byte[] payload) { + MpegAudioUtil.Header xingFrameHeader = new MpegAudioUtil.Header(); + xingFrameHeader.setForHeaderData(headerData); + return XingFrame.parse(xingFrameHeader, new ParsableByteArray(payload)); + } +} 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 5cfd3266218..18c3ed6755d 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 deb9adcbd9d..5694c370159 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 8cebd97c777..885f4fce709 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 = 943055 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 ee5e5a6f7d0..c9b6fe39fde 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 = 1879045 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 daec3f68336..a4bfb7c7f24 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 deb9adcbd9d..5694c370159 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 deb9adcbd9d..5694c370159 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 8cebd97c777..885f4fce709 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 = 943055 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 ee5e5a6f7d0..c9b6fe39fde 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 = 1879045 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 daec3f68336..a4bfb7c7f24 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 deb9adcbd9d..5694c370159 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 c1fb30310ef..4ded12d90c5 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 @@ -16,8 +16,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 07aaf5caa82..efe2e6b0451 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 @@ -16,8 +16,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 62fdef977d9..0b61c00b4a6 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 @@ -16,8 +16,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 9ec7986fb60..de56a6a688f 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 @@ -16,8 +16,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 c1fb30310ef..4ded12d90c5 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 @@ -16,8 +16,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 5cfd3266218..18c3ed6755d 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 3f4a5e2991a..3262a47a81d 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 d4564f9757e..5847f8e1a72 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 = 911992 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 40372d30314..53fd907f709 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 = 1847985 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 2d705c22f7b..da262991090 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 = 2783978 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 3f4a5e2991a..3262a47a81d 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 457facc2495..026938044fb 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 2ae4be63a28..f38dac991e6 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 = 911992 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 176b1e30fc9..a5fd64a20e9 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 = 1847985 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 649cd2e6565..6fb9e19a956 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 = 2783978 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 457facc2495..026938044fb 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 9dde5408e01..383af7b5693 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 b47319b0f7c..c25a8a10f3c 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 = 958033 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 7eabbad4cb7..70b6e4af862 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 = 1886757 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 47ba03e7576..33f27e7bd17 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 9dde5408e01..383af7b5693 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 08c75fa3453..8327588de0c 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 cd171718f2c..22b1023fc37 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 = 356871 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 103044e917a..f3de46f11a1 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 = 727157 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 5f40a3c8a4d..ca4bd4c686e 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 08c75fa3453..8327588de0c 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 adffb2383f0..1f15ccdef07 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 60efc784e76..1d5ef696631 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 = 365625 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 8e6b025b683..8bec4b7a056 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 = 705250 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 796a47b3615..413356bb935 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 = 1018750 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 adffb2383f0..1f15ccdef07 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