Package tvi.webrtc

Class NV12Buffer

java.lang.Object
tvi.webrtc.NV12Buffer
All Implemented Interfaces:
RefCounted, VideoFrame.Buffer

public class NV12Buffer extends Object implements VideoFrame.Buffer
  • Constructor Details

    • NV12Buffer

      public NV12Buffer(int width, int height, int stride, int sliceHeight, ByteBuffer buffer, @Nullable Runnable releaseCallback)
  • Method Details

    • getWidth

      public int getWidth()
      Description copied from interface: VideoFrame.Buffer
      Resolution of the buffer in pixels.
      Specified by:
      getWidth in interface VideoFrame.Buffer
    • getHeight

      public int getHeight()
      Specified by:
      getHeight in interface VideoFrame.Buffer
    • toI420

      public VideoFrame.I420Buffer toI420()
      Description copied from interface: VideoFrame.Buffer
      Returns a memory-backed frame in I420 format. If the pixel data is in another format, a conversion will take place. All implementations must provide a fallback to I420 for compatibility with e.g. the internal WebRTC software encoders.

      Conversion may fail, for example if reading the pixel data from a texture fails. If the conversion fails, null is returned.

      Specified by:
      toI420 in interface VideoFrame.Buffer
    • retain

      public void retain()
      Description copied from interface: RefCounted
      Increases ref count by one.
      Specified by:
      retain in interface RefCounted
      Specified by:
      retain in interface VideoFrame.Buffer
    • release

      public void release()
      Description copied from interface: RefCounted
      Decreases ref count by one. When the ref count reaches zero, resources related to the object will be freed.
      Specified by:
      release in interface RefCounted
      Specified by:
      release in interface VideoFrame.Buffer
    • cropAndScale

      public VideoFrame.Buffer cropAndScale(int cropX, int cropY, int cropWidth, int cropHeight, int scaleWidth, int scaleHeight)
      Description copied from interface: VideoFrame.Buffer
      Crops a region defined by `cropx`, `cropY`, `cropWidth` and `cropHeight`. Scales it to size `scaleWidth` x `scaleHeight`.
      Specified by:
      cropAndScale in interface VideoFrame.Buffer