OutputFrameJoin Class¶
Description¶
输出帧合流器。
用于将多个组件的输出帧合并成一个输出帧。
本类的所有成员都是线程安全的。
需要注意其多个输入的连接和断开不应该在有数据流入的同时进行,否则可能会陷入不能输出的状态。(推荐在Camera启动之前完成数据流连接。)
input¶
输入端口。
- C
void easyar_OutputFrameJoin_input(easyar_OutputFrameJoin * This, int index, easyar_OutputFrameSink * * Return)
- C++
std::shared_ptr<OutputFrameSink> input(int index)
- Java
public @Nonnull OutputFrameSink input(int index)
- Kotlin
fun input(index: Int): OutputFrameSink
- Objective-C
- (easyar_OutputFrameSink *)input:(int)index
- Swift
public func input(_ index: Int32) -> OutputFrameSink
- C#
public virtual OutputFrameSink input(int index)
output¶
输出端口。
- C
void easyar_OutputFrameJoin_output(easyar_OutputFrameJoin * This, easyar_OutputFrameSource * * Return)
- C++
std::shared_ptr<OutputFrameSource> output()
- Java
public @Nonnull OutputFrameSource output()
- Kotlin
fun output(): OutputFrameSource
- Objective-C
- (easyar_OutputFrameSource *)output
- Swift
public func output() -> OutputFrameSource
- C#
public virtual OutputFrameSource output()
inputCount¶
输入个数。
- C
int easyar_OutputFrameJoin_inputCount(easyar_OutputFrameJoin * This)
- C++
int inputCount()
- Java
public int inputCount()
- Kotlin
fun inputCount(): Int
- Objective-C
- (int)inputCount
- Swift
public func inputCount() -> Int32
- C#
public virtual int inputCount()
create¶
创建。使用默认的合流函数,其实现为取第一个输入的输入帧,并取每个输入的第一个结果。对每个输入,如果没有结果,则取空结果。每个输入的第一个结果将被放在最终输出帧的results的对应输入索引处。
- C
void easyar_OutputFrameJoin_create(int inputCount, easyar_OutputFrameJoin * * Return)
- C++
static std::shared_ptr<OutputFrameJoin> create(int inputCount)
- Java
public static @Nonnull OutputFrameJoin create(int inputCount)
- Kotlin
companion object fun create(inputCount: Int): OutputFrameJoin
- Objective-C
+ (easyar_OutputFrameJoin *)create:(int)inputCount
- Swift
public static func create(_ inputCount: Int32) -> OutputFrameJoin
- C#
public static OutputFrameJoin create(int inputCount)
createWithJoiner¶
创建。使用自定义合流函数。
- C
void easyar_OutputFrameJoin_createWithJoiner(int inputCount, easyar_FunctorOfOutputFrameFromListOfOutputFrame joiner, easyar_OutputFrameJoin * * Return)
- C++
static std::shared_ptr<OutputFrameJoin> createWithJoiner(int inputCount, std::function<std::shared_ptr<OutputFrame>(std::vector<std::shared_ptr<OutputFrame>>)> joiner)
- Java
public static @Nonnull OutputFrameJoin createWithJoiner(int inputCount, @Nonnull FunctorOfOutputFrameFromListOfOutputFrame joiner)
- Kotlin
companion object fun createWithJoiner(inputCount: Int, joiner: FunctorOfOutputFrameFromListOfOutputFrame): OutputFrameJoin
- Objective-C
+ (easyar_OutputFrameJoin *)createWithJoiner:(int)inputCount joiner:(easyar_OutputFrame * (^)(NSArray<easyar_OutputFrame *> *))joiner
- Swift
public static func createWithJoiner(_ inputCount: Int32, _ joiner: @escaping ([OutputFrame]) -> OutputFrame) -> OutputFrameJoin
- C#
public static OutputFrameJoin createWithJoiner(int inputCount, Func<List<OutputFrame>, OutputFrame> joiner)