diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md index 725b774911..386abe6bf9 100644 --- a/.github/ISSUE_TEMPLATE/question.md +++ b/.github/ISSUE_TEMPLATE/question.md @@ -36,7 +36,7 @@ In case your question is related to a piece of media: - Authentication HTTP headers Don't forget to check ExoPlayer's supported formats and devices, if applicable -(https://exoplayer.dev/supported-formats.html). +(https://developer.android.com/guide/topics/media/exoplayer/supported-formats). If there's something you don't want to post publicly, please submit the issue, then email the link/bug report to dev.exoplayer@gmail.com using a subject in the diff --git a/demos/main/src/main/res/values/strings.xml b/demos/main/src/main/res/values/strings.xml index ce9c90d0c2..b8f6e7c320 100644 --- a/demos/main/src/main/res/values/strings.xml +++ b/demos/main/src/main/res/values/strings.xml @@ -21,7 +21,7 @@ Unexpected intent action: %1$s - Cleartext HTTP traffic not permitted. See https://exoplayer.dev/issues/cleartext-not-permitted + Cleartext HTTP traffic not permitted. See https://developer.android.com/guide/topics/media/issues/cleartext-not-permitted Playback failed diff --git a/demos/transformer/README.md b/demos/transformer/README.md index fd767ba6c8..9733337292 100644 --- a/demos/transformer/README.md +++ b/demos/transformer/README.md @@ -61,6 +61,6 @@ manual steps. (this will only appear if the AAR is present), then build and run the demo app and select a MediaPipe-based effect. -[Transformer]: https://exoplayer.dev/transforming-media.html +[Transformer]: https://developer.android.com/guide/topics/media/transforming-media [MediaPipe]: https://google.github.io/mediapipe/ [build an AAR]: https://google.github.io/mediapipe/getting_started/android_archive_library.html diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index 473ee6a44c..875a6d2078 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -35,7 +35,8 @@ import java.util.UUID; * *

When building formats, populate all fields whose values are known and relevant to the type of * format being constructed. For information about different types of format, see ExoPlayer's Supported formats page. + * href="https://developer.android.com/guide/topics/media/exoplayer/supported-formats">Supported + * formats page. * *

Fields commonly relevant to all formats

* diff --git a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java index db54acf7c4..57e4b5dc1c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java +++ b/libraries/common/src/main/java/androidx/media3/common/PlaybackException.java @@ -152,8 +152,9 @@ public class PlaybackException extends Exception implements Bundleable { * Caused by the player trying to access cleartext HTTP traffic (meaning http:// rather than * https://) when the app's Network Security Configuration does not permit it. * - *

See this corresponding - * troubleshooting topic. + *

See this + * corresponding troubleshooting topic. */ public static final int ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED = 2007; /** Caused by reading data out of the data bound. */ diff --git a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java index 9f9713bfba..f03aff1e07 100644 --- a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java @@ -3356,7 +3356,8 @@ public abstract class SimpleBasePlayer extends BasePlayer { "Player is accessed on the wrong thread.\n" + "Current thread: '%s'\n" + "Expected thread: '%s'\n" - + "See https://exoplayer.dev/issues/player-accessed-on-wrong-thread", + + "See https://developer.android.com/guide/topics/media/issues/" + + "player-accessed-on-wrong-thread", Thread.currentThread().getName(), applicationLooper.getThread().getName()); throw new IllegalStateException(message); } diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java index cf17e7c070..e83e21b4fd 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java @@ -375,8 +375,8 @@ public interface HttpDataSource extends DataSource { /** * Thrown when cleartext HTTP traffic is not permitted. For more information including how to * enable cleartext traffic, see the corresponding troubleshooting - * topic. + * href="https://developer.android.com/guide/topics/media/issues/cleartext-not-permitted">corresponding + * troubleshooting topic. */ final class CleartextNotPermittedException extends HttpDataSourceException { @@ -384,7 +384,7 @@ public interface HttpDataSource extends DataSource { public CleartextNotPermittedException(IOException cause, DataSpec dataSpec) { super( "Cleartext HTTP traffic not permitted. See" - + " https://exoplayer.dev/issues/cleartext-not-permitted", + + " https://developer.android.com/guide/topics/media/issues/cleartext-not-permitted", cause, dataSpec, PlaybackException.ERROR_CODE_IO_CLEARTEXT_NOT_PERMITTED, diff --git a/libraries/decoder_ffmpeg/README.md b/libraries/decoder_ffmpeg/README.md index a819fc23ad..23c2ae0c3a 100644 --- a/libraries/decoder_ffmpeg/README.md +++ b/libraries/decoder_ffmpeg/README.md @@ -115,7 +115,7 @@ then implement your own logic to use the renderer for a given track. [top level README]: ../../README.md [Android NDK]: https://developer.android.com/tools/sdk/ndk/index.html [ExoPlayer issue 2781]: https://github.com/google/ExoPlayer/issues/2781 -[Supported formats]: https://exoplayer.dev/supported-formats.html#ffmpeg-extension +[Supported formats]: https://developer.android.com/guide/topics/media/exoplayer/supported-formats#ffmpeg-library ## Links diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 86bb683261..3f6cd44d01 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -2701,7 +2701,8 @@ import java.util.concurrent.TimeoutException; "Player is accessed on the wrong thread.\n" + "Current thread: '%s'\n" + "Expected thread: '%s'\n" - + "See https://exoplayer.dev/issues/player-accessed-on-wrong-thread", + + "See https://developer.android.com/guide/topics/media/issues/" + + "player-accessed-on-wrong-thread", Thread.currentThread().getName(), getApplicationLooper().getThread().getName()); if (throwsWhenUsingWrongThread) { throw new IllegalStateException(message); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java index 64f849448d..4fd667eb26 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java @@ -71,17 +71,17 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; *

  • {@code DashMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} * ends in '.mpd' or if its {@link MediaItem.LocalConfiguration#mimeType mimeType field} is * explicitly set to {@link MimeTypes#APPLICATION_MPD} (Requires the exoplayer-dash module - * to be added to the app). + * href="https://developer.android.com/guide/topics/media/exoplayer/hello-world#add-exoplayer-modules">exoplayer-dash + * module to be added to the app). *
  • {@code HlsMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} * ends in '.m3u8' or if its {@link MediaItem.LocalConfiguration#mimeType mimeType field} is * explicitly set to {@link MimeTypes#APPLICATION_M3U8} (Requires the exoplayer-hls module to - * be added to the app). + * href="https://developer.android.com/guide/topics/media/exoplayer/hello-world#add-exoplayer-modules">exoplayer-hls + * module to be added to the app). *
  • {@code SsMediaSource.Factory} if the item's {@link MediaItem.LocalConfiguration#uri uri} * ends in '.ism', '.ism/Manifest' or if its {@link MediaItem.LocalConfiguration#mimeType * mimeType field} is explicitly set to {@link MimeTypes#APPLICATION_SS} (Requires the + * href="https://developer.android.com/guide/topics/media/exoplayer/hello-world#add-exoplayer-modules"> * exoplayer-smoothstreaming module to be added to the app). *
  • {@link ProgressiveMediaSource.Factory} serves as a fallback if the item's {@link * MediaItem.LocalConfiguration#uri uri} doesn't match one of the above. It tries to infer the diff --git a/libraries/exoplayer_ima/README.md b/libraries/exoplayer_ima/README.md index 06ada682a7..d9cba73f09 100644 --- a/libraries/exoplayer_ima/README.md +++ b/libraries/exoplayer_ima/README.md @@ -26,7 +26,7 @@ locally. Instructions for doing this can be found in the [top level README][]. ## Using the module To use the module, follow the instructions on the -[Ad insertion page](https://exoplayer.dev/ad-insertion.html#declarative-ad-support) +[Ad insertion page](https://developer.android.com/guide/topics/media/exoplayer/ad-insertion#declarative-ad-support) of the developer guide. The `AdsLoaderProvider` passed to the player's `DefaultMediaSourceFactory` should return an `ImaAdsLoader`. Note that the IMA module only supports players that are accessed on the application's main thread.