Interface AppSrc.PushBufferCallback

All Superinterfaces:
FunctionPointer
Enclosing class:
AppSrc
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public static interface AppSrc.PushBufferCallback extends FunctionPointer

Functional interface declaration of the PushBufferCallback callback.

See Also:
  • Method Details

    • run

      FlowReturn run(@Nullable Buffer buffer)

      Adds a buffer to the queue of buffers that the appsrc element will push to its source pad.

      This function does not take ownership of the buffer, but it takes a reference so the buffer can be unreffed at any time after calling this function.

      When the block property is TRUE, this function can block until free space becomes available in the queue.

    • upcall

      default int upcall(MemorySegment sourceAppSrc, MemorySegment buffer)
      The upcall method is called from native code. The parameters are marshaled and run(Buffer) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer