main function
void
main()
Implementation
void main() {
self.onMessage.listen((e) async {
String basePath = '.';
final String path = e.data['path'];
final int fps = e.data['fps'];
final int width = e.data['width'] ?? -1;
final int height = e.data['height'] ?? -1;
final bool forceOriginalAspectRatio = e.data['forceOriginalAspectRatio'];
final String? textMessages = e.data['textMessages'];
final Completer completer = Completer();
late List<int> data;
self.importScripts('$basePath/ffmpeg-core/ffmpeg-core.js');
self.importScripts('$basePath/ffmpeg.min.js');
self.importScripts('$basePath/get_gif.js');
getGifFromVideo(
path,
fps,
width,
height,
forceOriginalAspectRatio,
textMessages,
universal_js.allowInterop((results) {
final byteBuffer = results as ByteBuffer;
data = byteBuffer.asUint8List();
completer.complete();
}),
);
await completer.future;
self.postMessage(data, null);
});
}