mirror of
https://github.com/androidx/media.git
synced 2025-05-13 02:29:52 +08:00
Ban FileMediaItem and CallbackMediaItem
PiperOrigin-RevId: 327268964
This commit is contained in:
parent
2299c4e609
commit
bddb29c431
@ -23,6 +23,7 @@ import androidx.annotation.Nullable;
|
|||||||
import androidx.core.util.ObjectsCompat;
|
import androidx.core.util.ObjectsCompat;
|
||||||
import androidx.core.util.Pair;
|
import androidx.core.util.Pair;
|
||||||
import androidx.media.AudioAttributesCompat;
|
import androidx.media.AudioAttributesCompat;
|
||||||
|
import androidx.media2.common.CallbackMediaItem;
|
||||||
import androidx.media2.common.FileMediaItem;
|
import androidx.media2.common.FileMediaItem;
|
||||||
import androidx.media2.common.MediaItem;
|
import androidx.media2.common.MediaItem;
|
||||||
import androidx.media2.common.MediaMetadata;
|
import androidx.media2.common.MediaMetadata;
|
||||||
@ -225,16 +226,27 @@ public final class SessionPlayerConnector extends SessionPlayer {
|
|||||||
return runPlayerCallableBlockingWithNullOnException(/* callable= */ player::getAudioAttributes);
|
return runPlayerCallableBlockingWithNullOnException(/* callable= */ player::getAudioAttributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*
|
||||||
|
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<PlayerResult> setMediaItem(MediaItem item) {
|
public ListenableFuture<PlayerResult> setMediaItem(MediaItem item) {
|
||||||
Assertions.checkNotNull(item);
|
Assertions.checkNotNull(item);
|
||||||
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
||||||
|
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
|
||||||
ListenableFuture<PlayerResult> result =
|
ListenableFuture<PlayerResult> result =
|
||||||
playerCommandQueue.addCommand(
|
playerCommandQueue.addCommand(
|
||||||
PlayerCommandQueue.COMMAND_CODE_PLAYER_SET_MEDIA_ITEM, () -> player.setMediaItem(item));
|
PlayerCommandQueue.COMMAND_CODE_PLAYER_SET_MEDIA_ITEM, () -> player.setMediaItem(item));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*
|
||||||
|
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<PlayerResult> setPlaylist(
|
public ListenableFuture<PlayerResult> setPlaylist(
|
||||||
final List<MediaItem> playlist, @Nullable MediaMetadata metadata) {
|
final List<MediaItem> playlist, @Nullable MediaMetadata metadata) {
|
||||||
@ -244,6 +256,7 @@ public final class SessionPlayerConnector extends SessionPlayer {
|
|||||||
MediaItem item = playlist.get(i);
|
MediaItem item = playlist.get(i);
|
||||||
Assertions.checkNotNull(item);
|
Assertions.checkNotNull(item);
|
||||||
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
||||||
|
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
|
||||||
for (int j = 0; j < i; j++) {
|
for (int j = 0; j < i; j++) {
|
||||||
Assertions.checkArgument(
|
Assertions.checkArgument(
|
||||||
item != playlist.get(j),
|
item != playlist.get(j),
|
||||||
@ -257,11 +270,17 @@ public final class SessionPlayerConnector extends SessionPlayer {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*
|
||||||
|
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<PlayerResult> addPlaylistItem(int index, MediaItem item) {
|
public ListenableFuture<PlayerResult> addPlaylistItem(int index, MediaItem item) {
|
||||||
Assertions.checkArgument(index >= 0);
|
Assertions.checkArgument(index >= 0);
|
||||||
Assertions.checkNotNull(item);
|
Assertions.checkNotNull(item);
|
||||||
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
||||||
|
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
|
||||||
ListenableFuture<PlayerResult> result =
|
ListenableFuture<PlayerResult> result =
|
||||||
playerCommandQueue.addCommand(
|
playerCommandQueue.addCommand(
|
||||||
PlayerCommandQueue.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM,
|
PlayerCommandQueue.COMMAND_CODE_PLAYER_ADD_PLAYLIST_ITEM,
|
||||||
@ -279,11 +298,17 @@ public final class SessionPlayerConnector extends SessionPlayer {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*
|
||||||
|
* <p>{@link FileMediaItem} and {@link CallbackMediaItem} are not supported.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ListenableFuture<PlayerResult> replacePlaylistItem(int index, MediaItem item) {
|
public ListenableFuture<PlayerResult> replacePlaylistItem(int index, MediaItem item) {
|
||||||
Assertions.checkArgument(index >= 0);
|
Assertions.checkArgument(index >= 0);
|
||||||
Assertions.checkNotNull(item);
|
Assertions.checkNotNull(item);
|
||||||
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
Assertions.checkArgument(!(item instanceof FileMediaItem));
|
||||||
|
Assertions.checkArgument(!(item instanceof CallbackMediaItem));
|
||||||
ListenableFuture<PlayerResult> result =
|
ListenableFuture<PlayerResult> result =
|
||||||
playerCommandQueue.addCommand(
|
playerCommandQueue.addCommand(
|
||||||
PlayerCommandQueue.COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM,
|
PlayerCommandQueue.COMMAND_CODE_PLAYER_REPLACE_PLAYLIST_ITEM,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user