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
@ -608,16 +608,14 @@ public class SimpleExoPlayer extends BasePlayer
|
||||
@Override
|
||||
public void setOutputBufferRenderer(VideoDecoderOutputBufferRenderer outputBufferRenderer) {
|
||||
verifyApplicationThread();
|
||||
removeSurfaceCallbacks();
|
||||
List<PlayerMessage> messages = new ArrayList<>();
|
||||
setVideoSurface(null);
|
||||
for (Renderer renderer : renderers) {
|
||||
if (renderer.getTrackType() == C.TRACK_TYPE_VIDEO) {
|
||||
messages.add(
|
||||
player
|
||||
.createMessage(renderer)
|
||||
.setType(C.MSG_SET_OUTPUT_BUFFER_RENDERER)
|
||||
.setPayload(outputBufferRenderer)
|
||||
.send());
|
||||
.send();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user