init method
void
init(
{ - bool videoOutput = false,
})
Implementation
void init({bool videoOutput = false}) {
int error = Library.libmpv.mpv_initialize(ctx);
if (error != mpv_error.MPV_ERROR_SUCCESS.value) {
throw Exception(
Library.libmpv.mpv_error_string(error).cast<Utf8>().toDartString(),
);
}
<String, mpv_format>{
'pause': mpv_format.MPV_FORMAT_FLAG,
'time-pos': mpv_format.MPV_FORMAT_DOUBLE,
'duration': mpv_format.MPV_FORMAT_DOUBLE,
'volume': mpv_format.MPV_FORMAT_DOUBLE,
'speed': mpv_format.MPV_FORMAT_DOUBLE,
'video-out-params': mpv_format.MPV_FORMAT_NODE,
'audio-params': mpv_format.MPV_FORMAT_NODE,
}.forEach(
(property, format) {
final name = property.toNativeUtf8();
Library.libmpv.mpv_observe_property(
ctx,
0,
name.cast(),
format,
);
calloc.free(name);
},
);
// TODO: dispose
final nativeCallable = WakeUpNativeCallable.listener(_mpvCallback);
final nativeFunction = nativeCallable.nativeFunction;
Library.libmpv
.mpv_set_wakeup_callback(ctx, nativeFunction.cast(), ctx.cast());
_videoOutput = videoOutput;
if (videoOutput) {
initVO();
}
}