Exemplo n.º 1
0
    @Override
    public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
      mSurfaceTexture = surface;
      mIsFormatChanged = false;
      mWidth = 0;
      mHeight = 0;

      ISurfaceHolder surfaceHolder = new InternalSurfaceHolder(mWeakRenderView.get(), surface);
      for (IRenderCallback renderCallback : mRenderCallbackMap.keySet()) {
        renderCallback.onSurfaceCreated(surfaceHolder, 0, 0);
      }
    }
Exemplo n.º 2
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);
      }
    }
Exemplo n.º 3
0
    @Override
    public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
      mSurfaceTexture = surface;
      mIsFormatChanged = false;
      mWidth = 0;
      mHeight = 0;

      ISurfaceHolder surfaceHolder = new InternalSurfaceHolder(mWeakRenderView.get(), surface);
      for (IRenderCallback renderCallback : mRenderCallbackMap.keySet()) {
        renderCallback.onSurfaceDestroyed(surfaceHolder);
      }

      return mOwnSurfaceTecture;
    }
Exemplo n.º 4
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);
      }
    }