diff --git a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/FragmentedMp4MuxerEndToEndAndroidTest.java b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/FragmentedMp4MuxerEndToEndAndroidTest.java index 541f1526be..43ea39acd3 100644 --- a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/FragmentedMp4MuxerEndToEndAndroidTest.java +++ b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/FragmentedMp4MuxerEndToEndAndroidTest.java @@ -67,7 +67,7 @@ public class FragmentedMp4MuxerEndToEndAndroidTest { try { fragmentedMp4Muxer = new FragmentedMp4Muxer.Builder(checkNotNull(outputStream)).build(); - fragmentedMp4Muxer.addMetadata( + fragmentedMp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); @@ -94,7 +94,7 @@ public class FragmentedMp4MuxerEndToEndAndroidTest { try { fragmentedMp4Muxer = new FragmentedMp4Muxer.Builder(checkNotNull(outputStream)).build(); - fragmentedMp4Muxer.addMetadata( + fragmentedMp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); diff --git a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/Mp4MuxerEndToEndAndroidTest.java b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/Mp4MuxerEndToEndAndroidTest.java index 11a47f10b9..e4810beb62 100644 --- a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/Mp4MuxerEndToEndAndroidTest.java +++ b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/Mp4MuxerEndToEndAndroidTest.java @@ -78,7 +78,7 @@ public class Mp4MuxerEndToEndAndroidTest { try { mp4Muxer = new Mp4Muxer.Builder(checkNotNull(outputStream)).build(); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); @@ -102,7 +102,7 @@ public class Mp4MuxerEndToEndAndroidTest { // ensure some data has been written after taking all the inputs but before closing the muxer. assumeTrue(checkNotNull(inputFile).equals(H265_HDR10_MP4)); Mp4Muxer mp4Muxer = new Mp4Muxer.Builder(checkNotNull(outputStream)).build(); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/FragmentedMp4Muxer.java b/libraries/muxer/src/main/java/androidx/media3/muxer/FragmentedMp4Muxer.java index 59b5f95ee6..4dfe921d5e 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/FragmentedMp4Muxer.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/FragmentedMp4Muxer.java @@ -179,13 +179,14 @@ public final class FragmentedMp4Muxer implements Muxer { *
  • {@link XmpData} * * - * @param metadata The {@linkplain Metadata.Entry metadata}. An {@link IllegalArgumentException} - * is thrown if the {@linkplain Metadata.Entry metadata} is not supported. + * @param metadataEntry The {@linkplain Metadata.Entry metadata}. An {@link + * IllegalArgumentException} is thrown if the {@linkplain Metadata.Entry metadata} is not + * supported. */ @Override - public void addMetadata(Metadata.Entry metadata) { - checkArgument(Mp4Utils.isMetadataSupported(metadata), "Unsupported metadata"); - metadataCollector.addMetadata(metadata); + public void addMetadataEntry(Metadata.Entry metadataEntry) { + checkArgument(Mp4Utils.isMetadataSupported(metadataEntry), "Unsupported metadata"); + metadataCollector.addMetadata(metadataEntry); } @Override diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4Muxer.java b/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4Muxer.java index 44a8a8d5e0..e0735d3df1 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4Muxer.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/Mp4Muxer.java @@ -244,13 +244,14 @@ public final class Mp4Muxer implements Muxer { *
  • {@link XmpData} * * - * @param metadata The {@linkplain Metadata.Entry metadata}. An {@link IllegalArgumentException} - * is thrown if the {@linkplain Metadata.Entry metadata} is not supported. + * @param metadataEntry The {@linkplain Metadata.Entry metadata}. An {@link + * IllegalArgumentException} is thrown if the {@linkplain Metadata.Entry metadata} is not + * supported. */ @Override - public void addMetadata(Metadata.Entry metadata) { - checkArgument(Mp4Utils.isMetadataSupported(metadata), "Unsupported metadata"); - metadataCollector.addMetadata(metadata); + public void addMetadataEntry(Metadata.Entry metadataEntry) { + checkArgument(Mp4Utils.isMetadataSupported(metadataEntry), "Unsupported metadata"); + metadataCollector.addMetadata(metadataEntry); } @Override diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java b/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java index 4e91cae79f..0a731adfc7 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java @@ -36,7 +36,7 @@ public interface Muxer { throws IOException; /** Adds {@linkplain Metadata.Entry metadata} about the output file. */ - void addMetadata(Metadata.Entry metadata); + void addMetadataEntry(Metadata.Entry metadataEntry); /** Closes the file. */ void close() throws IOException; diff --git a/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java b/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java index e4c18d0578..2624cd5f33 100644 --- a/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java +++ b/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java @@ -60,8 +60,8 @@ public class Mp4MuxerEndToEndTest { try { mp4Muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); - mp4Muxer.addMetadata(new Mp4OrientationData(/* orientation= */ 90)); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry(new Mp4OrientationData(/* orientation= */ 90)); + mp4Muxer.addMetadataEntry( new MdtaMetadataEntry( "key", /* value= */ Util.getUtf8Bytes("value"), @@ -78,7 +78,7 @@ public class Mp4MuxerEndToEndTest { public void createMp4File_withSameTracksOffset_matchesExpected() throws IOException { String outputFilePath = temporaryFolder.newFile().getPath(); Mp4Muxer mp4Muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); @@ -121,7 +121,7 @@ public class Mp4MuxerEndToEndTest { public void createMp4File_withDifferentTracksOffset_matchesExpected() throws IOException { String outputFilePath = temporaryFolder.newFile().getPath(); Mp4Muxer mp4Muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); @@ -183,7 +183,7 @@ public class Mp4MuxerEndToEndTest { public void createMp4File_withOneTrackEmpty_doesNotWriteEmptyTrack() throws Exception { String outputFilePath = temporaryFolder.newFile().getPath(); Mp4Muxer mp4Muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); - mp4Muxer.addMetadata( + mp4Muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 100_000_000L, /* modificationTimestampSeconds= */ 500_000_000L)); @@ -220,24 +220,24 @@ public class Mp4MuxerEndToEndTest { byte[] xmpBytes = TestUtil.getByteArray(context, XMP_SAMPLE_DATA); try { - muxer.addMetadata(new Mp4OrientationData(/* orientation= */ 90)); - muxer.addMetadata(new Mp4LocationData(/* latitude= */ 33.0f, /* longitude= */ -120f)); + muxer.addMetadataEntry(new Mp4OrientationData(/* orientation= */ 90)); + muxer.addMetadataEntry(new Mp4LocationData(/* latitude= */ 33.0f, /* longitude= */ -120f)); float captureFps = 120.0f; - muxer.addMetadata( + muxer.addMetadataEntry( new MdtaMetadataEntry( MdtaMetadataEntry.KEY_ANDROID_CAPTURE_FPS, /* value= */ Util.toByteArray(captureFps), MdtaMetadataEntry.TYPE_INDICATOR_FLOAT32)); - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); - muxer.addMetadata( + muxer.addMetadataEntry( new MdtaMetadataEntry( "StringKey1", /* value= */ Util.getUtf8Bytes("StringValue"), MdtaMetadataEntry.TYPE_INDICATOR_STRING)); - muxer.addMetadata(new XmpData(xmpBytes)); + muxer.addMetadataEntry(new XmpData(xmpBytes)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); } finally { diff --git a/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerMetadataTest.java b/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerMetadataTest.java index 70e40a6720..e71cf8bfac 100644 --- a/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerMetadataTest.java +++ b/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerMetadataTest.java @@ -61,7 +61,7 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); @@ -87,14 +87,14 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); - muxer.addMetadata(new Mp4OrientationData(/* orientation= */ 90)); + muxer.addMetadataEntry(new Mp4OrientationData(/* orientation= */ 90)); } finally { muxer.close(); } @@ -115,14 +115,14 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); - muxer.addMetadata(new Mp4OrientationData(/* orientation= */ 180)); + muxer.addMetadataEntry(new Mp4OrientationData(/* orientation= */ 180)); } finally { muxer.close(); } @@ -143,14 +143,14 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); - muxer.addMetadata(new Mp4OrientationData(/* orientation= */ 270)); + muxer.addMetadataEntry(new Mp4OrientationData(/* orientation= */ 270)); } finally { muxer.close(); } @@ -171,13 +171,13 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); - muxer.addMetadata(new Mp4LocationData(/* latitude= */ 33.0f, /* longitude= */ -120f)); + muxer.addMetadataEntry(new Mp4LocationData(/* latitude= */ 33.0f, /* longitude= */ -120f)); } finally { muxer.close(); } @@ -198,7 +198,7 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); @@ -224,12 +224,12 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); float captureFps = 120.0f; - muxer.addMetadata( + muxer.addMetadataEntry( new MdtaMetadataEntry( KEY_ANDROID_CAPTURE_FPS, Util.toByteArray(captureFps), TYPE_INDICATOR_FLOAT32)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); @@ -254,11 +254,11 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); - muxer.addMetadata( + muxer.addMetadataEntry( new MdtaMetadataEntry( "SomeStringKey", Util.getUtf8Bytes("Some Random String"), TYPE_INDICATOR_STRING)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); @@ -283,12 +283,12 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); float floatValue = 10.0f; - muxer.addMetadata( + muxer.addMetadataEntry( new MdtaMetadataEntry( "SomeStringKey", Util.toByteArray(floatValue), TYPE_INDICATOR_FLOAT32)); TrackToken token = muxer.addTrack(/* sortKey= */ 0, FAKE_VIDEO_FORMAT); @@ -313,13 +313,13 @@ public class Mp4MuxerMetadataTest { Mp4Muxer muxer = new Mp4Muxer.Builder(new FileOutputStream(outputFilePath)).build(); try { - muxer.addMetadata( + muxer.addMetadataEntry( new Mp4TimestampData( /* creationTimestampSeconds= */ 1_000_000L, /* modificationTimestampSeconds= */ 5_000_000L)); Context context = ApplicationProvider.getApplicationContext(); byte[] xmpBytes = TestUtil.getByteArray(context, XMP_SAMPLE_DATA); - muxer.addMetadata(new XmpData(xmpBytes)); + muxer.addMetadataEntry(new XmpData(xmpBytes)); TrackToken token = muxer.addTrack(0, FAKE_VIDEO_FORMAT); muxer.writeSampleData(token, sampleAndSampleInfo.first, sampleAndSampleInfo.second); } finally { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java index d8f56a6930..3dd8e97cbb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java @@ -49,7 +49,8 @@ public final class InAppMuxer implements Muxer { *

    A {@link Metadata.Entry} can be added or removed. To modify an existing {@link * Metadata.Entry}, first remove it and then add a new one. * - *

    For the list of supported metadata refer to {@link Mp4Muxer#addMetadata(Metadata.Entry)}. + *

    For the list of supported metadata refer to {@link + * Mp4Muxer#addMetadataEntry(Metadata.Entry)}. */ void updateMetadataEntries(Set metadataEntries); } @@ -172,7 +173,7 @@ public final class InAppMuxer implements Muxer { public TrackToken addTrack(Format format) { TrackToken trackToken = muxer.addTrack(format); if (MimeTypes.isVideo(format.sampleMimeType)) { - muxer.addMetadata(new Mp4OrientationData(format.rotationDegrees)); + muxer.addMetadataEntry(new Mp4OrientationData(format.rotationDegrees)); } return trackToken; } @@ -220,7 +221,7 @@ public final class InAppMuxer implements Muxer { } for (Metadata.Entry entry : metadataEntries) { - muxer.addMetadata(entry); + muxer.addMetadataEntry(entry); } } }