mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Clean up surface on setting renderer
If a surface was previously passed to the player then an output buffer renderer was set, we would remove surface callbacks but not clear the surface on renderers that accept MSG_SET_SURFACE. PiperOrigin-RevId: 274532266
This commit is contained in:
parent
ce01c79e01
commit
d52f06e611
1 changed files with 6 additions and 8 deletions
|
|
@ -608,16 +608,14 @@ public class SimpleExoPlayer extends BasePlayer
|
||||||
@Override
|
@Override
|
||||||
public void setOutputBufferRenderer(VideoDecoderOutputBufferRenderer outputBufferRenderer) {
|
public void setOutputBufferRenderer(VideoDecoderOutputBufferRenderer outputBufferRenderer) {
|
||||||
verifyApplicationThread();
|
verifyApplicationThread();
|
||||||
removeSurfaceCallbacks();
|
setVideoSurface(null);
|
||||||
List<PlayerMessage> messages = new ArrayList<>();
|
|
||||||
for (Renderer renderer : renderers) {
|
for (Renderer renderer : renderers) {
|
||||||
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) {
|
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) {
|
||||||
messages.add(
|
player
|
||||||
player
|
.createMessage(renderer)
|
||||||
.createMessage(renderer)
|
.setType(C.MSG_SET_OUTPUT_BUFFER_RENDERER)
|
||||||
.setType(C.MSG_SET_OUTPUT_BUFFER_RENDERER)
|
.setPayload(outputBufferRenderer)
|
||||||
.setPayload(outputBufferRenderer)
|
.send();
|
||||||
.send());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue