VideoInputFrameRecorder Class

Description

Input frame recorder.

There is an input frame input port and an input frame output port. It can be used to record input frames into an EIF MKV file. Refer to Overview .

All members of this class is thread-safe.

isAvailable

Checks if the component is available. It returns true only on MacOS, iOS and Android.

C

bool easyar_VideoInputFrameRecorder_isAvailable(void)

C++

static bool isAvailable()

Java

public static boolean isAvailable()

Kotlin

companion object fun isAvailable(): Boolean

Objective-C

+ (bool)isAvailable

Swift

public static func isAvailable() -> Bool

C#

public static bool isAvailable()

input

Input port.

C

void easyar_VideoInputFrameRecorder_input(easyar_VideoInputFrameRecorder * This, easyar_InputFrameSink * * Return)

C++

std::shared_ptr<InputFrameSink> input()

Java

public @Nonnull InputFrameSink input()

Kotlin

fun input(): InputFrameSink

Objective-C

- (easyar_InputFrameSink *)input

Swift

public func input() -> InputFrameSink

C#

public virtual InputFrameSink input()

accelerometerResultSink

Optional. Input port for accelerometer result. See also AccelerometerResultSink .

C

void easyar_VideoInputFrameRecorder_accelerometerResultSink(easyar_VideoInputFrameRecorder * This, easyar_AccelerometerResultSink * * Return)

C++

std::shared_ptr<AccelerometerResultSink> accelerometerResultSink()

Java

public @Nonnull AccelerometerResultSink accelerometerResultSink()

Kotlin

fun accelerometerResultSink(): AccelerometerResultSink

Objective-C

- (easyar_AccelerometerResultSink *)accelerometerResultSink

Swift

public func accelerometerResultSink() -> AccelerometerResultSink

C#

public virtual AccelerometerResultSink accelerometerResultSink()

gyroscopeResultSink

Optional. Input port for gyroscope result. See also GyroscopeResultSink .

C

void easyar_VideoInputFrameRecorder_gyroscopeResultSink(easyar_VideoInputFrameRecorder * This, easyar_GyroscopeResultSink * * Return)

C++

std::shared_ptr<GyroscopeResultSink> gyroscopeResultSink()

Java

public @Nonnull GyroscopeResultSink gyroscopeResultSink()

Kotlin

fun gyroscopeResultSink(): GyroscopeResultSink

Objective-C

- (easyar_GyroscopeResultSink *)gyroscopeResultSink

Swift

public func gyroscopeResultSink() -> GyroscopeResultSink

C#

public virtual GyroscopeResultSink gyroscopeResultSink()

attitudeSensorResultSink

Optional. Input port for attitude sensor. See also AttitudeSensorResultSink .

C

void easyar_VideoInputFrameRecorder_attitudeSensorResultSink(easyar_VideoInputFrameRecorder * This, easyar_AttitudeSensorResultSink * * Return)

C++

std::shared_ptr<AttitudeSensorResultSink> attitudeSensorResultSink()

Java

public @Nonnull AttitudeSensorResultSink attitudeSensorResultSink()

Kotlin

fun attitudeSensorResultSink(): AttitudeSensorResultSink

Objective-C

- (easyar_AttitudeSensorResultSink *)attitudeSensorResultSink

Swift

public func attitudeSensorResultSink() -> AttitudeSensorResultSink

C#

public virtual AttitudeSensorResultSink attitudeSensorResultSink()

magnetometerResultSink

Optional. Input port for magnetometer. See also MagnetometerResultSink .

C

void easyar_VideoInputFrameRecorder_magnetometerResultSink(easyar_VideoInputFrameRecorder * This, easyar_MagnetometerResultSink * * Return)

C++

std::shared_ptr<MagnetometerResultSink> magnetometerResultSink()

Java

public @Nonnull MagnetometerResultSink magnetometerResultSink()

Kotlin

fun magnetometerResultSink(): MagnetometerResultSink

Objective-C

- (easyar_MagnetometerResultSink *)magnetometerResultSink

Swift

public func magnetometerResultSink() -> MagnetometerResultSink

C#

public virtual MagnetometerResultSink magnetometerResultSink()

locationResultSink

Optional. Input port for location result. See also LocationResultSink .

C

void easyar_VideoInputFrameRecorder_locationResultSink(easyar_VideoInputFrameRecorder * This, easyar_LocationResultSink * * Return)

C++

std::shared_ptr<LocationResultSink> locationResultSink()

Java

public @Nonnull LocationResultSink locationResultSink()

Kotlin

fun locationResultSink(): LocationResultSink

Objective-C

- (easyar_LocationResultSink *)locationResultSink

Swift

public func locationResultSink() -> LocationResultSink

C#

public virtual LocationResultSink locationResultSink()

proximityLocationResultSink

Optional. Input port for proximity location result. See also ProximityLocationResultSink .

C

void easyar_VideoInputFrameRecorder_proximityLocationResultSink(easyar_VideoInputFrameRecorder * This, easyar_ProximityLocationResultSink * * Return)

C++

std::shared_ptr<ProximityLocationResultSink> proximityLocationResultSink()

Java

public @Nonnull ProximityLocationResultSink proximityLocationResultSink()

Kotlin

fun proximityLocationResultSink(): ProximityLocationResultSink

Objective-C

- (easyar_ProximityLocationResultSink *)proximityLocationResultSink

Swift

public func proximityLocationResultSink() -> ProximityLocationResultSink

C#

public virtual ProximityLocationResultSink proximityLocationResultSink()

bufferRequirement

Camera buffers occupied in this component.

C

int easyar_VideoInputFrameRecorder_bufferRequirement(easyar_VideoInputFrameRecorder * This)

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

Output port.

C

void easyar_VideoInputFrameRecorder_output(easyar_VideoInputFrameRecorder * This, easyar_InputFrameSource * * Return)

C++

std::shared_ptr<InputFrameSource> output()

Java

public @Nonnull InputFrameSource output()

Kotlin

fun output(): InputFrameSource

Objective-C

- (easyar_InputFrameSource *)output

Swift

public func output() -> InputFrameSource

C#

public virtual InputFrameSource output()

create

Creates an instance.

C

void easyar_VideoInputFrameRecorder_create(easyar_VideoInputFrameRecorder * * Return)

C++

static std::shared_ptr<VideoInputFrameRecorder> create()

Java

public static @Nonnull VideoInputFrameRecorder create()

Kotlin

companion object fun create(): VideoInputFrameRecorder

Objective-C

+ (easyar_VideoInputFrameRecorder *)create

Swift

public static func create() -> VideoInputFrameRecorder

C#

public static VideoInputFrameRecorder create()

start

Starts frame recording. The definitions of cameraDeviceType, cameraOrientation and cameraOrientation are the same as in CameraParameters . initialScreenRotation is the initial screen rotation when recording data, and it will be used in rendering for playback.

C

bool easyar_VideoInputFrameRecorder_start(easyar_VideoInputFrameRecorder * This, easyar_String * filePath, easyar_CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, easyar_VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, easyar_String * metadata)

C++

bool start(std::string filePath, CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, std::string metadata)

Java

public boolean start(java.lang.@Nonnull String filePath, int cameraDeviceType, int cameraOrientation, int initialScreenRotation, int codec, int width, int height, double frameRate, java.lang.@Nonnull String metadata)

Kotlin

fun start(filePath: String, cameraDeviceType: Int, cameraOrientation: Int, initialScreenRotation: Int, codec: Int, width: Int, height: Int, frameRate: Double, metadata: String): Boolean

Objective-C

- (bool)start:(NSString *)filePath cameraDeviceType:(easyar_CameraDeviceType)cameraDeviceType cameraOrientation:(int)cameraOrientation initialScreenRotation:(int)initialScreenRotation codec:(easyar_VideoInputFrameRecorderVideoCodec)codec width:(int)width height:(int)height frameRate:(double)frameRate metadata:(NSString *)metadata

Swift

public func start(_ filePath: String, _ cameraDeviceType: CameraDeviceType, _ cameraOrientation: Int32, _ initialScreenRotation: Int32, _ codec: VideoInputFrameRecorderVideoCodec, _ width: Int32, _ height: Int32, _ frameRate: Double, _ metadata: String) -> Bool

C#

public virtual bool start(string filePath, CameraDeviceType cameraDeviceType, int cameraOrientation, int initialScreenRotation, VideoInputFrameRecorderVideoCodec codec, int width, int height, double frameRate, string metadata)

stop

Stops frame recording. It will only stop recording and will not affect connection.

C

void easyar_VideoInputFrameRecorder_stop(easyar_VideoInputFrameRecorder * This)

C++

void stop()

Java

public void stop()

Kotlin

fun stop(): Unit

Objective-C

- (void)stop

Swift

public func stop() -> Void

C#

public virtual void stop()

setAutomaticCompletionCallback

Sets callback for automatic completion of recording.

C

void easyar_VideoInputFrameRecorder_setAutomaticCompletionCallback(easyar_VideoInputFrameRecorder * This, easyar_CallbackScheduler * callbackScheduler, easyar_OptionalOfFunctorOfVoidFromVideoInputFrameRecorderCompletionReason automaticCompletionCallback)

C++

void setAutomaticCompletionCallback(std::shared_ptr<CallbackScheduler> callbackScheduler, std::optional<std::function<void(VideoInputFrameRecorderCompletionReason)>> automaticCompletionCallback)

Java

public void setAutomaticCompletionCallback(@Nonnull CallbackScheduler callbackScheduler, @Nullable FunctorOfVoidFromVideoInputFrameRecorderCompletionReason automaticCompletionCallback)

Kotlin

fun setAutomaticCompletionCallback(callbackScheduler: CallbackScheduler, automaticCompletionCallback: FunctorOfVoidFromVideoInputFrameRecorderCompletionReason?): Unit

Objective-C

- (void)setAutomaticCompletionCallback:(easyar_CallbackScheduler *)callbackScheduler automaticCompletionCallback:(void (^)(easyar_VideoInputFrameRecorderCompletionReason))automaticCompletionCallback

Swift

public func setAutomaticCompletionCallback(_ callbackScheduler: CallbackScheduler, _ automaticCompletionCallback: ((VideoInputFrameRecorderCompletionReason) -> Void)?) -> Void

C#

public virtual void setAutomaticCompletionCallback(CallbackScheduler callbackScheduler, Optional<Action<VideoInputFrameRecorderCompletionReason>> automaticCompletionCallback)