DiveFFIObslib extension

Connects to obslib using FFI. Will load the obslib library, load modules, reset video and audio, and create the streaming service.

on

Properties

inputTypes List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get a list of input types. Returns array of dictionaries with keys id and name.
no setter

Methods

audioInputs() List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get a list of video capture inputs from input type coreaudio_input_capture. @return array of dictionaries with keys id and name.
audioMonitoringDevices() List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get a list of the audio monitoring devices. Returns an array of maps with keys id and name.
audioSetDefaultMonitoringDevice() bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

audioSetMonitoringDevice(String name, String id) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Set the audio monitoring device.
changeScene(DivePointer scene) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Set the scene as the primary draw source.
createData() DiveObslibData

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Use this convenience method to create a data object for settings.
createImageSource(String sourceUuid, String file) DivePointer?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

createMediaSource({required String sourceUuid, required String name, required DiveObslibData settings}) DivePointer?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Load media source
createScene(String trackingUUID, String sceneName) DivePointer?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

createSource({required String sourceUuid, required String inputTypeId, required String name, required DiveObslibData settings}) DivePointer?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Creates a source of the specified type with the specified settings.
createVideoSource(String sourceUuid, String deviceName, String deviceUid) DivePointer?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

deleteScene(DivePointer scene) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

fromDb(double value) double

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Convert dB to value.
inputsFromType(String inputTypeId) List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get a list of inputs from input type. Returns an array of maps with keys id and name.
loadAllModules() bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

logVideoActive() → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

mediaSourceGetDuration(DivePointer source) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: get time
mediaSourceGetState(DivePointer source) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: get state
mediaSourceGetTime(DivePointer source) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: get time
mediaSourcePlayPause(DivePointer source, bool pause) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media Controls TODO: implement signals from media source: obs_source_get_signal_handler Media control: play_pause
mediaSourceRestart(DivePointer source) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: restart
mediaSourceSetTime(DivePointer source, int ms) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: set time
mediaSourceStop(DivePointer source) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Media control: stop
outputGetState(DivePointerOutput output) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the output state: 0 (stopped), 1 (active), 2 (paused), or 3 (reconnecting)
outputRelease(DivePointerOutput output) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Release the output.
outputStart(DivePointerOutput output) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Start the output.
outputStop(DivePointerOutput output) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Stop the output.
recordingOutputCreate({required String outputName, String outputType = 'ffmpeg_muxer'}) DivePointerOutput?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Recording Controls Create the recording output. Returns a pointer or null.
releaseSource(DivePointer source) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Releases a reference to a source. When the last reference is released, the source is destroyed.
resetAudio() bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

resetVideo(int baseWidth, int baseHeight, int outWidth, int outHeight, int fpsNumerator, int fpsDenominator) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Reset OBS video.
sceneAddSource(DivePointer scene, DivePointer source) DivePointerSceneItem

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Add an existing source to an existing scene, and return sceneitem id.
sceneItemGetInfo(DivePointerSceneItem item) Map

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the transform info for a scene item. TODO: this does not work because of FFI struct issues.
sceneItemIsVisible(DivePointerSceneItem item) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

sceneItemRemove(DivePointerSceneItem item) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Remove an existing scene item from a scene.
sceneItemSetOrder(DivePointerSceneItem item, int movement) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

sceneItemSetVisible(DivePointerSceneItem item, bool visible) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

shutdown() → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

sourceGetMonitoringType(DivePointer source) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the monitoring type for a source.
sourceGetVolume(DivePointer source) double

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the volume level (dB) for a source.
sources() → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Print out a list of active sources.
sourceSetMonitoringType(DivePointer source, {int type = obs_monitoring_type.OBS_MONITORING_TYPE_MONITOR_AND_OUTPUT, bool muted = false}) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Set the monitoring type for a source.
sourceSetVolume(DivePointer source, double levelDb) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Set the volume level (dB) for a source.
sourceTypes() List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

streamOutputCreate({required String serviceName, required String serviceUrl, required String serviceKey, String serviceId = 'rtmp_common', String outputType = 'rtmp_output'}) DivePointerOutput?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Stream Controls Create the stream output. Returns a pointer or null.
streamOutputGetServiceNames({String serviceId = "rtmp_common", bool commonNamesOnly = true}) List<String>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the list of the streaming service names. When commonNamesOnly is true (default) it returns only the common services, and when false it returns all services. Returns a list of service names.
streamOutputGetServiceServers({String serviceId = "rtmp_common", required String serviceName}) Map<String, String>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the list of the servers for a streaming service. Returns a map with key as name and value as server url.
toDb(double value) double

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Convert value to dB.
videoGetInfo() Map<String, dynamic>?

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Gets the current video settings, returns null if no video.
videoInputs() List<Map<String, String>>

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get a list of video capture inputs from input type av_capture_input. Returns an array of maps with keys id and name.
volumeMeterAttachSource(DivePointer volumeMeter, DivePointer source) bool

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Attache a source to a volume meter.
volumeMeterCreate({int faderType = obs_fader_type.OBS_FADER_LOG}) DivePointer

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Create a volume meter.
volumeMeterDestroy(DivePointer volumeMeter) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Destroy a volume meter.
volumeMeterGetNumberChannels(DivePointer volumeMeter) int

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Get the number of channels which are configured for this source.
volumeMeterSetPeakMeterType(DivePointer volumeMeter, {int meterType = obs_peak_meter_type.SAMPLE_PEAK_METER}) → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension

Set the peak meter type for the volume meter.

Static Methods

initialize() → void

Available on DiveBaseObslib, provided by the DiveFFIObslib extension