Fix not able to set a null output surface.
Previously, after calling MCVR.setOutput() with null, `frameProcessorManager`'s output surface is cleared. What was unexpected is `ExoPlayerInternal` notifies a zero output resolution after clearing the output surface. This zero resolution causes FrameProcessor to fail. PiperOrigin-RevId: 501861993
This commit is contained in:
parent
e773031927
commit
07fe60710c
@ -682,7 +682,10 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
|
||||
break;
|
||||
case MSG_SET_VIDEO_OUTPUT_RESOLUTION:
|
||||
Size outputResolution = (Size) checkNotNull(message);
|
||||
if (displaySurface != null && frameProcessorManager.isEnabled()) {
|
||||
if (outputResolution.getWidth() != 0
|
||||
&& outputResolution.getHeight() != 0
|
||||
&& displaySurface != null
|
||||
&& frameProcessorManager.isEnabled()) {
|
||||
frameProcessorManager.setOutputSurfaceInfo(displaySurface, outputResolution);
|
||||
}
|
||||
break;
|
||||
@ -2047,6 +2050,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
|
||||
checkNotNull(frameProcessor).setOutputSurfaceInfo(null);
|
||||
currentSurfaceAndSize = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the input surface info.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user