mirror of
https://github.com/androidx/media.git
synced 2025-05-11 09:39:52 +08:00
Add Player.MetadataComponent for completeness
PiperOrigin-RevId: 225795581
This commit is contained in:
parent
f41dadca58
commit
abdb58485f
@ -283,20 +283,29 @@ public final class CastPlayer extends BasePlayer {
|
|||||||
// Player implementation.
|
// Player implementation.
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public AudioComponent getAudioComponent() {
|
public AudioComponent getAudioComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public VideoComponent getVideoComponent() {
|
public VideoComponent getVideoComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public TextComponent getTextComponent() {
|
public TextComponent getTextComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public MetadataComponent getMetadataComponent() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Looper getApplicationLooper() {
|
public Looper getApplicationLooper() {
|
||||||
return Looper.getMainLooper();
|
return Looper.getMainLooper();
|
||||||
|
@ -144,20 +144,29 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public AudioComponent getAudioComponent() {
|
public AudioComponent getAudioComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public VideoComponent getVideoComponent() {
|
public VideoComponent getVideoComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public TextComponent getTextComponent() {
|
public TextComponent getTextComponent() {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public MetadataComponent getMetadataComponent() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Looper getPlaybackLooper() {
|
public Looper getPlaybackLooper() {
|
||||||
return internalPlayer.getPlaybackLooper();
|
return internalPlayer.getPlaybackLooper();
|
||||||
|
@ -26,6 +26,7 @@ import com.google.android.exoplayer2.C.VideoScalingMode;
|
|||||||
import com.google.android.exoplayer2.audio.AudioAttributes;
|
import com.google.android.exoplayer2.audio.AudioAttributes;
|
||||||
import com.google.android.exoplayer2.audio.AudioListener;
|
import com.google.android.exoplayer2.audio.AudioListener;
|
||||||
import com.google.android.exoplayer2.audio.AuxEffectInfo;
|
import com.google.android.exoplayer2.audio.AuxEffectInfo;
|
||||||
|
import com.google.android.exoplayer2.metadata.MetadataOutput;
|
||||||
import com.google.android.exoplayer2.source.TrackGroupArray;
|
import com.google.android.exoplayer2.source.TrackGroupArray;
|
||||||
import com.google.android.exoplayer2.text.TextOutput;
|
import com.google.android.exoplayer2.text.TextOutput;
|
||||||
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
|
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
|
||||||
@ -299,6 +300,24 @@ public interface Player {
|
|||||||
void removeTextOutput(TextOutput listener);
|
void removeTextOutput(TextOutput listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** The metadata component of a {@link Player}. */
|
||||||
|
interface MetadataComponent {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Adds a {@link MetadataOutput} to receive metadata.
|
||||||
|
*
|
||||||
|
* @param output The output to register.
|
||||||
|
*/
|
||||||
|
void addMetadataOutput(MetadataOutput output);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes a {@link MetadataOutput}.
|
||||||
|
*
|
||||||
|
* @param output The output to remove.
|
||||||
|
*/
|
||||||
|
void removeMetadataOutput(MetadataOutput output);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Listener of changes in player state. All methods have no-op default implementations to allow
|
* Listener of changes in player state. All methods have no-op default implementations to allow
|
||||||
* selective overrides.
|
* selective overrides.
|
||||||
@ -533,6 +552,12 @@ public interface Player {
|
|||||||
@Nullable
|
@Nullable
|
||||||
TextComponent getTextComponent();
|
TextComponent getTextComponent();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the component of this player for metadata output, or null if metadata is not supported.
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
MetadataComponent getMetadataComponent();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the {@link Looper} associated with the application thread that's used to access the
|
* Returns the {@link Looper} associated with the application thread that's used to access the
|
||||||
* player and on which player events are received.
|
* player and on which player events are received.
|
||||||
|
@ -65,7 +65,11 @@ import java.util.concurrent.CopyOnWriteArraySet;
|
|||||||
*/
|
*/
|
||||||
@TargetApi(16)
|
@TargetApi(16)
|
||||||
public class SimpleExoPlayer extends BasePlayer
|
public class SimpleExoPlayer extends BasePlayer
|
||||||
implements ExoPlayer, Player.AudioComponent, Player.VideoComponent, Player.TextComponent {
|
implements ExoPlayer,
|
||||||
|
Player.AudioComponent,
|
||||||
|
Player.VideoComponent,
|
||||||
|
Player.TextComponent,
|
||||||
|
Player.MetadataComponent {
|
||||||
|
|
||||||
/** @deprecated Use {@link com.google.android.exoplayer2.video.VideoListener}. */
|
/** @deprecated Use {@link com.google.android.exoplayer2.video.VideoListener}. */
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@ -243,20 +247,29 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public AudioComponent getAudioComponent() {
|
public AudioComponent getAudioComponent() {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public VideoComponent getVideoComponent() {
|
public VideoComponent getVideoComponent() {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Nullable
|
||||||
public TextComponent getTextComponent() {
|
public TextComponent getTextComponent() {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Nullable
|
||||||
|
public MetadataComponent getMetadataComponent() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the video scaling mode.
|
* Sets the video scaling mode.
|
||||||
*
|
*
|
||||||
@ -713,20 +726,12 @@ public class SimpleExoPlayer extends BasePlayer
|
|||||||
removeTextOutput(output);
|
removeTextOutput(output);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Adds a {@link MetadataOutput} to receive metadata.
|
|
||||||
*
|
|
||||||
* @param listener The output to register.
|
|
||||||
*/
|
|
||||||
public void addMetadataOutput(MetadataOutput listener) {
|
public void addMetadataOutput(MetadataOutput listener) {
|
||||||
metadataOutputs.add(listener);
|
metadataOutputs.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Override
|
||||||
* Removes a {@link MetadataOutput}.
|
|
||||||
*
|
|
||||||
* @param listener The output to remove.
|
|
||||||
*/
|
|
||||||
public void removeMetadataOutput(MetadataOutput listener) {
|
public void removeMetadataOutput(MetadataOutput listener) {
|
||||||
metadataOutputs.remove(listener);
|
metadataOutputs.remove(listener);
|
||||||
}
|
}
|
||||||
|
@ -49,6 +49,11 @@ public abstract class StubExoPlayer extends BasePlayer implements ExoPlayer {
|
|||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MetadataComponent getMetadataComponent() {
|
||||||
|
throw new UnsupportedOperationException();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Looper getPlaybackLooper() {
|
public Looper getPlaybackLooper() {
|
||||||
throw new UnsupportedOperationException();
|
throw new UnsupportedOperationException();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user