Esempio n. 1
0
    @Override
    public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
      mSurfaceTexture = surface;
      mIsFormatChanged = true;
      mWidth = width;
      mHeight = height;

      ISurfaceHolder surfaceHolder = new InternalSurfaceHolder(mWeakRenderView.get(), surface);
      for (IRenderCallback renderCallback : mRenderCallbackMap.keySet()) {
        renderCallback.onSurfaceChanged(surfaceHolder, 0, width, height);
      }
    }
Esempio n. 2
0
    public void addRenderCallback(@NonNull IRenderCallback callback) {
      mRenderCallbackMap.put(callback, callback);

      ISurfaceHolder surfaceHolder = null;
      if (mSurfaceTexture != null) {
        if (surfaceHolder == null)
          surfaceHolder = new InternalSurfaceHolder(mWeakRenderView.get(), mSurfaceTexture);
        callback.onSurfaceCreated(surfaceHolder, mWidth, mHeight);
      }

      if (mIsFormatChanged) {
        if (surfaceHolder == null)
          surfaceHolder = new InternalSurfaceHolder(mWeakRenderView.get(), mSurfaceTexture);
        callback.onSurfaceChanged(surfaceHolder, 0, mWidth, mHeight);
      }
    }