mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Remove deprecated static metadata methods.
PiperOrigin-RevId: 394196332
This commit is contained in:
parent
be1fe08ba5
commit
0d4986f806
@ -54,6 +54,13 @@
|
|||||||
* Implement `CastPlayer.setPlaybackParameters(PlaybackParameters)` to
|
* Implement `CastPlayer.setPlaybackParameters(PlaybackParameters)` to
|
||||||
support setting the playback speed
|
support setting the playback speed
|
||||||
([#6784](https://github.com/google/ExoPlayer/issues/6784)).
|
([#6784](https://github.com/google/ExoPlayer/issues/6784)).
|
||||||
|
* Remove `Player.getCurrentStaticMetadata`,
|
||||||
|
`Player.Listener.onStaticMetadataChanged` and
|
||||||
|
`Player.EVENT_STATIC_METADATA_CHANGED`. Use `Player.getMediaMetadata`,
|
||||||
|
`Player.Listener.onMediaMetadataChanged` and
|
||||||
|
`Player.EVENT_MEDIA_METADATA_CHANGED` for convenient access to
|
||||||
|
structured metadata, or access the raw static metadata directly from
|
||||||
|
the `TrackSelection#getFormat()`.
|
||||||
|
|
||||||
### 2.15.0 (2021-08-10)
|
### 2.15.0 (2021-08-10)
|
||||||
|
|
||||||
|
@ -22,10 +22,10 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
|
|||||||
{: .language-java}
|
{: .language-java}
|
||||||
|
|
||||||
If an application needs access to specific [`Metadata.Entry`][] objects, then it
|
If an application needs access to specific [`Metadata.Entry`][] objects, then it
|
||||||
should listen for `Player#onStaticMetadataChanged` (for static metadata from the
|
should add a `MetadataOutput` (for dynamic metadata delivered during
|
||||||
`Format`s) and/or add a `MetadataOutput` (for dynamic metadata delivered during
|
playback) to the player. Alternatively, if there is a need to look at static
|
||||||
playback) to the player. The return values of these callbacks are used to
|
metadata, this can be accessed through the `TrackSelections#getFormat`. Both of
|
||||||
populate the `MediaMetadata`.
|
these options are used to populate the `Player#getMediaMetadata`.
|
||||||
|
|
||||||
## Without playback ##
|
## Without playback ##
|
||||||
|
|
||||||
|
@ -38,7 +38,6 @@ import com.google.android.exoplayer2.PlaybackParameters;
|
|||||||
import com.google.android.exoplayer2.Player;
|
import com.google.android.exoplayer2.Player;
|
||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
import com.google.android.exoplayer2.audio.AudioAttributes;
|
import com.google.android.exoplayer2.audio.AudioAttributes;
|
||||||
import com.google.android.exoplayer2.metadata.Metadata;
|
|
||||||
import com.google.android.exoplayer2.source.TrackGroup;
|
import com.google.android.exoplayer2.source.TrackGroup;
|
||||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||||
import com.google.android.exoplayer2.text.Cue;
|
import com.google.android.exoplayer2.text.Cue;
|
||||||
@ -578,13 +577,6 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
@Override
|
@Override
|
||||||
public void setTrackSelectionParameters(TrackSelectionParameters parameters) {}
|
public void setTrackSelectionParameters(TrackSelectionParameters parameters) {}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public ImmutableList<Metadata> getCurrentStaticMetadata() {
|
|
||||||
// CastPlayer does not currently support metadata.
|
|
||||||
return ImmutableList.of();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MediaMetadata getMediaMetadata() {
|
public MediaMetadata getMediaMetadata() {
|
||||||
// CastPlayer does not currently support metadata.
|
// CastPlayer does not currently support metadata.
|
||||||
|
@ -382,12 +382,6 @@ public class ForwardingPlayer implements Player {
|
|||||||
player.setTrackSelectionParameters(parameters);
|
player.setTrackSelectionParameters(parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public List<Metadata> getCurrentStaticMetadata() {
|
|
||||||
return player.getCurrentStaticMetadata();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MediaMetadata getMediaMetadata() {
|
public MediaMetadata getMediaMetadata() {
|
||||||
return player.getMediaMetadata();
|
return player.getMediaMetadata();
|
||||||
@ -663,12 +657,6 @@ public class ForwardingPlayer implements Player {
|
|||||||
eventListener.onTracksChanged(trackGroups, trackSelections);
|
eventListener.onTracksChanged(trackGroups, trackSelections);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public void onStaticMetadataChanged(List<Metadata> metadataList) {
|
|
||||||
eventListener.onStaticMetadataChanged(metadataList);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
|
public void onMediaMetadataChanged(MediaMetadata mediaMetadata) {
|
||||||
eventListener.onMediaMetadataChanged(mediaMetadata);
|
eventListener.onMediaMetadataChanged(mediaMetadata);
|
||||||
|
@ -126,15 +126,6 @@ public interface Player {
|
|||||||
default void onTracksChanged(
|
default void onTracksChanged(
|
||||||
TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
|
TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link Player#getMediaMetadata()} and {@link
|
|
||||||
* #onMediaMetadataChanged(MediaMetadata)} for access to structured metadata, or access the
|
|
||||||
* raw static metadata directly from the {@link TrackSelection#getFormat(int) track
|
|
||||||
* selections' formats}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
default void onStaticMetadataChanged(List<Metadata> metadataList) {}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the combined {@link MediaMetadata} changes.
|
* Called when the combined {@link MediaMetadata} changes.
|
||||||
*
|
*
|
||||||
@ -1263,7 +1254,6 @@ public interface Player {
|
|||||||
EVENT_TIMELINE_CHANGED,
|
EVENT_TIMELINE_CHANGED,
|
||||||
EVENT_MEDIA_ITEM_TRANSITION,
|
EVENT_MEDIA_ITEM_TRANSITION,
|
||||||
EVENT_TRACKS_CHANGED,
|
EVENT_TRACKS_CHANGED,
|
||||||
EVENT_STATIC_METADATA_CHANGED,
|
|
||||||
EVENT_IS_LOADING_CHANGED,
|
EVENT_IS_LOADING_CHANGED,
|
||||||
EVENT_PLAYBACK_STATE_CHANGED,
|
EVENT_PLAYBACK_STATE_CHANGED,
|
||||||
EVENT_PLAY_WHEN_READY_CHANGED,
|
EVENT_PLAY_WHEN_READY_CHANGED,
|
||||||
@ -1289,45 +1279,43 @@ public interface Player {
|
|||||||
int EVENT_MEDIA_ITEM_TRANSITION = 1;
|
int EVENT_MEDIA_ITEM_TRANSITION = 1;
|
||||||
/** {@link #getCurrentTrackGroups()} or {@link #getCurrentTrackSelections()} changed. */
|
/** {@link #getCurrentTrackGroups()} or {@link #getCurrentTrackSelections()} changed. */
|
||||||
int EVENT_TRACKS_CHANGED = 2;
|
int EVENT_TRACKS_CHANGED = 2;
|
||||||
/** @deprecated Use {@link #EVENT_MEDIA_METADATA_CHANGED} for structured metadata changes. */
|
|
||||||
@Deprecated int EVENT_STATIC_METADATA_CHANGED = 3;
|
|
||||||
/** {@link #isLoading()} ()} changed. */
|
/** {@link #isLoading()} ()} changed. */
|
||||||
int EVENT_IS_LOADING_CHANGED = 4;
|
int EVENT_IS_LOADING_CHANGED = 3;
|
||||||
/** {@link #getPlaybackState()} changed. */
|
/** {@link #getPlaybackState()} changed. */
|
||||||
int EVENT_PLAYBACK_STATE_CHANGED = 5;
|
int EVENT_PLAYBACK_STATE_CHANGED = 4;
|
||||||
/** {@link #getPlayWhenReady()} changed. */
|
/** {@link #getPlayWhenReady()} changed. */
|
||||||
int EVENT_PLAY_WHEN_READY_CHANGED = 6;
|
int EVENT_PLAY_WHEN_READY_CHANGED = 5;
|
||||||
/** {@link #getPlaybackSuppressionReason()} changed. */
|
/** {@link #getPlaybackSuppressionReason()} changed. */
|
||||||
int EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED = 7;
|
int EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED = 6;
|
||||||
/** {@link #isPlaying()} changed. */
|
/** {@link #isPlaying()} changed. */
|
||||||
int EVENT_IS_PLAYING_CHANGED = 8;
|
int EVENT_IS_PLAYING_CHANGED = 7;
|
||||||
/** {@link #getRepeatMode()} changed. */
|
/** {@link #getRepeatMode()} changed. */
|
||||||
int EVENT_REPEAT_MODE_CHANGED = 9;
|
int EVENT_REPEAT_MODE_CHANGED = 8;
|
||||||
/** {@link #getShuffleModeEnabled()} changed. */
|
/** {@link #getShuffleModeEnabled()} changed. */
|
||||||
int EVENT_SHUFFLE_MODE_ENABLED_CHANGED = 10;
|
int EVENT_SHUFFLE_MODE_ENABLED_CHANGED = 9;
|
||||||
/** {@link #getPlayerError()} changed. */
|
/** {@link #getPlayerError()} changed. */
|
||||||
int EVENT_PLAYER_ERROR = 11;
|
int EVENT_PLAYER_ERROR = 10;
|
||||||
/**
|
/**
|
||||||
* A position discontinuity occurred. See {@link Listener#onPositionDiscontinuity(PositionInfo,
|
* A position discontinuity occurred. See {@link Listener#onPositionDiscontinuity(PositionInfo,
|
||||||
* PositionInfo, int)}.
|
* PositionInfo, int)}.
|
||||||
*/
|
*/
|
||||||
int EVENT_POSITION_DISCONTINUITY = 12;
|
int EVENT_POSITION_DISCONTINUITY = 11;
|
||||||
/** {@link #getPlaybackParameters()} changed. */
|
/** {@link #getPlaybackParameters()} changed. */
|
||||||
int EVENT_PLAYBACK_PARAMETERS_CHANGED = 13;
|
int EVENT_PLAYBACK_PARAMETERS_CHANGED = 12;
|
||||||
/** {@link #isCommandAvailable(int)} changed for at least one {@link Command}. */
|
/** {@link #isCommandAvailable(int)} changed for at least one {@link Command}. */
|
||||||
int EVENT_AVAILABLE_COMMANDS_CHANGED = 14;
|
int EVENT_AVAILABLE_COMMANDS_CHANGED = 13;
|
||||||
/** {@link #getMediaMetadata()} changed. */
|
/** {@link #getMediaMetadata()} changed. */
|
||||||
int EVENT_MEDIA_METADATA_CHANGED = 15;
|
int EVENT_MEDIA_METADATA_CHANGED = 14;
|
||||||
/** {@link #getPlaylistMetadata()} changed. */
|
/** {@link #getPlaylistMetadata()} changed. */
|
||||||
int EVENT_PLAYLIST_METADATA_CHANGED = 16;
|
int EVENT_PLAYLIST_METADATA_CHANGED = 15;
|
||||||
/** {@link #getSeekBackIncrement()} changed. */
|
/** {@link #getSeekBackIncrement()} changed. */
|
||||||
int EVENT_SEEK_BACK_INCREMENT_CHANGED = 17;
|
int EVENT_SEEK_BACK_INCREMENT_CHANGED = 16;
|
||||||
/** {@link #getSeekForwardIncrement()} changed. */
|
/** {@link #getSeekForwardIncrement()} changed. */
|
||||||
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = 18;
|
int EVENT_SEEK_FORWARD_INCREMENT_CHANGED = 17;
|
||||||
/** {@link #getMaxSeekToPreviousPosition()} changed. */
|
/** {@link #getMaxSeekToPreviousPosition()} changed. */
|
||||||
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED = 19;
|
int EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED = 18;
|
||||||
/** {@link #getTrackSelectionParameters()} changed. */
|
/** {@link #getTrackSelectionParameters()} changed. */
|
||||||
int EVENT_TRACK_SELECTION_PARAMETERS_CHANGED = 20;
|
int EVENT_TRACK_SELECTION_PARAMETERS_CHANGED = 19;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Commands that can be executed on a {@code Player}. One of {@link #COMMAND_PLAY_PAUSE}, {@link
|
* Commands that can be executed on a {@code Player}. One of {@link #COMMAND_PLAY_PAUSE}, {@link
|
||||||
@ -2033,15 +2021,6 @@ public interface Player {
|
|||||||
*/
|
*/
|
||||||
void setTrackSelectionParameters(TrackSelectionParameters parameters);
|
void setTrackSelectionParameters(TrackSelectionParameters parameters);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link #getMediaMetadata()} and {@link
|
|
||||||
* Listener#onMediaMetadataChanged(MediaMetadata)} for access to structured metadata, or
|
|
||||||
* access the raw static metadata directly from the {@link TrackSelection#getFormat(int) track
|
|
||||||
* selections' formats}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
List<Metadata> getCurrentStaticMetadata();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current combined {@link MediaMetadata}, or {@link MediaMetadata#EMPTY} if not
|
* Returns the current combined {@link MediaMetadata}, or {@link MediaMetadata#EMPTY} if not
|
||||||
* supported.
|
* supported.
|
||||||
|
@ -947,12 +947,6 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
|||||||
return new TrackSelectionArray(playbackInfo.trackSelectorResult.selections);
|
return new TrackSelectionArray(playbackInfo.trackSelectorResult.selections);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public List<Metadata> getCurrentStaticMetadata() {
|
|
||||||
return playbackInfo.staticMetadata;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TrackSelectionParameters getTrackSelectionParameters() {
|
public TrackSelectionParameters getTrackSelectionParameters() {
|
||||||
return trackSelector.getParameters();
|
return trackSelector.getParameters();
|
||||||
@ -1276,11 +1270,6 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
|||||||
Player.EVENT_TRACKS_CHANGED,
|
Player.EVENT_TRACKS_CHANGED,
|
||||||
listener -> listener.onTracksChanged(newPlaybackInfo.trackGroups, newSelection));
|
listener -> listener.onTracksChanged(newPlaybackInfo.trackGroups, newSelection));
|
||||||
}
|
}
|
||||||
if (!previousPlaybackInfo.staticMetadata.equals(newPlaybackInfo.staticMetadata)) {
|
|
||||||
listeners.queueEvent(
|
|
||||||
Player.EVENT_STATIC_METADATA_CHANGED,
|
|
||||||
listener -> listener.onStaticMetadataChanged(newPlaybackInfo.staticMetadata));
|
|
||||||
}
|
|
||||||
if (metadataChanged) {
|
if (metadataChanged) {
|
||||||
final MediaMetadata finalMediaMetadata = mediaMetadata;
|
final MediaMetadata finalMediaMetadata = mediaMetadata;
|
||||||
listeners.queueEvent(
|
listeners.queueEvent(
|
||||||
|
@ -1462,13 +1462,6 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
player.setTrackSelectionParameters(parameters);
|
player.setTrackSelectionParameters(parameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public List<Metadata> getCurrentStaticMetadata() {
|
|
||||||
verifyApplicationThread();
|
|
||||||
return player.getCurrentStaticMetadata();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MediaMetadata getMediaMetadata() {
|
public MediaMetadata getMediaMetadata() {
|
||||||
return player.getMediaMetadata();
|
return player.getMediaMetadata();
|
||||||
|
@ -602,16 +602,6 @@ public class AnalyticsCollector
|
|||||||
listener -> listener.onTracksChanged(eventTime, trackGroups, trackSelections));
|
listener -> listener.onTracksChanged(eventTime, trackGroups, trackSelections));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public final void onStaticMetadataChanged(List<Metadata> metadataList) {
|
|
||||||
EventTime eventTime = generateCurrentPlayerMediaPeriodEventTime();
|
|
||||||
sendEvent(
|
|
||||||
eventTime,
|
|
||||||
AnalyticsListener.EVENT_STATIC_METADATA_CHANGED,
|
|
||||||
listener -> listener.onStaticMetadataChanged(eventTime, metadataList));
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("deprecation") // Calling deprecated listener method.
|
@SuppressWarnings("deprecation") // Calling deprecated listener method.
|
||||||
@Override
|
@Override
|
||||||
public final void onIsLoadingChanged(boolean isLoading) {
|
public final void onIsLoadingChanged(boolean isLoading) {
|
||||||
|
@ -58,7 +58,6 @@ import java.io.IOException;
|
|||||||
import java.lang.annotation.Documented;
|
import java.lang.annotation.Documented;
|
||||||
import java.lang.annotation.Retention;
|
import java.lang.annotation.Retention;
|
||||||
import java.lang.annotation.RetentionPolicy;
|
import java.lang.annotation.RetentionPolicy;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A listener for analytics events.
|
* A listener for analytics events.
|
||||||
@ -159,7 +158,6 @@ public interface AnalyticsListener {
|
|||||||
EVENT_TIMELINE_CHANGED,
|
EVENT_TIMELINE_CHANGED,
|
||||||
EVENT_MEDIA_ITEM_TRANSITION,
|
EVENT_MEDIA_ITEM_TRANSITION,
|
||||||
EVENT_TRACKS_CHANGED,
|
EVENT_TRACKS_CHANGED,
|
||||||
EVENT_STATIC_METADATA_CHANGED,
|
|
||||||
EVENT_IS_LOADING_CHANGED,
|
EVENT_IS_LOADING_CHANGED,
|
||||||
EVENT_PLAYBACK_STATE_CHANGED,
|
EVENT_PLAYBACK_STATE_CHANGED,
|
||||||
EVENT_PLAY_WHEN_READY_CHANGED,
|
EVENT_PLAY_WHEN_READY_CHANGED,
|
||||||
@ -226,8 +224,6 @@ public interface AnalyticsListener {
|
|||||||
* {@link Player#getCurrentTrackGroups()} or {@link Player#getCurrentTrackSelections()} changed.
|
* {@link Player#getCurrentTrackGroups()} or {@link Player#getCurrentTrackSelections()} changed.
|
||||||
*/
|
*/
|
||||||
int EVENT_TRACKS_CHANGED = Player.EVENT_TRACKS_CHANGED;
|
int EVENT_TRACKS_CHANGED = Player.EVENT_TRACKS_CHANGED;
|
||||||
/** @deprecated See {@link Player#EVENT_MEDIA_METADATA_CHANGED}. */
|
|
||||||
@Deprecated int EVENT_STATIC_METADATA_CHANGED = Player.EVENT_STATIC_METADATA_CHANGED;
|
|
||||||
/** {@link Player#isLoading()} ()} changed. */
|
/** {@link Player#isLoading()} ()} changed. */
|
||||||
int EVENT_IS_LOADING_CHANGED = Player.EVENT_IS_LOADING_CHANGED;
|
int EVENT_IS_LOADING_CHANGED = Player.EVENT_IS_LOADING_CHANGED;
|
||||||
/** {@link Player#getPlaybackState()} changed. */
|
/** {@link Player#getPlaybackState()} changed. */
|
||||||
@ -682,14 +678,6 @@ public interface AnalyticsListener {
|
|||||||
default void onTracksChanged(
|
default void onTracksChanged(
|
||||||
EventTime eventTime, TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
|
EventTime eventTime, TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Use {@link Player#getMediaMetadata()} and {@link #onMediaMetadataChanged(EventTime,
|
|
||||||
* MediaMetadata)} for access to structured metadata, or access the raw static metadata
|
|
||||||
* directly from the {@link TrackSelection#getFormat(int) track selections' formats}.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
default void onStaticMetadataChanged(EventTime eventTime, List<Metadata> metadataList) {}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when the combined {@link MediaMetadata} changes.
|
* Called when the combined {@link MediaMetadata} changes.
|
||||||
*
|
*
|
||||||
|
@ -34,7 +34,6 @@ import com.google.android.exoplayer2.SeekParameters;
|
|||||||
import com.google.android.exoplayer2.Timeline;
|
import com.google.android.exoplayer2.Timeline;
|
||||||
import com.google.android.exoplayer2.audio.AudioAttributes;
|
import com.google.android.exoplayer2.audio.AudioAttributes;
|
||||||
import com.google.android.exoplayer2.audio.AuxEffectInfo;
|
import com.google.android.exoplayer2.audio.AuxEffectInfo;
|
||||||
import com.google.android.exoplayer2.metadata.Metadata;
|
|
||||||
import com.google.android.exoplayer2.source.MediaSource;
|
import com.google.android.exoplayer2.source.MediaSource;
|
||||||
import com.google.android.exoplayer2.source.ShuffleOrder;
|
import com.google.android.exoplayer2.source.ShuffleOrder;
|
||||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||||
@ -463,12 +462,6 @@ public class StubExoPlayer extends BasePlayer implements ExoPlayer {
|
|||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Deprecated
|
|
||||||
@Override
|
|
||||||
public List<Metadata> getCurrentStaticMetadata() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MediaMetadata getMediaMetadata() {
|
public MediaMetadata getMediaMetadata() {
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user