From a3f17351d1cf48c51720edea48b2c1f8fca70a90 Mon Sep 17 00:00:00 2001 From: rustdesk Date: Sat, 5 Feb 2022 04:29:10 +0800 Subject: [PATCH] input_key works --- lib/model.dart | 4 - lib/web_model.dart | 79 +++- web/ogvjs-1.8.6/COPYING | 21 + web/ogvjs-1.8.6/COPYING-dav1d.txt | 23 ++ web/ogvjs-1.8.6/COPYING-ogg.txt | 28 ++ web/ogvjs-1.8.6/COPYING-opus.txt | 44 ++ web/ogvjs-1.8.6/COPYING-theora.txt | 28 ++ web/ogvjs-1.8.6/COPYING-vorbis.txt | 28 ++ web/ogvjs-1.8.6/LICENSE-nestegg.txt | 13 + web/ogvjs-1.8.6/LICENSE-vpx.txt | 31 ++ web/ogvjs-1.8.6/PATENTS-vpx.txt | 23 ++ web/ogvjs-1.8.6/README.md | 391 ++++++++++++++++++ .../ogv-decoder-audio-opus-wasm.js | 39 ++ .../ogv-decoder-audio-opus-wasm.wasm | Bin 0 -> 143417 bytes .../ogv-decoder-audio-vorbis-wasm.js | 40 ++ .../ogv-decoder-audio-vorbis-wasm.wasm | Bin 0 -> 155787 bytes .../ogv-decoder-video-av1-mt-wasm.js | 21 + .../ogv-decoder-video-av1-mt-wasm.wasm | Bin 0 -> 418335 bytes .../ogv-decoder-video-av1-mt-wasm.worker.js | 1 + .../ogv-decoder-video-av1-simd-mt-wasm.js | 21 + .../ogv-decoder-video-av1-simd-mt-wasm.wasm | Bin 0 -> 495935 bytes ...v-decoder-video-av1-simd-mt-wasm.worker.js | 1 + .../ogv-decoder-video-av1-simd-wasm.js | 43 ++ .../ogv-decoder-video-av1-simd-wasm.wasm | Bin 0 -> 484008 bytes web/ogvjs-1.8.6/ogv-decoder-video-av1-wasm.js | 43 ++ .../ogv-decoder-video-av1-wasm.wasm | Bin 0 -> 406454 bytes .../ogv-decoder-video-theora-wasm.js | 42 ++ .../ogv-decoder-video-theora-wasm.wasm | Bin 0 -> 48923 bytes .../ogv-decoder-video-vp8-mt-wasm.js | 21 + .../ogv-decoder-video-vp8-mt-wasm.wasm | Bin 0 -> 139143 bytes .../ogv-decoder-video-vp8-mt-wasm.worker.js | 1 + web/ogvjs-1.8.6/ogv-decoder-video-vp8-wasm.js | 44 ++ .../ogv-decoder-video-vp8-wasm.wasm | Bin 0 -> 113790 bytes .../ogv-decoder-video-vp9-mt-wasm.js | 21 + .../ogv-decoder-video-vp9-mt-wasm.wasm | Bin 0 -> 259095 bytes .../ogv-decoder-video-vp9-mt-wasm.worker.js | 1 + .../ogv-decoder-video-vp9-simd-mt-wasm.js | 21 + .../ogv-decoder-video-vp9-simd-mt-wasm.wasm | Bin 0 -> 277701 bytes ...v-decoder-video-vp9-simd-mt-wasm.worker.js | 1 + .../ogv-decoder-video-vp9-simd-wasm.js | 45 ++ .../ogv-decoder-video-vp9-simd-wasm.wasm | Bin 0 -> 260523 bytes web/ogvjs-1.8.6/ogv-decoder-video-vp9-wasm.js | 45 ++ .../ogv-decoder-video-vp9-wasm.wasm | Bin 0 -> 241857 bytes web/ogvjs-1.8.6/ogv-demuxer-ogg-wasm.js | 43 ++ web/ogvjs-1.8.6/ogv-demuxer-ogg-wasm.wasm | Bin 0 -> 39042 bytes web/ogvjs-1.8.6/ogv-demuxer-webm-wasm.js | 46 +++ web/ogvjs-1.8.6/ogv-demuxer-webm-wasm.wasm | Bin 0 -> 43838 bytes web/ogvjs-1.8.6/ogv-es2017.js | 2 + web/ogvjs-1.8.6/ogv-support.js | 1 + web/ogvjs-1.8.6/ogv-version.js | 1 + web/ogvjs-1.8.6/ogv-worker-audio.js | 1 + web/ogvjs-1.8.6/ogv-worker-video.js | 1 + web/ogvjs-1.8.6/ogv.js | 2 + web/yuv.js | 4 +- 54 files changed, 1255 insertions(+), 10 deletions(-) create mode 100644 web/ogvjs-1.8.6/COPYING create mode 100644 web/ogvjs-1.8.6/COPYING-dav1d.txt create mode 100644 web/ogvjs-1.8.6/COPYING-ogg.txt create mode 100644 web/ogvjs-1.8.6/COPYING-opus.txt create mode 100644 web/ogvjs-1.8.6/COPYING-theora.txt create mode 100644 web/ogvjs-1.8.6/COPYING-vorbis.txt create mode 100644 web/ogvjs-1.8.6/LICENSE-nestegg.txt create mode 100644 web/ogvjs-1.8.6/LICENSE-vpx.txt create mode 100644 web/ogvjs-1.8.6/PATENTS-vpx.txt create mode 100644 web/ogvjs-1.8.6/README.md create mode 100644 web/ogvjs-1.8.6/ogv-decoder-audio-opus-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-audio-opus-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-audio-vorbis-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-audio-vorbis-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-mt-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-av1-mt-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-mt-wasm.worker.js create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-simd-mt-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-av1-simd-mt-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-simd-mt-wasm.worker.js create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-simd-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-av1-simd-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-av1-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-av1-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-theora-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-theora-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp8-mt-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp8-mt-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp8-mt-wasm.worker.js create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp8-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp8-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-mt-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp9-mt-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-mt-wasm.worker.js create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-simd-mt-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp9-simd-mt-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-simd-mt-wasm.worker.js create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-simd-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp9-simd-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-decoder-video-vp9-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-decoder-video-vp9-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-demuxer-ogg-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-demuxer-ogg-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-demuxer-webm-wasm.js create mode 100755 web/ogvjs-1.8.6/ogv-demuxer-webm-wasm.wasm create mode 100644 web/ogvjs-1.8.6/ogv-es2017.js create mode 100644 web/ogvjs-1.8.6/ogv-support.js create mode 100644 web/ogvjs-1.8.6/ogv-version.js create mode 100644 web/ogvjs-1.8.6/ogv-worker-audio.js create mode 100644 web/ogvjs-1.8.6/ogv-worker-video.js create mode 100644 web/ogvjs-1.8.6/ogv.js diff --git a/lib/model.dart b/lib/model.dart index 46a6115ef..31b0a16f9 100644 --- a/lib/model.dart +++ b/lib/model.dart @@ -702,10 +702,6 @@ class FFI { break; } evt['buttons'] = buttons; - if (evt['ctrl'] != true) evt.remove('ctrl'); - if (evt['shift'] != true) evt.remove('shift'); - if (evt['alt'] != true) evt.remove('alt'); - if (evt['command'] != true) evt.remove('command'); setByName('send_mouse', json.encode(evt)); } diff --git a/lib/web_model.dart b/lib/web_model.dart index eeab1eff8..1f31c65f4 100644 --- a/lib/web_model.dart +++ b/lib/web_model.dart @@ -1,11 +1,16 @@ import 'dart:typed_data'; import 'dart:js' as js; +import 'package:flutter/cupertino.dart'; +import 'dart:convert'; + import 'common.dart'; import 'dart:html'; import 'dart:async'; final List> mouseListeners = []; +final List> keyListeners = []; int lastMouseDownButtons = 0; +bool mouseIn = false; class PlatformFFI { static void clearRgbaFrame() {} @@ -35,8 +40,13 @@ class PlatformFFI { // MouseRegion onHover not work for mouse move when right button down static void startDesktopWebListener( Function(Map) handleMouse) { + mouseIn = true; lastMouseDownButtons = 0; // document.body.getElementsByTagName('flt-glass-pane')[0].style.cursor = 'none'; + mouseListeners + .add(window.document.onMouseEnter.listen((evt) => mouseIn = true)); + mouseListeners + .add(window.document.onMouseLeave.listen((evt) => mouseIn = false)); mouseListeners.add(window.document.onMouseMove .listen((evt) => handleMouse(getEvent(evt)))); mouseListeners.add(window.document.onMouseDown @@ -56,13 +66,22 @@ class PlatformFFI { })); mouseListeners.add( window.document.onContextMenu.listen((evt) => evt.preventDefault())); + keyListeners + .add(window.document.onKeyDown.listen((evt) => handleKey(evt, true))); + keyListeners + .add(window.document.onKeyUp.listen((evt) => handleKey(evt, false))); } static void stopDesktopWebListener() { + mouseIn = true; mouseListeners.forEach((l) { l.cancel(); }); mouseListeners.clear(); + keyListeners.forEach((l) { + l.cancel(); + }); + keyListeners.clear(); } } @@ -73,10 +92,10 @@ Map getEvent(MouseEvent evt) { out['type'] = evt.type; out['x'] = evt.client.x; out['y'] = evt.client.y; - out['ctrl'] = evt.ctrlKey; - out['shift'] = evt.shiftKey; - out['alt'] = evt.altKey; - out['command'] = evt.metaKey; + if (evt.altKey) out['alt'] = 'true'; + if (evt.shiftKey) out['shift'] = 'true'; + if (evt.ctrlKey) out['ctrl'] = 'true'; + if (evt.metaKey) out['command'] = 'true'; out['buttons'] = evt .buttons; // left button: 1, right button: 2, middle button: 4, 1 | 2 = 3 (left + right) if (evt.buttons != 0) { @@ -87,4 +106,56 @@ Map getEvent(MouseEvent evt) { return out; } +void handleKey(KeyboardEvent evt, bool down) { + if (!mouseIn) return; + evt.stopPropagation(); + evt.preventDefault(); + evt.stopImmediatePropagation(); + print('${evt.code} ${evt.key} ${evt.location}'); + final out = {}; + var name = ctrlKeyMap[evt.code]; + if (name == null) { + if (evt.code == evt.key) { + name = evt.code; + } else { + name = evt.key; + if (name.toLowerCase() != name.toUpperCase() && + name == name.toUpperCase()) { + if (!evt.shiftKey) out['shift'] = 'true'; + } + } + } + out['name'] = name; + if (evt.altKey) out['alt'] = 'true'; + if (evt.shiftKey) out['shift'] = 'true'; + if (evt.ctrlKey) out['ctrl'] = 'true'; + if (evt.metaKey) out['command'] = 'true'; + if (down) out['down'] = 'true'; + PlatformFFI.setByName('input_key', json.encode(out)); +} + final localeName = window.navigator.language; + +final ctrlKeyMap = { + 'AltLeft': 'Alt', + 'AltRight': 'RAlt', + 'ShiftLeft': 'Shift', + 'ShiftRight': 'RShift', + 'ControlLeft': 'Control', + 'ControlRight': 'RControl', + 'MetaLeft': 'Meta', + 'MetaRight': 'RWin', + 'ContextMenu': 'Apps', + 'ArrowUp': 'UpArrow', + 'ArrowDown': 'DownArrow', + 'ArrowLeft': 'LeftArrow', + 'ArrowRight': 'RightArrow', + 'NumpadDecimal': 'Decimal', + 'NumpadDivide': 'Divide', + 'NumpadMultiply': 'Multiply', + 'NumpadSubtract': 'Subtract', + 'NumpadAdd': 'Add', + 'NumpadEnter': 'NumpadEnter', + 'Enter': 'Return', + 'Space': 'Space', +}; diff --git a/web/ogvjs-1.8.6/COPYING b/web/ogvjs-1.8.6/COPYING new file mode 100644 index 000000000..56c4368fa --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING @@ -0,0 +1,21 @@ +ogv.js wrapper and player code + +Copyright (c) 2013-2019 Brion Vibber and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/web/ogvjs-1.8.6/COPYING-dav1d.txt b/web/ogvjs-1.8.6/COPYING-dav1d.txt new file mode 100644 index 000000000..875b138ec --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING-dav1d.txt @@ -0,0 +1,23 @@ +Copyright © 2018-2019, VideoLAN and dav1d authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/web/ogvjs-1.8.6/COPYING-ogg.txt b/web/ogvjs-1.8.6/COPYING-ogg.txt new file mode 100644 index 000000000..6111c6c5a --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING-ogg.txt @@ -0,0 +1,28 @@ +Copyright (c) 2002, Xiph.org Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of the Xiph.org Foundation nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/web/ogvjs-1.8.6/COPYING-opus.txt b/web/ogvjs-1.8.6/COPYING-opus.txt new file mode 100644 index 000000000..9c739c34a --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING-opus.txt @@ -0,0 +1,44 @@ +Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic, + Jean-Marc Valin, Timothy B. Terriberry, + CSIRO, Gregory Maxwell, Mark Borgerding, + Erik de Castro Lopo + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of Internet Society, IETF or IETF Trust, nor the +names of specific contributors, may be used to endorse or promote +products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Opus is subject to the royalty-free patent licenses which are +specified at: + +Xiph.Org Foundation: +https://datatracker.ietf.org/ipr/1524/ + +Microsoft Corporation: +https://datatracker.ietf.org/ipr/1914/ + +Broadcom Corporation: +https://datatracker.ietf.org/ipr/1526/ diff --git a/web/ogvjs-1.8.6/COPYING-theora.txt b/web/ogvjs-1.8.6/COPYING-theora.txt new file mode 100644 index 000000000..c8ccce4ff --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING-theora.txt @@ -0,0 +1,28 @@ +Copyright (C) 2002-2009 Xiph.org Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of the Xiph.org Foundation nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/web/ogvjs-1.8.6/COPYING-vorbis.txt b/web/ogvjs-1.8.6/COPYING-vorbis.txt new file mode 100644 index 000000000..153b926a1 --- /dev/null +++ b/web/ogvjs-1.8.6/COPYING-vorbis.txt @@ -0,0 +1,28 @@ +Copyright (c) 2002-2018 Xiph.org Foundation + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +- Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the +documentation and/or other materials provided with the distribution. + +- Neither the name of the Xiph.org Foundation nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION +OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/web/ogvjs-1.8.6/LICENSE-nestegg.txt b/web/ogvjs-1.8.6/LICENSE-nestegg.txt new file mode 100644 index 000000000..a67984a61 --- /dev/null +++ b/web/ogvjs-1.8.6/LICENSE-nestegg.txt @@ -0,0 +1,13 @@ +Copyright © 2010 Mozilla Foundation + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/web/ogvjs-1.8.6/LICENSE-vpx.txt b/web/ogvjs-1.8.6/LICENSE-vpx.txt new file mode 100644 index 000000000..1ce44343c --- /dev/null +++ b/web/ogvjs-1.8.6/LICENSE-vpx.txt @@ -0,0 +1,31 @@ +Copyright (c) 2010, The WebM Project authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google, nor the WebM Project, nor the names + of its contributors may be used to endorse or promote products + derived from this software without specific prior written + permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/web/ogvjs-1.8.6/PATENTS-vpx.txt b/web/ogvjs-1.8.6/PATENTS-vpx.txt new file mode 100644 index 000000000..caedf607e --- /dev/null +++ b/web/ogvjs-1.8.6/PATENTS-vpx.txt @@ -0,0 +1,23 @@ +Additional IP Rights Grant (Patents) +------------------------------------ + +"These implementations" means the copyrightable works that implement the WebM +codecs distributed by Google as part of the WebM Project. + +Google hereby grants to you a perpetual, worldwide, non-exclusive, no-charge, +royalty-free, irrevocable (except as stated in this section) patent license to +make, have made, use, offer to sell, sell, import, transfer, and otherwise +run, modify and propagate the contents of these implementations of WebM, where +such license applies only to those patent claims, both currently owned by +Google and acquired in the future, licensable by Google that are necessarily +infringed by these implementations of WebM. This grant does not include claims +that would be infringed only as a consequence of further modification of these +implementations. If you or your agent or exclusive licensee institute or order +or agree to the institution of patent litigation or any other patent +enforcement activity against any entity (including a cross-claim or +counterclaim in a lawsuit) alleging that any of these implementations of WebM +or any code incorporated within any of these implementations of WebM +constitute direct or contributory patent infringement, or inducement of +patent infringement, then any patent rights granted to you under this License +for these implementations of WebM shall terminate as of the date such +litigation is filed. diff --git a/web/ogvjs-1.8.6/README.md b/web/ogvjs-1.8.6/README.md new file mode 100644 index 000000000..cb7e249d5 --- /dev/null +++ b/web/ogvjs-1.8.6/README.md @@ -0,0 +1,391 @@ +ogv.js +====== + +Media decoder and player for Ogg Vorbis/Opus/Theora and WebM VP8/VP9/AV1 video. + +Based around libogg, libvorbis, libtheora, libopus, libvpx, libnestegg and dav1d compiled to JavaScript and WebAssembly with Emscripten. + +## Updates + +1.8.6 - 2022-01-12 +* Bump to yuv-canvas +* Fix demo for removal of video-canvas mode + +1.8.5 - 2022-01-11 +* Remove unnecessary user-agent checks +* Remove flaky, obsolete support for faking CSS `object-fit` +* Remove experimental support for streaming `` into `