Interface PadChainFunction

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

@FunctionalInterface @Generated("org.javagi.JavaGI") public interface PadChainFunction extends FunctionPointer

Functional interface declaration of the PadChainFunction callback.

See Also:
  • Method Details

    • run

      FlowReturn run(Pad pad, @Nullable GstObject parent, Buffer buffer)

      A function that will be called on sinkpads when chaining buffers. The function typically processes the data contained in the buffer and either consumes the data or passes it on to the internally linked pad(s).

      The implementer of this function receives a refcount to buffer and should gst_buffer_unref() when the buffer is no longer needed.

      When a chain function detects an error in the data stream, it must post an error on the bus and return an appropriate GstFlowReturn value.

      Parameters:
      pad - the sink GstPad that performed the chain.
      parent - the parent of pad. If the GST_PAD_FLAG_NEED_PARENT flag is set, parent is guaranteed to be not-null and remain valid during the execution of this function.
      buffer - the GstBuffer that is chained, not null.
      Returns:
      GST_FLOW_OK for success
    • upcall

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

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, 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