decoderWorker.js 1006 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. const Events = {
  2. DecodeMessage: 0,
  3. UpdateStats: 1,
  4. WASMReady: 2,
  5. CacheFrame: 3,
  6. RecordVideo: 4,
  7. OnlyEmitSignal: 5,
  8. WASMReadyCost: 6,
  9. PanoramaMessage: 7,
  10. RequestIFrame: 8,
  11. ConsoleLog: 9,
  12. ConsoleError: 10,
  13. };
  14. const printConsole = {
  15. log: (msg) => self.postMessage({ event: Events.ConsoleLog, printMsg: msg }),
  16. error: (msg, code) =>
  17. self.postMessage({ event: Events.ConsoleError, printMsg: msg, code: code }),
  18. };
  19. class Decoder {
  20. constructor() {}
  21. loadWASM(url) {
  22. printConsole.log("Load WASM from " + String(url));
  23. try {
  24. self.importScripts(url);
  25. } catch (e) {
  26. printConsole.error(e.message, "5003");
  27. }
  28. }
  29. }
  30. if ("function" === typeof importScripts) {
  31. printConsole.log("22222");
  32. }
  33. self.decoder = new Decoder();
  34. self.onmessage = (event) => {
  35. switch (event.data.event) {
  36. case 0:
  37. self.postMessage({});
  38. break;
  39. case 9:
  40. self.decoder.loadWASM(event.data.url);
  41. printConsole.log("22222");
  42. default:
  43. break;
  44. }
  45. };