configure method
Configure the loopback context with a device and format.
Implementation
@override
Future<void> configure(String deviceId, MiniAVAudioInfo format) async {
_ensureNotDestroyed();
final deviceIdPtr = deviceId.toNativeUtf8();
final formatCPtr = calloc<bindings.MiniAVAudioInfo>();
try {
AudioInfoFFIToPlatform.copyToNative(format, formatCPtr.ref);
final res = bindings.MiniAV_Loopback_Configure(
_contextHandle!,
deviceIdPtr.cast<ffi.Char>(),
formatCPtr,
);
if (res != bindings.MiniAVResultCode.MINIAV_SUCCESS) {
throw Exception(
'Failed to configure loopback for $deviceId: ${res.name}',
);
}
} finally {
calloc.free(deviceIdPtr);
calloc.free(formatCPtr);
}
}