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();
|
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
|
* 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
|
* 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) {
|
if (textureView == null) {
|
||||||
setVideoSurfaceInternal(null);
|
setVideoSurfaceInternal(null);
|
||||||
} else {
|
} else {
|
||||||
|
if (textureView.getSurfaceTextureListener() != null) {
|
||||||
|
Log.w(TAG, "Replacing existing SurfaceTextureListener.");
|
||||||
|
}
|
||||||
SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
|
SurfaceTexture surfaceTexture = textureView.getSurfaceTexture();
|
||||||
setVideoSurfaceInternal(surfaceTexture == null ? null : new Surface(surfaceTexture));
|
setVideoSurfaceInternal(surfaceTexture == null ? null : new Surface(surfaceTexture));
|
||||||
textureView.setSurfaceTextureListener(componentListener);
|
textureView.setSurfaceTextureListener(componentListener);
|
||||||
|
|
@ -593,13 +604,17 @@ public final class SimpleExoPlayer implements ExoPlayer {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeSurfaceCallbacks() {
|
private void removeSurfaceCallbacks() {
|
||||||
if (this.textureView != null) {
|
if (textureView != null) {
|
||||||
this.textureView.setSurfaceTextureListener(null);
|
if (textureView.getSurfaceTextureListener() != componentListener) {
|
||||||
this.textureView = null;
|
Log.w(TAG, "SurfaceTextureListener already unset or replaced.");
|
||||||
|
} else {
|
||||||
|
textureView.setSurfaceTextureListener(null);
|
||||||
|
}
|
||||||
|
textureView = null;
|
||||||
}
|
}
|
||||||
if (this.surfaceHolder != null) {
|
if (surfaceHolder != null) {
|
||||||
this.surfaceHolder.removeCallback(componentListener);
|
surfaceHolder.removeCallback(componentListener);
|
||||||
this.surfaceHolder = null;
|
surfaceHolder = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -140,6 +140,9 @@ public class PlaybackControlView extends FrameLayout {
|
||||||
* @param player the {@code ExoPlayer} to control.
|
* @param player the {@code ExoPlayer} to control.
|
||||||
*/
|
*/
|
||||||
public void setPlayer(ExoPlayer player) {
|
public void setPlayer(ExoPlayer player) {
|
||||||
|
if (this.player == player) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.player != null) {
|
if (this.player != null) {
|
||||||
this.player.removeListener(componentListener);
|
this.player.removeListener(componentListener);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,9 @@ public final class SimpleExoPlayerView extends FrameLayout {
|
||||||
* @param player The {@link SimpleExoPlayer} to use.
|
* @param player The {@link SimpleExoPlayer} to use.
|
||||||
*/
|
*/
|
||||||
public void setPlayer(SimpleExoPlayer player) {
|
public void setPlayer(SimpleExoPlayer player) {
|
||||||
|
if (this.player == player) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (this.player != null) {
|
if (this.player != null) {
|
||||||
this.player.setTextOutput(null);
|
this.player.setTextOutput(null);
|
||||||
this.player.setVideoListener(null);
|
this.player.setVideoListener(null);
|
||||||
|
|
@ -131,7 +134,9 @@ public final class SimpleExoPlayerView extends FrameLayout {
|
||||||
} else {
|
} else {
|
||||||
shutterView.setVisibility(VISIBLE);
|
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.
|
* @param useController If {@code false} the playback control is never used.
|
||||||
*/
|
*/
|
||||||
public void setUseController(boolean useController) {
|
public void setUseController(boolean useController) {
|
||||||
|
if (this.useController == useController) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.useController = useController;
|
this.useController = useController;
|
||||||
if (useController) {
|
if (useController) {
|
||||||
controller.setPlayer(player);
|
controller.setPlayer(player);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue