emscripten: add js File access plugin
Emscripten currently does not support picking a file from the DOM with the element, and reading it from a webassembly application. This access plugin will be able to receive a File object handle in the input thread, and read into buffers in linear memory with the file content while keeping track of the offset. A basic setup could look like : ``` <input type="file" id="fpicker_btn">Select File</input> <script> let instance = _libvlc_new(); let media_player_ptr = _libvlc_media_player_new(instance); /* Module is the emscripten runtime object, it has the vlc_access_file array as a property */ let inputElement = document.getElementById("fpicker_btn"); function handleFile() { var name = this.files.item(0).name; console.log("opened file: ", name); // id starts at 1 let id = 1; let path_ptr = Module.allocateUTF8("emjsfile://" + id); let media_ptr = _libvlc_media_new_location(path_ptr); Module._free(path_ptr); _libvlc_media_player_set_media(media_player_ptr, media_ptr); Module['vlc_access_file'][id] = this.files.item(0); } inputElement.addEventListener("change", handleFile, false); _libvlc_media_player_play(media_player_ptr); </script> ```
parent
992d7b3f
No related branches found
No related tags found
Loading
Please register or sign in to comment