Interface AppSrc.PushSampleCallback

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.PushSampleCallback extends FunctionPointer

Functional interface declaration of the PushSampleCallback callback.

See Also:
  • Method Details

    • run

      FlowReturn run(@Nullable Sample sample)

      Extract a buffer from the provided sample and adds the extracted buffer to the queue of buffers that the appsrc element will push to its source pad. This function set the appsrc caps based on the caps in the sample and reset the caps if they change. Only the caps and the buffer of the provided sample are used and not for example the segment in the sample.

      This function does not take ownership of the sample, but it takes a reference so the sample 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.

      Since:
      1.6
    • upcall

      default int upcall(MemorySegment sourceAppSrc, MemorySegment sample)
      The upcall method is called from native code. The parameters are marshaled and run(Sample) 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