diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 798bdb737a..ab3626d4b1 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -87,6 +87,8 @@ `StaticOverlaySettings`. `OverlaySettings` can be subclassed to allow dynamic overlay settings. * Muxers: + * Moved `MuxerException` out of `Muxer` interface to avoid a very long + fully qualified name. * IMA extension: * Session: * Add 'Context' as a parameter to diff --git a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/AndroidMuxerTestUtil.java b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/AndroidMuxerTestUtil.java index d5fa79ebf0..14a1d62bc0 100644 --- a/libraries/muxer/src/androidTest/java/androidx/media3/muxer/AndroidMuxerTestUtil.java +++ b/libraries/muxer/src/androidTest/java/androidx/media3/muxer/AndroidMuxerTestUtil.java @@ -20,7 +20,6 @@ import android.content.res.AssetFileDescriptor; import android.media.MediaCodec; import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.exoplayer.MediaExtractorCompat; -import androidx.media3.muxer.Muxer.MuxerException; import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; 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 0455ed53f5..f171601232 100644 --- a/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/Muxer.java @@ -18,7 +18,6 @@ package androidx.media3.muxer; import android.media.MediaCodec.BufferInfo; import androidx.media3.common.C; import androidx.media3.common.Format; -import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; @@ -28,24 +27,6 @@ import java.nio.ByteBuffer; /** The muxer for producing media container files. */ @UnstableApi public interface Muxer { - /** Thrown when a muxer failure occurs. */ - final class MuxerException extends Exception { - - static { - MediaLibraryInfo.registerModule("media3.muxer"); - } - - /** - * Creates an instance. - * - * @param message See {@link #getMessage()}. - * @param cause See {@link #getCause()}. - */ - public MuxerException(String message, Throwable cause) { - super(message, cause); - } - } - /** Factory for muxers. */ interface Factory { /** diff --git a/libraries/muxer/src/main/java/androidx/media3/muxer/MuxerException.java b/libraries/muxer/src/main/java/androidx/media3/muxer/MuxerException.java new file mode 100644 index 0000000000..4ea28a8ce9 --- /dev/null +++ b/libraries/muxer/src/main/java/androidx/media3/muxer/MuxerException.java @@ -0,0 +1,38 @@ +/* + * 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.muxer; + +import androidx.media3.common.MediaLibraryInfo; +import androidx.media3.common.util.UnstableApi; + +/** Thrown when a muxer failure occurs. */ +@UnstableApi +public final class MuxerException extends Exception { + + static { + MediaLibraryInfo.registerModule("media3.muxer"); + } + + /** + * Creates an instance. + * + * @param message See {@link #getMessage()}. + * @param cause See {@link #getCause()}. + */ + public MuxerException(String message, Throwable cause) { + super(message, cause); + } +} 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 06fdf22307..75c0eb19be 100644 --- a/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java +++ b/libraries/muxer/src/test/java/androidx/media3/muxer/Mp4MuxerEndToEndTest.java @@ -815,7 +815,7 @@ public class Mp4MuxerEndToEndTest { } private static void writeFakeSamples(Mp4Muxer muxer, TrackToken trackToken, int sampleCount) - throws Muxer.MuxerException { + throws MuxerException { for (int i = 0; i < sampleCount; i++) { Pair sampleAndSampleInfo = getFakeSampleAndSampleInfo(/* presentationTimeUs= */ i); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java index ced76636fb..90105893e1 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerPauseResumeTest.java @@ -36,7 +36,7 @@ import androidx.media3.common.audio.SonicAudioProcessor; import androidx.media3.common.util.Util; import androidx.media3.effect.RgbFilter; import androidx.media3.muxer.Muxer; -import androidx.media3.muxer.Muxer.MuxerException; +import androidx.media3.muxer.MuxerException; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.platform.app.InstrumentationRegistry; import com.google.common.base.Ascii; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java index 5dadcece91..6a338ac71a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java @@ -22,6 +22,7 @@ import androidx.media3.common.Metadata; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.muxer.Muxer; +import androidx.media3.muxer.MuxerException; import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java index 7ba51ed585..20b3ed8c7c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java @@ -34,6 +34,7 @@ import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.Util; import androidx.media3.container.Mp4LocationData; import androidx.media3.muxer.Muxer; +import androidx.media3.muxer.MuxerException; import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; 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 ab01b2e1de..5d7ef25b54 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/InAppMuxer.java @@ -31,6 +31,7 @@ import androidx.media3.container.Mp4OrientationData; import androidx.media3.muxer.FragmentedMp4Muxer; import androidx.media3.muxer.Mp4Muxer; import androidx.media3.muxer.Muxer; +import androidx.media3.muxer.MuxerException; import androidx.media3.muxer.MuxerUtil; import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index 9f06756cda..01283632ba 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -48,8 +48,8 @@ import androidx.media3.common.util.Util; import androidx.media3.container.NalUnitUtil; import androidx.media3.effect.DebugTraceUtil; import androidx.media3.muxer.Muxer; -import androidx.media3.muxer.Muxer.MuxerException; import androidx.media3.muxer.Muxer.TrackToken; +import androidx.media3.muxer.MuxerException; import com.google.common.collect.ImmutableList; import java.io.File; import java.lang.annotation.Documented; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SampleExporter.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SampleExporter.java index 33be1e3309..3dc5993802 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SampleExporter.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SampleExporter.java @@ -31,7 +31,7 @@ import androidx.media3.common.Format; import androidx.media3.common.Metadata; import androidx.media3.common.MimeTypes; import androidx.media3.decoder.DecoderInputBuffer; -import androidx.media3.muxer.Muxer.MuxerException; +import androidx.media3.muxer.MuxerException; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import java.util.List; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java index f9cf879912..f1fc33e90b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerInternal.java @@ -65,7 +65,7 @@ import androidx.media3.common.util.ConditionVariable; import androidx.media3.common.util.HandlerWrapper; import androidx.media3.common.util.Util; import androidx.media3.effect.DebugTraceUtil; -import androidx.media3.muxer.Muxer.MuxerException; +import androidx.media3.muxer.MuxerException; import androidx.media3.transformer.AssetLoader.CompositionSettings; import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CapturingMuxer.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CapturingMuxer.java index 4961a0cb40..ed0868548b 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CapturingMuxer.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CapturingMuxer.java @@ -27,6 +27,7 @@ import androidx.media3.common.Format; import androidx.media3.common.Metadata; import androidx.media3.common.util.Util; import androidx.media3.muxer.Muxer; +import androidx.media3.muxer.MuxerException; import androidx.media3.test.utils.DumpableFormat; import androidx.media3.test.utils.Dumper; import androidx.media3.test.utils.Dumper.Dumpable; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MuxerWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/MuxerWrapperTest.java index c1aa9032e0..a3c663da37 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/MuxerWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/MuxerWrapperTest.java @@ -30,7 +30,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; -import androidx.media3.muxer.Muxer.MuxerException; +import androidx.media3.muxer.MuxerException; import androidx.media3.test.utils.DumpFileAsserts; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4;