From 319ac2e5af6cf28e2e2fff3e12295c507ec79036 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Mon, 16 Dec 2024 05:54:58 -0800 Subject: [PATCH] Remove `Parcelable` interface from `Metadata` and `Metadata.Entry` `Parcelable` is not safe for IPCs between binaries with potentially different class definitions (e.g. two apps built from different versions of media3). If we get a use case to bundle metadata, then the `Metadata` and `Metadata.Entry` classes needs to provide a `toBundle()` method. PiperOrigin-RevId: 706678892 --- .../java/androidx/media3/common/Metadata.java | 43 +--------- .../androidx/media3/common/MetadataTest.java | 47 ---------- .../media3/container/MdtaMetadataEntry.java | 39 --------- .../media3/container/Mp4LocationData.java | 34 -------- .../media3/container/Mp4OrientationData.java | 32 ------- .../media3/container/Mp4TimestampData.java | 36 -------- .../androidx/media3/container/XmpData.java | 32 ------- .../container/MdtaMetadataEntryTest.java | 48 ----------- .../container/Mp4OrientationDataTest.java | 42 --------- .../exoplayer/hls/HlsTrackMetadataEntry.java | 85 +----------------- .../hls/HlsTrackMetadataEntryTest.java | 50 ----------- .../metadata/dvbsi/AppInfoTable.java | 29 ------- .../extractor/metadata/emsg/EventMessage.java | 42 --------- .../extractor/metadata/flac/PictureFrame.java | 46 ---------- .../metadata/flac/VorbisComment.java | 36 -------- .../extractor/metadata/icy/IcyHeaders.java | 42 --------- .../extractor/metadata/icy/IcyInfo.java | 37 -------- .../extractor/metadata/id3/ApicFrame.java | 36 -------- .../extractor/metadata/id3/BinaryFrame.java | 29 ------- .../extractor/metadata/id3/ChapterFrame.java | 49 ----------- .../metadata/id3/ChapterTocFrame.java | 42 --------- .../extractor/metadata/id3/CommentFrame.java | 34 -------- .../extractor/metadata/id3/GeobFrame.java | 36 -------- .../extractor/metadata/id3/Id3Frame.java | 5 -- .../extractor/metadata/id3/InternalFrame.java | 33 ------- .../extractor/metadata/id3/MlltFrame.java | 41 --------- .../extractor/metadata/id3/PrivFrame.java | 32 ------- .../metadata/id3/TextInformationFrame.java | 33 ------- .../extractor/metadata/id3/UrlLinkFrame.java | 33 ------- .../metadata/mp4/MotionPhotoMetadata.java | 40 --------- .../metadata/mp4/SlowMotionData.java | 59 +------------ .../metadata/mp4/SmtaMetadataEntry.java | 34 -------- .../metadata/scte35/PrivateCommand.java | 32 ------- .../metadata/scte35/SpliceCommand.java | 7 -- .../metadata/scte35/SpliceInsertCommand.java | 70 --------------- .../metadata/scte35/SpliceNullCommand.java | 25 +----- .../scte35/SpliceScheduleCommand.java | 86 ------------------- .../metadata/scte35/TimeSignalCommand.java | 23 ----- .../metadata/vorbis/VorbisComment.java | 19 ---- .../metadata/emsg/EventMessageTest.java | 42 --------- .../metadata/flac/PictureFrameTest.java | 16 ---- .../metadata/icy/IcyHeadersTest.java | 22 ----- .../extractor/metadata/icy/IcyInfoTest.java | 43 ---------- .../extractor/metadata/id3/ApicFrameTest.java | 16 ---- .../metadata/id3/ChapterFrameTest.java | 48 ----------- .../metadata/id3/ChapterTocFrameTest.java | 50 ----------- .../extractor/metadata/id3/MlltFrameTest.java | 48 ----------- .../id3/TextInformationFrameTest.java | 18 ---- .../metadata/mp4/MotionPhotoMetadataTest.java | 51 ----------- .../metadata/mp4/SmtaMetadataEntryTest.java | 44 ---------- .../metadata/vorbis/VorbisCommentTest.java | 16 ---- .../extractor/mp4/SlowMotionDataTest.java | 72 ---------------- .../media3/test/utils/FakeMetadataEntry.java | 32 ------- 53 files changed, 5 insertions(+), 2031 deletions(-) delete mode 100644 libraries/common/src/test/java/androidx/media3/common/MetadataTest.java delete mode 100644 libraries/container/src/test/java/androidx/media3/container/MdtaMetadataEntryTest.java delete mode 100644 libraries/container/src/test/java/androidx/media3/container/Mp4OrientationDataTest.java delete mode 100644 libraries/exoplayer_hls/src/test/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntryTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/emsg/EventMessageTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyInfoTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterFrameTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterTocFrameTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/MlltFrameTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadataTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntryTest.java delete mode 100644 libraries/extractor/src/test/java/androidx/media3/extractor/mp4/SlowMotionDataTest.java diff --git a/libraries/common/src/main/java/androidx/media3/common/Metadata.java b/libraries/common/src/main/java/androidx/media3/common/Metadata.java index fe98e139b1..897f8762f2 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Metadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/Metadata.java @@ -15,8 +15,6 @@ */ package androidx.media3.common; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -26,10 +24,10 @@ import java.util.List; /** A collection of metadata entries. */ @UnstableApi -public final class Metadata implements Parcelable { +public final class Metadata { /** A metadata entry. */ - public interface Entry extends Parcelable { + public interface Entry { /** * Returns the {@link Format} that can be used to decode the wrapped metadata in {@link @@ -100,14 +98,6 @@ public final class Metadata implements Parcelable { this(presentationTimeUs, entries.toArray(new Entry[0])); } - /* package */ Metadata(Parcel in) { - entries = new Metadata.Entry[in.readInt()]; - for (int i = 0; i < entries.length; i++) { - entries[i] = in.readParcelable(Entry.class.getClassLoader()); - } - presentationTimeUs = in.readLong(); - } - /** Returns the number of metadata entries. */ public int length() { return entries.length; @@ -190,33 +180,4 @@ public final class Metadata implements Parcelable { + Arrays.toString(entries) + (presentationTimeUs == C.TIME_UNSET ? "" : ", presentationTimeUs=" + presentationTimeUs); } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(entries.length); - for (Entry entry : entries) { - dest.writeParcelable(entry, 0); - } - dest.writeLong(presentationTimeUs); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - @Override - public Metadata createFromParcel(Parcel in) { - return new Metadata(in); - } - - @Override - public Metadata[] newArray(int size) { - return new Metadata[size]; - } - }; } diff --git a/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java b/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java deleted file mode 100644 index 0aa869aaad..0000000000 --- a/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.common; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.media3.test.utils.FakeMetadataEntry; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Tests for {@link Metadata}. */ -@RunWith(AndroidJUnit4.class) -public class MetadataTest { - - @Test - public void parcelable() { - Metadata metadataToParcel = - new Metadata( - /* presentationTimeUs= */ 1_230_000, - new FakeMetadataEntry("id1"), - new FakeMetadataEntry("id2")); - - Parcel parcel = Parcel.obtain(); - metadataToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - Metadata metadataFromParcel = Metadata.CREATOR.createFromParcel(parcel); - assertThat(metadataFromParcel).isEqualTo(metadataToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/container/src/main/java/androidx/media3/container/MdtaMetadataEntry.java b/libraries/container/src/main/java/androidx/media3/container/MdtaMetadataEntry.java index a2a9b4cd9a..428c485f75 100644 --- a/libraries/container/src/main/java/androidx/media3/container/MdtaMetadataEntry.java +++ b/libraries/container/src/main/java/androidx/media3/container/MdtaMetadataEntry.java @@ -18,8 +18,6 @@ package androidx.media3.container; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.ParsableByteArray; @@ -111,14 +109,6 @@ public final class MdtaMetadataEntry implements Metadata.Entry { this.typeIndicator = typeIndicator; } - private MdtaMetadataEntry(Parcel in) { - key = Util.castNonNull(in.readString()); - value = Util.castNonNull(in.createByteArray()); - localeIndicator = in.readInt(); - typeIndicator = in.readInt(); - validateData(key, value, typeIndicator); - } - /** * Returns the auxiliary track types from the {@linkplain #KEY_AUXILIARY_TRACKS_MAP auxiliary * tracks map} metadata. @@ -191,35 +181,6 @@ public final class MdtaMetadataEntry implements Metadata.Entry { return "mdta: key=" + key + ", value=" + formattedValue; } - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(key); - dest.writeByteArray(value); - dest.writeInt(localeIndicator); - dest.writeInt(typeIndicator); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public MdtaMetadataEntry createFromParcel(Parcel in) { - return new MdtaMetadataEntry(in); - } - - @Override - public MdtaMetadataEntry[] newArray(int size) { - return new MdtaMetadataEntry[size]; - } - }; - private static void validateData(String key, byte[] value, int typeIndicator) { switch (key) { case KEY_ANDROID_CAPTURE_FPS: diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java b/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java index 5697b9a932..7665e41838 100644 --- a/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4LocationData.java @@ -17,8 +17,6 @@ package androidx.media3.container; import static androidx.media3.common.util.Assertions.checkArgument; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.FloatRange; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; @@ -47,11 +45,6 @@ public final class Mp4LocationData implements Metadata.Entry { this.longitude = longitude; } - private Mp4LocationData(Parcel in) { - latitude = in.readFloat(); - longitude = in.readFloat(); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -76,31 +69,4 @@ public final class Mp4LocationData implements Metadata.Entry { public String toString() { return "xyz: latitude=" + latitude + ", longitude=" + longitude; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeFloat(latitude); - dest.writeFloat(longitude); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public Mp4LocationData createFromParcel(Parcel in) { - return new Mp4LocationData(in); - } - - @Override - public Mp4LocationData[] newArray(int size) { - return new Mp4LocationData[size]; - } - }; } diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4OrientationData.java b/libraries/container/src/main/java/androidx/media3/container/Mp4OrientationData.java index d8145620ca..f67a6cbd69 100644 --- a/libraries/container/src/main/java/androidx/media3/container/Mp4OrientationData.java +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4OrientationData.java @@ -17,8 +17,6 @@ package androidx.media3.container; import static androidx.media3.common.util.Assertions.checkArgument; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; @@ -41,10 +39,6 @@ public final class Mp4OrientationData implements Metadata.Entry { this.orientation = orientation; } - private Mp4OrientationData(Parcel in) { - orientation = in.readInt(); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -68,30 +62,4 @@ public final class Mp4OrientationData implements Metadata.Entry { public String toString() { return "Orientation= " + orientation; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(orientation); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public Mp4OrientationData createFromParcel(Parcel in) { - return new Mp4OrientationData(in); - } - - @Override - public Mp4OrientationData[] newArray(int size) { - return new Mp4OrientationData[size]; - } - }; } diff --git a/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java b/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java index 26893496ca..c8e938d522 100644 --- a/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java +++ b/libraries/container/src/main/java/androidx/media3/container/Mp4TimestampData.java @@ -15,8 +15,6 @@ */ package androidx.media3.container; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; @@ -76,12 +74,6 @@ public final class Mp4TimestampData implements Metadata.Entry { this.timescale = timescale; } - private Mp4TimestampData(Parcel in) { - this.creationTimestampSeconds = in.readLong(); - this.modificationTimestampSeconds = in.readLong(); - this.timescale = in.readLong(); - } - /** * Returns an MP4 timestamp (in seconds since midnight, January 1, 1904) from a Unix epoch * timestamp (in milliseconds since midnight, January 1, 1970). @@ -124,32 +116,4 @@ public final class Mp4TimestampData implements Metadata.Entry { + ", timescale=" + timescale; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(creationTimestampSeconds); - dest.writeLong(modificationTimestampSeconds); - dest.writeLong(timescale); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public Mp4TimestampData createFromParcel(Parcel in) { - return new Mp4TimestampData(in); - } - - @Override - public Mp4TimestampData[] newArray(int size) { - return new Mp4TimestampData[size]; - } - }; } diff --git a/libraries/container/src/main/java/androidx/media3/container/XmpData.java b/libraries/container/src/main/java/androidx/media3/container/XmpData.java index 2322b071df..e3656282b0 100644 --- a/libraries/container/src/main/java/androidx/media3/container/XmpData.java +++ b/libraries/container/src/main/java/androidx/media3/container/XmpData.java @@ -15,8 +15,6 @@ */ package androidx.media3.container; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; @@ -33,10 +31,6 @@ public final class XmpData implements Metadata.Entry { this.data = data; } - private XmpData(Parcel in) { - this.data = Util.castNonNull(in.createByteArray()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -58,30 +52,4 @@ public final class XmpData implements Metadata.Entry { public String toString() { return "XMP: " + Util.toHexString(data); } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeByteArray(data); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public XmpData createFromParcel(Parcel in) { - return new XmpData(in); - } - - @Override - public XmpData[] newArray(int size) { - return new XmpData[size]; - } - }; } diff --git a/libraries/container/src/test/java/androidx/media3/container/MdtaMetadataEntryTest.java b/libraries/container/src/test/java/androidx/media3/container/MdtaMetadataEntryTest.java deleted file mode 100644 index 860010821b..0000000000 --- a/libraries/container/src/test/java/androidx/media3/container/MdtaMetadataEntryTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2019 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.container; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link MdtaMetadataEntry}. */ -@RunWith(AndroidJUnit4.class) -public final class MdtaMetadataEntryTest { - - @Test - public void parcelable() { - MdtaMetadataEntry mdtaMetadataEntryToParcel = - new MdtaMetadataEntry( - /* key= */ "test", - /* value= */ new byte[] {1, 2}, - /* localeIndicator= */ 3, - /* typeIndicator= */ 4); - - Parcel parcel = Parcel.obtain(); - mdtaMetadataEntryToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - MdtaMetadataEntry mdtaMetadataEntryFromParcel = - MdtaMetadataEntry.CREATOR.createFromParcel(parcel); - assertThat(mdtaMetadataEntryFromParcel).isEqualTo(mdtaMetadataEntryToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/container/src/test/java/androidx/media3/container/Mp4OrientationDataTest.java b/libraries/container/src/test/java/androidx/media3/container/Mp4OrientationDataTest.java deleted file mode 100644 index da4f6feb8c..0000000000 --- a/libraries/container/src/test/java/androidx/media3/container/Mp4OrientationDataTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2024 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.container; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link Mp4OrientationData}. */ -@RunWith(AndroidJUnit4.class) -public final class Mp4OrientationDataTest { - - @Test - public void parcelable() { - Mp4OrientationData mp4OrientationData = new Mp4OrientationData(/* orientation= */ 90); - - Parcel parcel = Parcel.obtain(); - mp4OrientationData.writeToParcel(parcel, /* flags= */ 0); - parcel.setDataPosition(0); - - Mp4OrientationData mp4OrientationDataFromParcel = - Mp4OrientationData.CREATOR.createFromParcel(parcel); - assertThat(mp4OrientationDataFromParcel).isEqualTo(mp4OrientationData); - parcel.recycle(); - } -} diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntry.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntry.java index 5f864a4dd1..10181ff835 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntry.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntry.java @@ -15,8 +15,6 @@ */ package androidx.media3.exoplayer.hls; -import android.os.Parcel; -import android.os.Parcelable; import android.text.TextUtils; import androidx.annotation.Nullable; import androidx.media3.common.Format; @@ -31,7 +29,7 @@ import java.util.List; public final class HlsTrackMetadataEntry implements Metadata.Entry { /** Holds attributes defined in an EXT-X-STREAM-INF tag. */ - public static final class VariantInfo implements Parcelable { + public static final class VariantInfo { /** * The average bitrate as declared by the AVERAGE-BANDWIDTH attribute of the EXT-X-STREAM-INF @@ -91,15 +89,6 @@ public final class HlsTrackMetadataEntry implements Metadata.Entry { this.captionGroupId = captionGroupId; } - /* package */ VariantInfo(Parcel in) { - averageBitrate = in.readInt(); - peakBitrate = in.readInt(); - videoGroupId = in.readString(); - audioGroupId = in.readString(); - subtitleGroupId = in.readString(); - captionGroupId = in.readString(); - } - @Override public boolean equals(@Nullable Object other) { if (this == other) { @@ -127,36 +116,6 @@ public final class HlsTrackMetadataEntry implements Metadata.Entry { result = 31 * result + (captionGroupId != null ? captionGroupId.hashCode() : 0); return result; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(averageBitrate); - dest.writeInt(peakBitrate); - dest.writeString(videoGroupId); - dest.writeString(audioGroupId); - dest.writeString(subtitleGroupId); - dest.writeString(captionGroupId); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - @Override - public VariantInfo createFromParcel(Parcel in) { - return new VariantInfo(in); - } - - @Override - public VariantInfo[] newArray(int size) { - return new VariantInfo[size]; - } - }; } /** @@ -191,17 +150,6 @@ public final class HlsTrackMetadataEntry implements Metadata.Entry { this.variantInfos = Collections.unmodifiableList(new ArrayList<>(variantInfos)); } - /* package */ HlsTrackMetadataEntry(Parcel in) { - groupId = in.readString(); - name = in.readString(); - int variantInfoSize = in.readInt(); - ArrayList variantInfos = new ArrayList<>(variantInfoSize); - for (int i = 0; i < variantInfoSize; i++) { - variantInfos.add(in.readParcelable(VariantInfo.class.getClassLoader())); - } - this.variantInfos = Collections.unmodifiableList(variantInfos); - } - @Override public String toString() { return "HlsTrackMetadataEntry" + (groupId != null ? (" [" + groupId + ", " + name + "]") : ""); @@ -229,35 +177,4 @@ public final class HlsTrackMetadataEntry implements Metadata.Entry { result = 31 * result + variantInfos.hashCode(); return result; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(groupId); - dest.writeString(name); - int variantInfosSize = variantInfos.size(); - dest.writeInt(variantInfosSize); - for (int i = 0; i < variantInfosSize; i++) { - dest.writeParcelable(variantInfos.get(i), /* parcelableFlags= */ 0); - } - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - @Override - public HlsTrackMetadataEntry createFromParcel(Parcel in) { - return new HlsTrackMetadataEntry(in); - } - - @Override - public HlsTrackMetadataEntry[] newArray(int size) { - return new HlsTrackMetadataEntry[size]; - } - }; } diff --git a/libraries/exoplayer_hls/src/test/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntryTest.java b/libraries/exoplayer_hls/src/test/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntryTest.java deleted file mode 100644 index bffd5b743a..0000000000 --- a/libraries/exoplayer_hls/src/test/java/androidx/media3/exoplayer/hls/HlsTrackMetadataEntryTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.exoplayer.hls; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.media3.exoplayer.hls.HlsTrackMetadataEntry.VariantInfo; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link HlsTrackMetadataEntry}. */ -@RunWith(AndroidJUnit4.class) -public class HlsTrackMetadataEntryTest { - - @Test - public void variantInfo_parcelRoundTrip_isEqual() { - VariantInfo variantInfoToParcel = - new VariantInfo( - /* averageBitrate= */ 1024, - /* peakBitrate= */ 2048, - "videoGroupId", - "audioGroupId", - "subtitleGroupId", - "captionGroupId"); - - Parcel parcel = Parcel.obtain(); - variantInfoToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - VariantInfo variantInfoFromParcel = VariantInfo.CREATOR.createFromParcel(parcel); - assertThat(variantInfoFromParcel).isEqualTo(variantInfoToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/dvbsi/AppInfoTable.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/dvbsi/AppInfoTable.java index 2374e42709..092ccd099c 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/dvbsi/AppInfoTable.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/dvbsi/AppInfoTable.java @@ -15,10 +15,7 @@ */ package androidx.media3.extractor.metadata.dvbsi; -import android.os.Parcel; -import android.os.Parcelable; import androidx.media3.common.Metadata; -import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; /** @@ -54,30 +51,4 @@ public final class AppInfoTable implements Metadata.Entry { public String toString() { return "Ait(controlCode=" + controlCode + ",url=" + url + ")"; } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel parcel, int i) { - parcel.writeString(url); - parcel.writeInt(controlCode); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - @Override - public AppInfoTable createFromParcel(Parcel in) { - String url = Assertions.checkNotNull(in.readString()); - int controlCode = in.readInt(); - return new AppInfoTable(controlCode, url); - } - - @Override - public AppInfoTable[] newArray(int size) { - return new AppInfoTable[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/emsg/EventMessage.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/emsg/EventMessage.java index 8d760f19fc..91277d3ea5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/emsg/EventMessage.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/emsg/EventMessage.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.emsg; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.Format; @@ -90,14 +86,6 @@ public final class EventMessage implements Metadata.Entry { this.messageData = messageData; } - /* package */ EventMessage(Parcel in) { - schemeIdUri = castNonNull(in.readString()); - value = castNonNull(in.readString()); - durationMs = in.readLong(); - id = in.readLong(); - messageData = castNonNull(in.createByteArray()); - } - @Override @Nullable public Format getWrappedMetadataFormat() { @@ -159,34 +147,4 @@ public final class EventMessage implements Metadata.Entry { + ", value=" + value; } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(schemeIdUri); - dest.writeString(value); - dest.writeLong(durationMs); - dest.writeLong(id); - dest.writeByteArray(messageData); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public EventMessage createFromParcel(Parcel in) { - return new EventMessage(in); - } - - @Override - public EventMessage[] newArray(int size) { - return new EventMessage[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/PictureFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/PictureFrame.java index f2c50b255f..7d0b4c7772 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/PictureFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/PictureFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.flac; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; @@ -75,17 +71,6 @@ public final class PictureFrame implements Metadata.Entry { this.pictureData = pictureData; } - /* package */ PictureFrame(Parcel in) { - this.pictureType = in.readInt(); - this.mimeType = castNonNull(in.readString()); - this.description = castNonNull(in.readString()); - this.width = in.readInt(); - this.height = in.readInt(); - this.depth = in.readInt(); - this.colors = in.readInt(); - this.pictureData = castNonNull(in.createByteArray()); - } - @Override public void populateMediaMetadata(MediaMetadata.Builder builder) { builder.maybeSetArtworkData(pictureData, pictureType); @@ -129,23 +114,6 @@ public final class PictureFrame implements Metadata.Entry { return result; } - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(pictureType); - dest.writeString(mimeType); - dest.writeString(description); - dest.writeInt(width); - dest.writeInt(height); - dest.writeInt(depth); - dest.writeInt(colors); - dest.writeByteArray(pictureData); - } - - @Override - public int describeContents() { - return 0; - } - /** * Parses a {@code METADATA_BLOCK_PICTURE} into a {@code PictureFrame} instance. * @@ -176,18 +144,4 @@ public final class PictureFrame implements Metadata.Entry { return new PictureFrame( pictureType, mimeType, description, width, height, depth, colors, pictureData); } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public PictureFrame createFromParcel(Parcel in) { - return new PictureFrame(in); - } - - @Override - public PictureFrame[] newArray(int size) { - return new PictureFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/VorbisComment.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/VorbisComment.java index 746effc8d4..9660b07e24 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/VorbisComment.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/flac/VorbisComment.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.flac; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; @@ -52,11 +48,6 @@ public class VorbisComment implements Metadata.Entry { this.value = value; } - protected VorbisComment(Parcel in) { - this.key = castNonNull(in.readString()); - this.value = castNonNull(in.readString()); - } - @Override public void populateMediaMetadata(MediaMetadata.Builder builder) { // Vorbis comments can have duplicate keys, but all these fields are singular on MediaMetadata, @@ -134,31 +125,4 @@ public class VorbisComment implements Metadata.Entry { result = 31 * result + value.hashCode(); return result; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(key); - dest.writeString(value); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public VorbisComment createFromParcel(Parcel in) { - return new VorbisComment(in); - } - - @Override - public VorbisComment[] newArray(int size) { - return new VorbisComment[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyHeaders.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyHeaders.java index a3cd64698d..af232e1139 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyHeaders.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyHeaders.java @@ -15,8 +15,6 @@ */ package androidx.media3.extractor.metadata.icy; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; @@ -167,15 +165,6 @@ public final class IcyHeaders implements Metadata.Entry { this.metadataInterval = metadataInterval; } - /* package */ IcyHeaders(Parcel in) { - bitrate = in.readInt(); - genre = in.readString(); - name = in.readString(); - url = in.readString(); - isPublic = Util.readBoolean(in); - metadataInterval = in.readInt(); - } - @Override public void populateMediaMetadata(MediaMetadata.Builder builder) { if (name != null) { @@ -226,35 +215,4 @@ public final class IcyHeaders implements Metadata.Entry { + ", metadataInterval=" + metadataInterval; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(bitrate); - dest.writeString(genre); - dest.writeString(name); - dest.writeString(url); - Util.writeBoolean(dest, isPublic); - dest.writeInt(metadataInterval); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public IcyHeaders createFromParcel(Parcel in) { - return new IcyHeaders(in); - } - - @Override - public IcyHeaders[] newArray(int size) { - return new IcyHeaders[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyInfo.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyInfo.java index 1a18e74ccf..7142125a57 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyInfo.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/icy/IcyInfo.java @@ -15,12 +15,9 @@ */ package androidx.media3.extractor.metadata.icy; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; -import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import java.util.Arrays; @@ -51,12 +48,6 @@ public final class IcyInfo implements Metadata.Entry { this.url = url; } - /* package */ IcyInfo(Parcel in) { - rawMetadata = Assertions.checkNotNull(in.createByteArray()); - title = in.readString(); - url = in.readString(); - } - @Override public void populateMediaMetadata(MediaMetadata.Builder builder) { if (title != null) { @@ -88,32 +79,4 @@ public final class IcyInfo implements Metadata.Entry { return String.format( "ICY: title=\"%s\", url=\"%s\", rawMetadata.length=\"%s\"", title, url, rawMetadata.length); } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeByteArray(rawMetadata); - dest.writeString(title); - dest.writeString(url); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public IcyInfo createFromParcel(Parcel in) { - return new IcyInfo(in); - } - - @Override - public IcyInfo[] newArray(int size) { - return new IcyInfo[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ApicFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ApicFrame.java index c2d6f412ca..c4aadf4f80 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ApicFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ApicFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.MediaMetadata; import androidx.media3.common.util.UnstableApi; @@ -45,14 +41,6 @@ public final class ApicFrame extends Id3Frame { this.pictureData = pictureData; } - /* package */ ApicFrame(Parcel in) { - super(ID); - mimeType = castNonNull(in.readString()); - description = in.readString(); - pictureType = in.readInt(); - pictureData = castNonNull(in.createByteArray()); - } - @Override public void populateMediaMetadata(MediaMetadata.Builder builder) { builder.maybeSetArtworkData(pictureData, pictureType); @@ -87,28 +75,4 @@ public final class ApicFrame extends Id3Frame { public String toString() { return id + ": mimeType=" + mimeType + ", description=" + description; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(mimeType); - dest.writeString(description); - dest.writeInt(pictureType); - dest.writeByteArray(pictureData); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public ApicFrame createFromParcel(Parcel in) { - return new ApicFrame(in); - } - - @Override - public ApicFrame[] newArray(int size) { - return new ApicFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/BinaryFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/BinaryFrame.java index ef7af2bd08..4ed6e04018 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/BinaryFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/BinaryFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import java.util.Arrays; @@ -34,11 +30,6 @@ public final class BinaryFrame extends Id3Frame { this.data = data; } - /* package */ BinaryFrame(Parcel in) { - super(castNonNull(in.readString())); - data = castNonNull(in.createByteArray()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -58,24 +49,4 @@ public final class BinaryFrame extends Id3Frame { result = 31 * result + Arrays.hashCode(data); return result; } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(id); - dest.writeByteArray(data); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public BinaryFrame createFromParcel(Parcel in) { - return new BinaryFrame(in); - } - - @Override - public BinaryFrame[] newArray(int size) { - return new BinaryFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterFrame.java index 4f5c88b6d3..24b8c4aaae 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterFrame.java @@ -15,9 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; @@ -58,20 +55,6 @@ public final class ChapterFrame extends Id3Frame { this.subFrames = subFrames; } - /* package */ ChapterFrame(Parcel in) { - super(ID); - this.chapterId = castNonNull(in.readString()); - this.startTimeMs = in.readInt(); - this.endTimeMs = in.readInt(); - this.startOffset = in.readLong(); - this.endOffset = in.readLong(); - int subFrameCount = in.readInt(); - subFrames = new Id3Frame[subFrameCount]; - for (int i = 0; i < subFrameCount; i++) { - subFrames[i] = in.readParcelable(Id3Frame.class.getClassLoader()); - } - } - /** Returns the number of sub-frames. */ public int getSubFrameCount() { return subFrames.length; @@ -109,36 +92,4 @@ public final class ChapterFrame extends Id3Frame { result = 31 * result + (chapterId != null ? chapterId.hashCode() : 0); return result; } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(chapterId); - dest.writeInt(startTimeMs); - dest.writeInt(endTimeMs); - dest.writeLong(startOffset); - dest.writeLong(endOffset); - dest.writeInt(subFrames.length); - for (Id3Frame subFrame : subFrames) { - dest.writeParcelable(subFrame, 0); - } - } - - @Override - public int describeContents() { - return 0; - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public ChapterFrame createFromParcel(Parcel in) { - return new ChapterFrame(in); - } - - @Override - public ChapterFrame[] newArray(int size) { - return new ChapterFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterTocFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterTocFrame.java index c44da22655..43397f6d9b 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterTocFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/ChapterTocFrame.java @@ -15,9 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -49,19 +46,6 @@ public final class ChapterTocFrame extends Id3Frame { this.subFrames = subFrames; } - /* package */ ChapterTocFrame(Parcel in) { - super(ID); - this.elementId = castNonNull(in.readString()); - this.isRoot = in.readByte() != 0; - this.isOrdered = in.readByte() != 0; - this.children = castNonNull(in.createStringArray()); - int subFrameCount = in.readInt(); - subFrames = new Id3Frame[subFrameCount]; - for (int i = 0; i < subFrameCount; i++) { - subFrames[i] = in.readParcelable(Id3Frame.class.getClassLoader()); - } - } - /** Returns the number of sub-frames. */ public int getSubFrameCount() { return subFrames.length; @@ -96,30 +80,4 @@ public final class ChapterTocFrame extends Id3Frame { result = 31 * result + (elementId != null ? elementId.hashCode() : 0); return result; } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(elementId); - dest.writeByte((byte) (isRoot ? 1 : 0)); - dest.writeByte((byte) (isOrdered ? 1 : 0)); - dest.writeStringArray(children); - dest.writeInt(subFrames.length); - for (Id3Frame subFrame : subFrames) { - dest.writeParcelable(subFrame, 0); - } - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public ChapterTocFrame createFromParcel(Parcel in) { - return new ChapterTocFrame(in); - } - - @Override - public ChapterTocFrame[] newArray(int size) { - return new ChapterTocFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/CommentFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/CommentFrame.java index 737e450368..83f7669fef 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/CommentFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/CommentFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -40,13 +36,6 @@ public final class CommentFrame extends Id3Frame { this.text = text; } - /* package */ CommentFrame(Parcel in) { - super(ID); - language = castNonNull(in.readString()); - description = castNonNull(in.readString()); - text = castNonNull(in.readString()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -74,27 +63,4 @@ public final class CommentFrame extends Id3Frame { public String toString() { return id + ": language=" + language + ", description=" + description + ", text=" + text; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(id); - dest.writeString(language); - dest.writeString(text); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public CommentFrame createFromParcel(Parcel in) { - return new CommentFrame(in); - } - - @Override - public CommentFrame[] newArray(int size) { - return new CommentFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/GeobFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/GeobFrame.java index b179a4d54c..91ffc4b2f9 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/GeobFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/GeobFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -43,14 +39,6 @@ public final class GeobFrame extends Id3Frame { this.data = data; } - /* package */ GeobFrame(Parcel in) { - super(ID); - mimeType = castNonNull(in.readString()); - filename = castNonNull(in.readString()); - description = castNonNull(in.readString()); - data = castNonNull(in.createByteArray()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -86,28 +74,4 @@ public final class GeobFrame extends Id3Frame { + ", description=" + description; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(mimeType); - dest.writeString(filename); - dest.writeString(description); - dest.writeByteArray(data); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public GeobFrame createFromParcel(Parcel in) { - return new GeobFrame(in); - } - - @Override - public GeobFrame[] newArray(int size) { - return new GeobFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/Id3Frame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/Id3Frame.java index cd35f9c9fd..0b4c45ca8c 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/Id3Frame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/Id3Frame.java @@ -33,9 +33,4 @@ public abstract class Id3Frame implements Metadata.Entry { public String toString() { return id; } - - @Override - public int describeContents() { - return 0; - } } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/InternalFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/InternalFrame.java index 0f5243dce4..72f29ba594 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/InternalFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/InternalFrame.java @@ -15,9 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -39,13 +36,6 @@ public final class InternalFrame extends Id3Frame { this.text = text; } - /* package */ InternalFrame(Parcel in) { - super(ID); - domain = castNonNull(in.readString()); - description = castNonNull(in.readString()); - text = castNonNull(in.readString()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -73,27 +63,4 @@ public final class InternalFrame extends Id3Frame { public String toString() { return id + ": domain=" + domain + ", description=" + description; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(id); - dest.writeString(domain); - dest.writeString(text); - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public InternalFrame createFromParcel(Parcel in) { - return new InternalFrame(in); - } - - @Override - public InternalFrame[] newArray(int size) { - return new InternalFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/MlltFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/MlltFrame.java index 5c1c3697a4..54439558e1 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/MlltFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/MlltFrame.java @@ -15,10 +15,8 @@ */ package androidx.media3.extractor.metadata.id3; -import android.os.Parcel; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; -import androidx.media3.common.util.Util; import java.util.Arrays; /** MPEG location lookup table frame. */ @@ -47,15 +45,6 @@ public final class MlltFrame extends Id3Frame { this.millisecondsDeviations = millisecondsDeviations; } - /* package */ MlltFrame(Parcel in) { - super(ID); - this.mpegFramesBetweenReference = in.readInt(); - this.bytesBetweenReference = in.readInt(); - this.millisecondsBetweenReference = in.readInt(); - this.bytesDeviations = Util.castNonNull(in.createIntArray()); - this.millisecondsDeviations = Util.castNonNull(in.createIntArray()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -82,34 +71,4 @@ public final class MlltFrame extends Id3Frame { result = 31 * result + Arrays.hashCode(millisecondsDeviations); return result; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeInt(mpegFramesBetweenReference); - dest.writeInt(bytesBetweenReference); - dest.writeInt(millisecondsBetweenReference); - dest.writeIntArray(bytesDeviations); - dest.writeIntArray(millisecondsDeviations); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public MlltFrame createFromParcel(Parcel in) { - return new MlltFrame(in); - } - - @Override - public MlltFrame[] newArray(int size) { - return new MlltFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/PrivFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/PrivFrame.java index cbdcaeae32..458d377ab8 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/PrivFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/PrivFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -39,12 +35,6 @@ public final class PrivFrame extends Id3Frame { this.privateData = privateData; } - /* package */ PrivFrame(Parcel in) { - super(ID); - owner = castNonNull(in.readString()); - privateData = castNonNull(in.createByteArray()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -69,26 +59,4 @@ public final class PrivFrame extends Id3Frame { public String toString() { return id + ": owner=" + owner; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(owner); - dest.writeByteArray(privateData); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public PrivFrame createFromParcel(Parcel in) { - return new PrivFrame(in); - } - - @Override - public PrivFrame[] newArray(int size) { - return new PrivFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/TextInformationFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/TextInformationFrame.java index 8719f9c2f0..e2b6bc4b42 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/TextInformationFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/TextInformationFrame.java @@ -16,10 +16,7 @@ package androidx.media3.extractor.metadata.id3; import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkNotNull; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.MediaMetadata; import androidx.media3.common.util.UnstableApi; @@ -66,13 +63,6 @@ public final class TextInformationFrame extends Id3Frame { this(id, description, ImmutableList.of(value)); } - private TextInformationFrame(Parcel in) { - this( - checkNotNull(in.readString()), - in.readString(), - ImmutableList.copyOf(checkNotNull(in.createStringArray()))); - } - /** * Uses the first element in {@link #values} to set the relevant field in {@link MediaMetadata} * (as determined by {@link #id}). @@ -221,29 +211,6 @@ public final class TextInformationFrame extends Id3Frame { return id + ": description=" + description + ": values=" + values; } - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(id); - dest.writeString(description); - dest.writeStringArray(values.toArray(new String[0])); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public TextInformationFrame createFromParcel(Parcel in) { - return new TextInformationFrame(in); - } - - @Override - public TextInformationFrame[] newArray(int size) { - return new TextInformationFrame[size]; - } - }; - // Private methods private static List parseId3v2point4TimestampFrameForDate(String value) { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/UrlLinkFrame.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/UrlLinkFrame.java index a7aaf05817..4f2218f2c6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/UrlLinkFrame.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/id3/UrlLinkFrame.java @@ -15,10 +15,6 @@ */ package androidx.media3.extractor.metadata.id3; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -36,12 +32,6 @@ public final class UrlLinkFrame extends Id3Frame { this.url = url; } - /* package */ UrlLinkFrame(Parcel in) { - super(castNonNull(in.readString())); - description = in.readString(); - url = castNonNull(in.readString()); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -69,27 +59,4 @@ public final class UrlLinkFrame extends Id3Frame { public String toString() { return id + ": url=" + url; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(id); - dest.writeString(description); - dest.writeString(url); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public UrlLinkFrame createFromParcel(Parcel in) { - return new UrlLinkFrame(in); - } - - @Override - public UrlLinkFrame[] newArray(int size) { - return new UrlLinkFrame[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadata.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadata.java index fd7deb72bb..ca01f9e824 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadata.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadata.java @@ -16,8 +16,6 @@ package androidx.media3.extractor.metadata.mp4; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Metadata; @@ -59,14 +57,6 @@ public final class MotionPhotoMetadata implements Metadata.Entry { this.videoSize = videoSize; } - private MotionPhotoMetadata(Parcel in) { - photoStartPosition = in.readLong(); - photoSize = in.readLong(); - photoPresentationTimestampUs = in.readLong(); - videoStartPosition = in.readLong(); - videoSize = in.readLong(); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -107,34 +97,4 @@ public final class MotionPhotoMetadata implements Metadata.Entry { + ", videoSize=" + videoSize; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(photoStartPosition); - dest.writeLong(photoSize); - dest.writeLong(photoPresentationTimestampUs); - dest.writeLong(videoStartPosition); - dest.writeLong(videoSize); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public MotionPhotoMetadata createFromParcel(Parcel in) { - return new MotionPhotoMetadata(in); - } - - @Override - public MotionPhotoMetadata[] newArray(int size) { - return new MotionPhotoMetadata[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SlowMotionData.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SlowMotionData.java index a48b7c2090..d451e55ddd 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SlowMotionData.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SlowMotionData.java @@ -17,15 +17,12 @@ package androidx.media3.extractor.metadata.mp4; import static androidx.media3.common.util.Assertions.checkArgument; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Objects; import com.google.common.collect.ComparisonChain; -import java.util.ArrayList; import java.util.Comparator; import java.util.List; @@ -34,7 +31,7 @@ import java.util.List; public final class SlowMotionData implements Metadata.Entry { /** Holds information about a single segment of slow motion playback within a track. */ - public static final class Segment implements Parcelable { + public static final class Segment { public static final Comparator BY_START_THEN_END_THEN_DIVISOR = (s1, s2) -> @@ -97,35 +94,6 @@ public final class SlowMotionData implements Metadata.Entry { public int hashCode() { return Objects.hashCode(startTimeMs, endTimeMs, speedDivisor); } - - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(startTimeMs); - dest.writeLong(endTimeMs); - dest.writeInt(speedDivisor); - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public Segment createFromParcel(Parcel in) { - long startTimeMs = in.readLong(); - long endTimeMs = in.readLong(); - int speedDivisor = in.readInt(); - return new Segment(startTimeMs, endTimeMs, speedDivisor); - } - - @Override - public Segment[] newArray(int size) { - return new Segment[size]; - } - }; } public final List segments; @@ -163,31 +131,6 @@ public final class SlowMotionData implements Metadata.Entry { return segments.hashCode(); } - @Override - public int describeContents() { - return 0; - } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeList(segments); - } - - public static final Creator CREATOR = - new Creator() { - @Override - public SlowMotionData createFromParcel(Parcel in) { - List slowMotionSegments = new ArrayList<>(); - in.readList(slowMotionSegments, Segment.class.getClassLoader()); - return new SlowMotionData(slowMotionSegments); - } - - @Override - public SlowMotionData[] newArray(int size) { - return new SlowMotionData[size]; - } - }; - private static boolean doSegmentsOverlap(List segments) { if (segments.isEmpty()) { return false; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntry.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntry.java index b92fc3e495..bbc3e43920 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntry.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntry.java @@ -15,8 +15,6 @@ */ package androidx.media3.extractor.metadata.mp4; -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Metadata; @@ -47,11 +45,6 @@ public final class SmtaMetadataEntry implements Metadata.Entry { this.svcTemporalLayerCount = svcTemporalLayerCount; } - private SmtaMetadataEntry(Parcel in) { - captureFrameRate = in.readFloat(); - svcTemporalLayerCount = in.readInt(); - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -80,31 +73,4 @@ public final class SmtaMetadataEntry implements Metadata.Entry { + ", svcTemporalLayerCount=" + svcTemporalLayerCount; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeFloat(captureFrameRate); - dest.writeInt(svcTemporalLayerCount); - } - - @Override - public int describeContents() { - return 0; - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public SmtaMetadataEntry createFromParcel(Parcel in) { - return new SmtaMetadataEntry(in); - } - - @Override - public SmtaMetadataEntry[] newArray(int size) { - return new SmtaMetadataEntry[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/PrivateCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/PrivateCommand.java index fc1faac4f2..f4d4e8e0f6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/PrivateCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/PrivateCommand.java @@ -15,11 +15,8 @@ */ package androidx.media3.extractor.metadata.scte35; -import android.os.Parcel; -import android.os.Parcelable; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.UnstableApi; -import androidx.media3.common.util.Util; /** Represents a private command as defined in SCTE35, Section 9.3.6. */ @UnstableApi @@ -40,12 +37,6 @@ public final class PrivateCommand extends SpliceCommand { this.commandBytes = commandBytes; } - private PrivateCommand(Parcel in) { - ptsAdjustment = in.readLong(); - identifier = in.readLong(); - commandBytes = Util.castNonNull(in.createByteArray()); - } - /* package */ static PrivateCommand parseFromSection( ParsableByteArray sectionData, int commandLength, long ptsAdjustment) { long identifier = sectionData.readUnsignedInt(); @@ -62,27 +53,4 @@ public final class PrivateCommand extends SpliceCommand { + identifier + " }"; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(ptsAdjustment); - dest.writeLong(identifier); - dest.writeByteArray(commandBytes); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public PrivateCommand createFromParcel(Parcel in) { - return new PrivateCommand(in); - } - - @Override - public PrivateCommand[] newArray(int size) { - return new PrivateCommand[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceCommand.java index bd0a7ba74a..018aeefad5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceCommand.java @@ -26,11 +26,4 @@ public abstract class SpliceCommand implements Metadata.Entry { public String toString() { return "SCTE-35 splice command: type=" + getClass().getSimpleName(); } - - // Parcelable implementation. - - @Override - public int describeContents() { - return 0; - } } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceInsertCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceInsertCommand.java index 8a53dc6c1e..38cb9f4c25 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceInsertCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceInsertCommand.java @@ -15,8 +15,6 @@ */ package androidx.media3.extractor.metadata.scte35; -import android.os.Parcel; -import android.os.Parcelable; import androidx.media3.common.C; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.TimestampAdjuster; @@ -119,27 +117,6 @@ public final class SpliceInsertCommand extends SpliceCommand { this.availsExpected = availsExpected; } - private SpliceInsertCommand(Parcel in) { - spliceEventId = in.readLong(); - spliceEventCancelIndicator = in.readByte() == 1; - outOfNetworkIndicator = in.readByte() == 1; - programSpliceFlag = in.readByte() == 1; - spliceImmediateFlag = in.readByte() == 1; - programSplicePts = in.readLong(); - programSplicePlaybackPositionUs = in.readLong(); - int componentSpliceListSize = in.readInt(); - List componentSpliceList = new ArrayList<>(componentSpliceListSize); - for (int i = 0; i < componentSpliceListSize; i++) { - componentSpliceList.add(ComponentSplice.createFromParcel(in)); - } - this.componentSpliceList = Collections.unmodifiableList(componentSpliceList); - autoReturn = in.readByte() == 1; - breakDurationUs = in.readLong(); - uniqueProgramId = in.readInt(); - availNum = in.readInt(); - availsExpected = in.readInt(); - } - /* package */ static SpliceInsertCommand parseFromSection( ParsableByteArray sectionData, long ptsAdjustment, TimestampAdjuster timestampAdjuster) { long spliceEventId = sectionData.readUnsignedInt(); @@ -219,16 +196,6 @@ public final class SpliceInsertCommand extends SpliceCommand { this.componentSplicePts = componentSplicePts; this.componentSplicePlaybackPositionUs = componentSplicePlaybackPositionUs; } - - public void writeToParcel(Parcel dest) { - dest.writeInt(componentTag); - dest.writeLong(componentSplicePts); - dest.writeLong(componentSplicePlaybackPositionUs); - } - - public static ComponentSplice createFromParcel(Parcel in) { - return new ComponentSplice(in.readInt(), in.readLong(), in.readLong()); - } } @Override @@ -239,41 +206,4 @@ public final class SpliceInsertCommand extends SpliceCommand { + programSplicePlaybackPositionUs + " }"; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(spliceEventId); - dest.writeByte((byte) (spliceEventCancelIndicator ? 1 : 0)); - dest.writeByte((byte) (outOfNetworkIndicator ? 1 : 0)); - dest.writeByte((byte) (programSpliceFlag ? 1 : 0)); - dest.writeByte((byte) (spliceImmediateFlag ? 1 : 0)); - dest.writeLong(programSplicePts); - dest.writeLong(programSplicePlaybackPositionUs); - int componentSpliceListSize = componentSpliceList.size(); - dest.writeInt(componentSpliceListSize); - for (int i = 0; i < componentSpliceListSize; i++) { - componentSpliceList.get(i).writeToParcel(dest); - } - dest.writeByte((byte) (autoReturn ? 1 : 0)); - dest.writeLong(breakDurationUs); - dest.writeInt(uniqueProgramId); - dest.writeInt(availNum); - dest.writeInt(availsExpected); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public SpliceInsertCommand createFromParcel(Parcel in) { - return new SpliceInsertCommand(in); - } - - @Override - public SpliceInsertCommand[] newArray(int size) { - return new SpliceInsertCommand[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceNullCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceNullCommand.java index 80667de1b0..9ca0b58d93 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceNullCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceNullCommand.java @@ -15,31 +15,8 @@ */ package androidx.media3.extractor.metadata.scte35; -import android.os.Parcel; import androidx.media3.common.util.UnstableApi; /** Represents a splice null command as defined in SCTE35, Section 9.3.1. */ @UnstableApi -public final class SpliceNullCommand extends SpliceCommand { - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - // Do nothing. - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public SpliceNullCommand createFromParcel(Parcel in) { - return new SpliceNullCommand(); - } - - @Override - public SpliceNullCommand[] newArray(int size) { - return new SpliceNullCommand[size]; - } - }; -} +public final class SpliceNullCommand extends SpliceCommand {} diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceScheduleCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceScheduleCommand.java index a751cd9975..8cc5fc58a1 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceScheduleCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/SpliceScheduleCommand.java @@ -15,8 +15,6 @@ */ package androidx.media3.extractor.metadata.scte35; -import android.os.Parcel; -import android.os.Parcelable; import androidx.media3.common.C; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.UnstableApi; @@ -108,25 +106,6 @@ public final class SpliceScheduleCommand extends SpliceCommand { this.availsExpected = availsExpected; } - private Event(Parcel in) { - this.spliceEventId = in.readLong(); - this.spliceEventCancelIndicator = in.readByte() == 1; - this.outOfNetworkIndicator = in.readByte() == 1; - this.programSpliceFlag = in.readByte() == 1; - int componentSpliceListLength = in.readInt(); - ArrayList componentSpliceList = new ArrayList<>(componentSpliceListLength); - for (int i = 0; i < componentSpliceListLength; i++) { - componentSpliceList.add(ComponentSplice.createFromParcel(in)); - } - this.componentSpliceList = Collections.unmodifiableList(componentSpliceList); - this.utcSpliceTime = in.readLong(); - this.autoReturn = in.readByte() == 1; - this.breakDurationUs = in.readLong(); - this.uniqueProgramId = in.readInt(); - this.availNum = in.readInt(); - this.availsExpected = in.readInt(); - } - private static Event parseFromSection(ParsableByteArray sectionData) { long spliceEventId = sectionData.readUnsignedInt(); // splice_event_cancel_indicator(1), reserved(7). @@ -180,28 +159,6 @@ public final class SpliceScheduleCommand extends SpliceCommand { availNum, availsExpected); } - - private void writeToParcel(Parcel dest) { - dest.writeLong(spliceEventId); - dest.writeByte((byte) (spliceEventCancelIndicator ? 1 : 0)); - dest.writeByte((byte) (outOfNetworkIndicator ? 1 : 0)); - dest.writeByte((byte) (programSpliceFlag ? 1 : 0)); - int componentSpliceListSize = componentSpliceList.size(); - dest.writeInt(componentSpliceListSize); - for (int i = 0; i < componentSpliceListSize; i++) { - componentSpliceList.get(i).writeToParcel(dest); - } - dest.writeLong(utcSpliceTime); - dest.writeByte((byte) (autoReturn ? 1 : 0)); - dest.writeLong(breakDurationUs); - dest.writeInt(uniqueProgramId); - dest.writeInt(availNum); - dest.writeInt(availsExpected); - } - - private static Event createFromParcel(Parcel in) { - return new Event(in); - } } /** Holds splicing information for specific splice schedule command components. */ @@ -214,15 +171,6 @@ public final class SpliceScheduleCommand extends SpliceCommand { this.componentTag = componentTag; this.utcSpliceTime = utcSpliceTime; } - - private static ComponentSplice createFromParcel(Parcel in) { - return new ComponentSplice(in.readInt(), in.readLong()); - } - - private void writeToParcel(Parcel dest) { - dest.writeInt(componentTag); - dest.writeLong(utcSpliceTime); - } } /** The list of scheduled events. */ @@ -232,15 +180,6 @@ public final class SpliceScheduleCommand extends SpliceCommand { this.events = Collections.unmodifiableList(events); } - private SpliceScheduleCommand(Parcel in) { - int eventsSize = in.readInt(); - ArrayList events = new ArrayList<>(eventsSize); - for (int i = 0; i < eventsSize; i++) { - events.add(Event.createFromParcel(in)); - } - this.events = Collections.unmodifiableList(events); - } - /* package */ static SpliceScheduleCommand parseFromSection(ParsableByteArray sectionData) { int spliceCount = sectionData.readUnsignedByte(); ArrayList events = new ArrayList<>(spliceCount); @@ -249,29 +188,4 @@ public final class SpliceScheduleCommand extends SpliceCommand { } return new SpliceScheduleCommand(events); } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - int eventsSize = events.size(); - dest.writeInt(eventsSize); - for (int i = 0; i < eventsSize; i++) { - events.get(i).writeToParcel(dest); - } - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public SpliceScheduleCommand createFromParcel(Parcel in) { - return new SpliceScheduleCommand(in); - } - - @Override - public SpliceScheduleCommand[] newArray(int size) { - return new SpliceScheduleCommand[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/TimeSignalCommand.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/TimeSignalCommand.java index 4d2f716d33..b5632ac0dc 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/TimeSignalCommand.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/scte35/TimeSignalCommand.java @@ -15,7 +15,6 @@ */ package androidx.media3.extractor.metadata.scte35; -import android.os.Parcel; import androidx.media3.common.C; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.TimestampAdjuster; @@ -72,26 +71,4 @@ public final class TimeSignalCommand extends SpliceCommand { + playbackPositionUs + " }"; } - - // Parcelable implementation. - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeLong(ptsTime); - dest.writeLong(playbackPositionUs); - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public TimeSignalCommand createFromParcel(Parcel in) { - return new TimeSignalCommand(in.readLong(), in.readLong()); - } - - @Override - public TimeSignalCommand[] newArray(int size) { - return new TimeSignalCommand[size]; - } - }; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/vorbis/VorbisComment.java b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/vorbis/VorbisComment.java index a8422775b6..91c54b54c9 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/vorbis/VorbisComment.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/metadata/vorbis/VorbisComment.java @@ -15,7 +15,6 @@ */ package androidx.media3.extractor.metadata.vorbis; -import android.os.Parcel; import androidx.media3.common.util.UnstableApi; /** A vorbis comment, extracted from a FLAC or Ogg file. */ @@ -30,22 +29,4 @@ public final class VorbisComment extends androidx.media3.extractor.metadata.flac public VorbisComment(String key, String value) { super(key, value); } - - /* package */ VorbisComment(Parcel in) { - super(in); - } - - public static final Creator CREATOR = - new Creator() { - - @Override - public VorbisComment createFromParcel(Parcel in) { - return new VorbisComment(in); - } - - @Override - public VorbisComment[] newArray(int size) { - return new VorbisComment[size]; - } - }; } diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/emsg/EventMessageTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/emsg/EventMessageTest.java deleted file mode 100644 index 215ee5eb20..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/emsg/EventMessageTest.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.emsg; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link EventMessage}. */ -@RunWith(AndroidJUnit4.class) -public final class EventMessageTest { - - @Test - public void eventMessageParcelable() { - EventMessage eventMessage = - new EventMessage("urn:test", "123", 3000, 1000403, new byte[] {0, 1, 2, 3, 4}); - // Write to parcel. - Parcel parcel = Parcel.obtain(); - eventMessage.writeToParcel(parcel, 0); - // Create from parcel. - parcel.setDataPosition(0); - EventMessage fromParcelEventMessage = EventMessage.CREATOR.createFromParcel(parcel); - // Assert equals. - assertThat(fromParcelEventMessage).isEqualTo(eventMessage); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/flac/PictureFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/flac/PictureFrameTest.java index aa21427db8..16fce61a18 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/flac/PictureFrameTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/flac/PictureFrameTest.java @@ -17,7 +17,6 @@ package androidx.media3.extractor.metadata.flac; import static com.google.common.truth.Truth.assertThat; -import android.os.Parcel; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; @@ -28,21 +27,6 @@ import org.junit.runner.RunWith; /** Test for {@link PictureFrame}. */ @RunWith(AndroidJUnit4.class) public final class PictureFrameTest { - - @Test - public void parcelable() { - PictureFrame pictureFrameToParcel = new PictureFrame(0, "", "", 0, 0, 0, 0, new byte[0]); - - Parcel parcel = Parcel.obtain(); - pictureFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - PictureFrame pictureFrameFromParcel = PictureFrame.CREATOR.createFromParcel(parcel); - assertThat(pictureFrameFromParcel).isEqualTo(pictureFrameToParcel); - - parcel.recycle(); - } - @Test public void populateMediaMetadata_setsBuilderValues() { byte[] pictureData = new byte[] {-12, 52, 33, 85, 34, 22, 1, -55}; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyHeadersTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyHeadersTest.java index 69012c22b7..9a36b997da 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyHeadersTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyHeadersTest.java @@ -17,7 +17,6 @@ package androidx.media3.extractor.metadata.icy; import static com.google.common.truth.Truth.assertThat; -import android.os.Parcel; import androidx.media3.common.MediaMetadata; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -26,27 +25,6 @@ import org.junit.runner.RunWith; /** Test for {@link IcyHeaders}. */ @RunWith(AndroidJUnit4.class) public final class IcyHeadersTest { - - @Test - public void parcelEquals() { - IcyHeaders icyHeaders = - new IcyHeaders( - /* bitrate= */ 1234, - "genre", - "name", - "url", - /* isPublic= */ true, - /* metadataInterval= */ 5678); - // Write to parcel. - Parcel parcel = Parcel.obtain(); - icyHeaders.writeToParcel(parcel, 0); - // Create from parcel. - parcel.setDataPosition(0); - IcyHeaders fromParcelIcyHeaders = IcyHeaders.CREATOR.createFromParcel(parcel); - // Assert equals. - assertThat(fromParcelIcyHeaders).isEqualTo(icyHeaders); - } - @Test public void populateMediaMetadata() { IcyHeaders headers = diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyInfoTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyInfoTest.java deleted file mode 100644 index 606277aee9..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/icy/IcyInfoTest.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.icy; - -import static com.google.common.truth.Truth.assertThat; -import static java.nio.charset.StandardCharsets.UTF_8; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link IcyInfo}. */ -@RunWith(AndroidJUnit4.class) -public final class IcyInfoTest { - - @Test - public void parcelEquals() { - IcyInfo streamInfo = - new IcyInfo("StreamName='name';StreamUrl='url'".getBytes(UTF_8), "name", "url"); - // Write to parcel. - Parcel parcel = Parcel.obtain(); - streamInfo.writeToParcel(parcel, 0); - // Create from parcel. - parcel.setDataPosition(0); - IcyInfo fromParcelStreamInfo = IcyInfo.CREATOR.createFromParcel(parcel); - // Assert equals. - assertThat(fromParcelStreamInfo).isEqualTo(streamInfo); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ApicFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ApicFrameTest.java index 3bfd68d5a9..efc4b57d31 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ApicFrameTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ApicFrameTest.java @@ -17,7 +17,6 @@ package androidx.media3.extractor.metadata.id3; import static com.google.common.truth.Truth.assertThat; -import android.os.Parcel; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; @@ -28,21 +27,6 @@ import org.junit.runner.RunWith; /** Unit test for {@link ApicFrame}. */ @RunWith(AndroidJUnit4.class) public class ApicFrameTest { - - @Test - public void parcelable() { - ApicFrame apicFrameToParcel = new ApicFrame("", "", 0, new byte[0]); - - Parcel parcel = Parcel.obtain(); - apicFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - ApicFrame apicFrameFromParcel = ApicFrame.CREATOR.createFromParcel(parcel); - assertThat(apicFrameFromParcel).isEqualTo(apicFrameToParcel); - - parcel.recycle(); - } - @Test public void populateMediaMetadata_setsBuilderValues() { byte[] pictureData = new byte[] {-12, 52, 33, 85, 34, 22, 1, -55}; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterFrameTest.java deleted file mode 100644 index 38c164d14e..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterFrameTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.id3; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link ChapterFrame}. */ -@RunWith(AndroidJUnit4.class) -public final class ChapterFrameTest { - - @Test - public void parcelable() { - Id3Frame[] subFrames = - new Id3Frame[] { - new TextInformationFrame("TIT2", null, ImmutableList.of("title")), - new UrlLinkFrame("WXXX", "description", "url") - }; - ChapterFrame chapterFrameToParcel = new ChapterFrame("id", 0, 1, 2, 3, subFrames); - - Parcel parcel = Parcel.obtain(); - chapterFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - ChapterFrame chapterFrameFromParcel = ChapterFrame.CREATOR.createFromParcel(parcel); - assertThat(chapterFrameFromParcel).isEqualTo(chapterFrameToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterTocFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterTocFrameTest.java deleted file mode 100644 index b786a4f23f..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/ChapterTocFrameTest.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.id3; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link ChapterTocFrame}. */ -@RunWith(AndroidJUnit4.class) -public final class ChapterTocFrameTest { - - @Test - public void parcelable() { - String[] children = new String[] {"child0", "child1"}; - Id3Frame[] subFrames = - new Id3Frame[] { - new TextInformationFrame("TIT2", null, ImmutableList.of("title")), - new UrlLinkFrame("WXXX", "description", "url") - }; - ChapterTocFrame chapterTocFrameToParcel = - new ChapterTocFrame("id", false, true, children, subFrames); - - Parcel parcel = Parcel.obtain(); - chapterTocFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - ChapterTocFrame chapterTocFrameFromParcel = ChapterTocFrame.CREATOR.createFromParcel(parcel); - assertThat(chapterTocFrameFromParcel).isEqualTo(chapterTocFrameToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/MlltFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/MlltFrameTest.java deleted file mode 100644 index 0f88be8ea9..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/MlltFrameTest.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2018 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.id3; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link MlltFrame}. */ -@RunWith(AndroidJUnit4.class) -public final class MlltFrameTest { - - @Test - public void parcelable() { - MlltFrame mlltFrameToParcel = - new MlltFrame( - /* mpegFramesBetweenReference= */ 1, - /* bytesBetweenReference= */ 1, - /* millisecondsBetweenReference= */ 1, - /* bytesDeviations= */ new int[] {1, 2}, - /* millisecondsDeviations= */ new int[] {1, 2}); - - Parcel parcel = Parcel.obtain(); - mlltFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - MlltFrame mlltFrameFromParcel = MlltFrame.CREATOR.createFromParcel(parcel); - assertThat(mlltFrameFromParcel).isEqualTo(mlltFrameToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/TextInformationFrameTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/TextInformationFrameTest.java index ce9123c308..37db4cea6d 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/TextInformationFrameTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/id3/TextInformationFrameTest.java @@ -18,7 +18,6 @@ package androidx.media3.extractor.metadata.id3; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; -import android.os.Parcel; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -30,23 +29,6 @@ import org.junit.runner.RunWith; /** Unit test for {@link TextInformationFrame}. */ @RunWith(AndroidJUnit4.class) public class TextInformationFrameTest { - - @Test - public void parcelable() { - TextInformationFrame textInformationFrameToParcel = - new TextInformationFrame("", "", ImmutableList.of("")); - - Parcel parcel = Parcel.obtain(); - textInformationFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - TextInformationFrame textInformationFrameFromParcel = - TextInformationFrame.CREATOR.createFromParcel(parcel); - assertThat(textInformationFrameFromParcel).isEqualTo(textInformationFrameToParcel); - - parcel.recycle(); - } - @Test public void populateMediaMetadata_setsBuilderValues() { String title = "the title"; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadataTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadataTest.java deleted file mode 100644 index 94419d289c..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/MotionPhotoMetadataTest.java +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package androidx.media3.extractor.metadata.mp4; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.media3.common.C; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link MotionPhotoMetadata}. */ -@RunWith(AndroidJUnit4.class) -public class MotionPhotoMetadataTest { - - @Test - public void parcelable() { - MotionPhotoMetadata motionPhotoMetadataToParcel = - new MotionPhotoMetadata( - /* photoStartPosition= */ 0, - /* photoSize= */ 10, - /* photoPresentationTimestampUs= */ C.TIME_UNSET, - /* videoStartPosition= */ 15, - /* videoSize= */ 35); - - Parcel parcel = Parcel.obtain(); - motionPhotoMetadataToParcel.writeToParcel(parcel, /* flags= */ 0); - parcel.setDataPosition(0); - - MotionPhotoMetadata motionPhotoMetadataFromParcel = - MotionPhotoMetadata.CREATOR.createFromParcel(parcel); - assertThat(motionPhotoMetadataFromParcel).isEqualTo(motionPhotoMetadataToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntryTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntryTest.java deleted file mode 100644 index e6ecc05c8f..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/mp4/SmtaMetadataEntryTest.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.metadata.mp4; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Test for {@link SmtaMetadataEntry}. */ -@RunWith(AndroidJUnit4.class) -public class SmtaMetadataEntryTest { - - @Test - public void parcelable() { - SmtaMetadataEntry smtaMetadataEntryToParcel = - new SmtaMetadataEntry(/* captureFrameRate= */ 120, /* svcTemporalLayerCount= */ 4); - - Parcel parcel = Parcel.obtain(); - smtaMetadataEntryToParcel.writeToParcel(parcel, /* flags= */ 0); - parcel.setDataPosition(0); - - SmtaMetadataEntry smtaMetadataEntryFromParcel = - SmtaMetadataEntry.CREATOR.createFromParcel(parcel); - assertThat(smtaMetadataEntryFromParcel).isEqualTo(smtaMetadataEntryToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/vorbis/VorbisCommentTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/vorbis/VorbisCommentTest.java index 6bbf01c64f..2fd2607276 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/vorbis/VorbisCommentTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/metadata/vorbis/VorbisCommentTest.java @@ -17,7 +17,6 @@ package androidx.media3.extractor.metadata.vorbis; import static com.google.common.truth.Truth.assertThat; -import android.os.Parcel; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Metadata; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -29,21 +28,6 @@ import org.junit.runner.RunWith; /** Test for {@link VorbisComment}. */ @RunWith(AndroidJUnit4.class) public final class VorbisCommentTest { - - @Test - public void parcelable() { - VorbisComment vorbisCommentFrameToParcel = new VorbisComment("key", "value"); - - Parcel parcel = Parcel.obtain(); - vorbisCommentFrameToParcel.writeToParcel(parcel, 0); - parcel.setDataPosition(0); - - VorbisComment vorbisCommentFrameFromParcel = VorbisComment.CREATOR.createFromParcel(parcel); - assertThat(vorbisCommentFrameFromParcel).isEqualTo(vorbisCommentFrameToParcel); - - parcel.recycle(); - } - @Test public void populateMediaMetadata_setsMediaMetadataValues() { String title = "the title"; diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/SlowMotionDataTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/SlowMotionDataTest.java deleted file mode 100644 index 3313a99876..0000000000 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mp4/SlowMotionDataTest.java +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright 2020 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.extractor.mp4; - -import static com.google.common.truth.Truth.assertThat; - -import android.os.Parcel; -import androidx.media3.extractor.metadata.mp4.SlowMotionData; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import java.util.ArrayList; -import java.util.List; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Unit test for {@link SlowMotionData} */ -@RunWith(AndroidJUnit4.class) -public class SlowMotionDataTest { - - @Test - public void parcelable() { - List segments = new ArrayList<>(); - segments.add( - new SlowMotionData.Segment( - /* startTimeMs= */ 1000, /* endTimeMs= */ 2000, /* speedDivisor= */ 4)); - segments.add( - new SlowMotionData.Segment( - /* startTimeMs= */ 2600, /* endTimeMs= */ 4000, /* speedDivisor= */ 8)); - segments.add( - new SlowMotionData.Segment( - /* startTimeMs= */ 8765, /* endTimeMs= */ 12485, /* speedDivisor= */ 16)); - - SlowMotionData slowMotionDataToParcel = new SlowMotionData(segments); - Parcel parcel = Parcel.obtain(); - slowMotionDataToParcel.writeToParcel(parcel, /* flags= */ 0); - parcel.setDataPosition(0); - - SlowMotionData slowMotionDataFromParcel = SlowMotionData.CREATOR.createFromParcel(parcel); - assertThat(slowMotionDataFromParcel).isEqualTo(slowMotionDataToParcel); - - parcel.recycle(); - } - - @Test - public void segment_parcelable() { - SlowMotionData.Segment segmentToParcel = - new SlowMotionData.Segment( - /* startTimeMs= */ 1000, /* endTimeMs= */ 2000, /* speedDivisor= */ 4); - - Parcel parcel = Parcel.obtain(); - segmentToParcel.writeToParcel(parcel, /* flags= */ 0); - parcel.setDataPosition(0); - - SlowMotionData.Segment segmentFromParcel = - SlowMotionData.Segment.CREATOR.createFromParcel(parcel); - assertThat(segmentFromParcel).isEqualTo(segmentToParcel); - - parcel.recycle(); - } -} diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java index de09491835..d513a5ff50 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMetadataEntry.java @@ -15,10 +15,6 @@ */ package androidx.media3.test.utils; -import static androidx.media3.common.util.Util.castNonNull; - -import android.os.Parcel; -import android.os.Parcelable; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; @@ -33,15 +29,6 @@ public final class FakeMetadataEntry implements Metadata.Entry { this.data = data; } - /* package */ FakeMetadataEntry(Parcel in) { - data = castNonNull(in.readString()); - } - - @Override - public int describeContents() { - return 0; - } - @Override public boolean equals(@Nullable Object obj) { if (this == obj) { @@ -58,23 +45,4 @@ public final class FakeMetadataEntry implements Metadata.Entry { public int hashCode() { return data.hashCode(); } - - @Override - public void writeToParcel(Parcel dest, int flags) { - dest.writeString(data); - } - - public static final Parcelable.Creator CREATOR = - new Parcelable.Creator() { - - @Override - public FakeMetadataEntry createFromParcel(Parcel in) { - return new FakeMetadataEntry(in); - } - - @Override - public FakeMetadataEntry[] newArray(int size) { - return new FakeMetadataEntry[size]; - } - }; }