mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Some minor UI refinements
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=135353593
This commit is contained in:
parent
08965c03d0
commit
6c12ec629a
3 changed files with 33 additions and 7 deletions
|
|
@ -183,6 +183,14 @@ public final class SimpleExoPlayer implements ExoPlayer {
|
|||
return renderers[index].getTrackType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears any {@link Surface}, {@link SurfaceHolder}, {@link SurfaceView} or {@link TextureView}
|
||||
* currently set on the player.
|
||||
*/
|
||||
public void clearVideoSurface() {
|
||||
setVideoSurface(null);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the {@link Surface} onto which video will be rendered. The caller is responsible for
|
||||
* tracking the lifecycle of the surface, and must clear the surface by calling
|
||||
|
|
@ -240,6 +248,9 @@ public final class SimpleExoPlayer implements ExoPlayer {
|
|||
if (textureView == null) {
|
||||
setVideoSurfaceInternal(null);
|
||||
} else {
|
||||
if (textureView.getSurfaceTextureListener() != null) {
|
||||
Log.w(TAG, "Replacing existing SurfaceTextureListener.");
|
||||
}
|
||||
SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
|
||||
setVideoSurfaceInternal(surfaceTexture == null ? null : new Surface(surfaceTexture));
|
||||
textureView.setSurfaceTextureListener(componentListener);
|
||||
|
|
@ -593,13 +604,17 @@ public final class SimpleExoPlayer implements ExoPlayer {
|
|||
}
|
||||
|
||||
private void removeSurfaceCallbacks() {
|
||||
if (this.textureView != null) {
|
||||
this.textureView.setSurfaceTextureListener(null);
|
||||
this.textureView = null;
|
||||
if (textureView != null) {
|
||||
if (textureView.getSurfaceTextureListener() != componentListener) {
|
||||
Log.w(TAG, "SurfaceTextureListener already unset or replaced.");
|
||||
} else {
|
||||
textureView.setSurfaceTextureListener(null);
|
||||
}
|
||||
textureView = null;
|
||||
}
|
||||
if (this.surfaceHolder != null) {
|
||||
this.surfaceHolder.removeCallback(componentListener);
|
||||
this.surfaceHolder = null;
|
||||
if (surfaceHolder != null) {
|
||||
surfaceHolder.removeCallback(componentListener);
|
||||
surfaceHolder = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -140,6 +140,9 @@ public class PlaybackControlView extends FrameLayout {
|
|||
* @param player the {@code ExoPlayer} to control.
|
||||
*/
|
||||
public void setPlayer(ExoPlayer player) {
|
||||
if (this.player == player) {
|
||||
return;
|
||||
}
|
||||
if (this.player != null) {
|
||||
this.player.removeListener(componentListener);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -112,6 +112,9 @@ public final class SimpleExoPlayerView extends FrameLayout {
|
|||
* @param player The {@link SimpleExoPlayer} to use.
|
||||
*/
|
||||
public void setPlayer(SimpleExoPlayer player) {
|
||||
if (this.player == player) {
|
||||
return;
|
||||
}
|
||||
if (this.player != null) {
|
||||
this.player.setTextOutput(null);
|
||||
this.player.setVideoListener(null);
|
||||
|
|
@ -131,7 +134,9 @@ public final class SimpleExoPlayerView extends FrameLayout {
|
|||
} else {
|
||||
shutterView.setVisibility(VISIBLE);
|
||||
}
|
||||
setUseController(useController);
|
||||
if (useController) {
|
||||
controller.setPlayer(player);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -142,6 +147,9 @@ public final class SimpleExoPlayerView extends FrameLayout {
|
|||
* @param useController If {@code false} the playback control is never used.
|
||||
*/
|
||||
public void setUseController(boolean useController) {
|
||||
if (this.useController == useController) {
|
||||
return;
|
||||
}
|
||||
this.useController = useController;
|
||||
if (useController) {
|
||||
controller.setPlayer(player);
|
||||
|
|
|
|||
Loading…
Reference in a new issue