OutputFrameBuffer Class


Output frame buffer.

There is an output frame input port and output frame fetching function. It can be used to convert output frame fetching from asynchronous pattern to synchronous polling pattern, which fits frame by frame rendering.

OutputFrameBuffer occupies one buffer of camera. Use setBufferCapacity of camera to set an amount of buffers that is not less than the sum of amount of buffers occupied by all components. Refer to Overview _ .

All members of this class is thread-safe.


Input port.

C: void easyar_OutputFrameBuffer_input(easyar_OutputFrameBuffer * This, easyar_OutputFrameSink * * Return)
C++17: std::shared_ptr<OutputFrameSink> input()
Traditional C++: void input(OutputFrameSink * * Return)
Java: public @Nonnull OutputFrameSink input()
Kotlin: fun input(): OutputFrameSink
Objective-C: - (easyar_OutputFrameSink *)input
Swift: public func input() -> OutputFrameSink
C#: public virtual OutputFrameSink input()


Camera buffers occupied in this component.

C: int easyar_OutputFrameBuffer_bufferRequirement(easyar_OutputFrameBuffer * This)
C++17: int bufferRequirement()
Traditional C++: int bufferRequirement()
Java: public int bufferRequirement()
Kotlin: fun bufferRequirement(): Int
Objective-C: - (int)bufferRequirement
Swift: public func bufferRequirement() -> Int32
C#: public virtual int bufferRequirement()


Output port for frame arrival. It can be connected to InputFrameThrottler.signalInput .

C: void easyar_OutputFrameBuffer_signalOutput(easyar_OutputFrameBuffer * This, easyar_SignalSource * * Return)
C++17: std::shared_ptr<SignalSource> signalOutput()
Traditional C++: void signalOutput(SignalSource * * Return)
Java: public @Nonnull SignalSource signalOutput()
Kotlin: fun signalOutput(): SignalSource
Objective-C: - (easyar_SignalSource *)signalOutput
Swift: public func signalOutput() -> SignalSource
C#: public virtual SignalSource signalOutput()


Fetches the most recent OutputFrame .

C: void easyar_OutputFrameBuffer_peek(easyar_OutputFrameBuffer * This, easyar_OptionalOfOutputFrame * Return)
C++17: std::optional<std::shared_ptr<OutputFrame>> peek()
Traditional C++: void peek(OutputFrame * * Return)
Java: public @Nullable OutputFrame peek()
Kotlin: fun peek(): OutputFrame?
Objective-C: - (easyar_OutputFrame *)peek
Swift: public func peek() -> OutputFrame?
C#: public virtual Optional<OutputFrame> peek()


Creates an instance.

C: void easyar_OutputFrameBuffer_create(easyar_OutputFrameBuffer * * Return)
C++17: static std::shared_ptr<OutputFrameBuffer> create()
Traditional C++: static void create(OutputFrameBuffer * * Return)
Java: public static @Nonnull OutputFrameBuffer create()
Kotlin: companion object fun create(): OutputFrameBuffer
Objective-C: + (easyar_OutputFrameBuffer *)create
Swift: public static func create() -> OutputFrameBuffer
C#: public static OutputFrameBuffer create()


Pauses output of OutputFrame . After execution, all results of OutputFrameBuffer.peek will be empty. OutputFrameBuffer.signalOutput is not affected.

C: void easyar_OutputFrameBuffer_pause(easyar_OutputFrameBuffer * This)
C++17: void pause()
Traditional C++: void pause()
Java: public void pause()
Kotlin: fun pause(): Unit
Objective-C: - (void)pause
Swift: public func pause() -> Void
C#: public virtual void pause()


Resumes output of OutputFrame .

C: void easyar_OutputFrameBuffer_resume(easyar_OutputFrameBuffer * This)
C++17: void resume()
Traditional C++: void resume()
Java: public void resume()
Kotlin: fun resume(): Unit
Objective-C: - (void)resume
Swift: public func resume() -> Void
C#: public virtual void resume()