diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/MpegAudioUtil.java b/libraries/extractor/src/main/java/androidx/media3/extractor/MpegAudioUtil.java index f8fa5c99e1..105b60c830 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/MpegAudioUtil.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/MpegAudioUtil.java @@ -48,6 +48,20 @@ public final class MpegAudioUtil { /** Number of samples stored in the frame. */ public int samplesPerFrame; + /** Constructs an empty instance. */ + public Header() {} + + /** Constructs an instance with values from {@code header}. */ + public Header(Header header) { + this.version = header.version; + this.mimeType = header.mimeType; + this.frameSize = header.frameSize; + this.sampleRate = header.sampleRate; + this.channels = header.channels; + this.bitrate = header.bitrate; + this.samplesPerFrame = header.samplesPerFrame; + } + /** * Populates the fields in this instance to reflect the MPEG audio header in {@code headerData}, * returning whether the header was valid. If false, the values of the fields in this instance 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 45ddaf8f58..421f05ac20 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 @@ -60,7 +60,7 @@ import androidx.media3.extractor.MpegAudioUtil; @Nullable long[] tableOfContents, int encoderDelay, int encoderPadding) { - this.header = header; + this.header = new MpegAudioUtil.Header(header); this.frameCount = frameCount; this.dataSize = dataSize; this.tableOfContents = tableOfContents;