docs: private void prepareEncoder(EGLContext sharedContext, int width, int height, int bitRate,
                                  Muxer muxer) throws IOException {
          mVideoEncoder = new VideoEncoderCore(width, height, bitRate, muxer);
          if (mEglCore == null) {
              // This is the first prepare called for this CameraEncoder instance
              mEglCore = new EglCore(sharedContext, EglCore.FLAG_RECORDABLE);
          }
          if (mInputWindowSurface != null) mInputWindowSurface.release();
          mInputWindowSurface = new WindowSurface(mEglCore, mVideoEncoder.getInputSurface());
          mInputWindowSurface.makeCurrent();
  
          if (mFullScreen != null) mFullScreen.release();
          mFullScreen = new FullFrameRect(
                  new Texture2dProgram(Texture2dProgram.ProgramType.TEXTURE_EXT));
          mFullScreen.getProgram().setTexSize(width, height);
          mIncomingSizeUpdated = true;
      }