Dmitry Lyzo
2fd9b73de6
Stop oneshot render on dispose
...
Cherry-picked from: 9eac714a26
2022-04-25 20:29:39 +03:00
Vasily
dda54812f3
Implement splitting by 3x3 grid
...
Cherry-picked from: efed8543c1
2022-04-25 20:29:39 +03:00
Dmitry Lyzo
b63167f141
Fix render after rewind
...
Cherry-picked from: 0e9e7929dd
2022-04-25 20:29:39 +03:00
Vasily
77dd505810
Adapt JS side to renderBlend potentially returning a list of images
...
Cherry-picked from: c08fd1d7ef
2022-04-25 20:29:39 +03:00
Teranode
1549a2c2dd
lastRendered needs to be a variable
...
Cherry-picked from: c66e7b1841
2022-04-25 20:29:39 +03:00
Vasily
fa696138bb
Restructure renderBlend so it can return multiple pieces; JS side not ready yet
...
Cherry-picked from: 0cc2bf8556
[Fix build]
Cherry-picked from: efabc64ff7
[Fix skipping images when rendering a part]
Cherry-picked from: 707a398fa8
2022-04-25 20:29:39 +03:00
Vasily
7f9e161556
Reduce spam in logs when worker is not yet initialized
...
Cherry-picked from: 595d0e20e5
2022-04-25 20:29:39 +03:00
Vasily
b2e920da55
Change binding part of BlendRenderResult
...
Cherry-picked from: 8bc0001843
2022-04-25 20:29:39 +03:00
Vasily
7d1608db71
Make resetRenderAheadCache public
...
Also add cleaning past events before requesting new if no event is currently shown
Cherry-picked from: 7eefe74ca2
2022-04-25 20:29:39 +03:00
Vasily
605d4cd6ef
Do not reset prerender cache when resize is not actually a resize
...
Cherry-picked from: 0722559b28
2022-04-25 20:29:39 +03:00
Vasily
4cf2b47a0f
Handle resize better - leave leftmost items be upon resizing
...
Cherry-picked from: 93f4d0f4a7
2022-04-25 20:29:39 +03:00
Vasily
2f9357dd09
Fix prerender cache not clearing upon track switch
...
Also prepare to handle resize more gracefully
Cherry-picked from: cc9575cd51
2022-04-25 20:29:39 +03:00
Vasily
cc91cc4ff5
Handle resizing more efficiently
...
[Handle resizing more efficiently - if video changed less than 20% keep using old size]
Cherry-picked from: 825c999159
[Add option to control how much size may vary until the prerender cache is cleared]
Cherry-picked from: 5256b63649
2022-04-25 20:29:38 +03:00
Vasily
17f303d87e
Try fix holes in rendering
...
Cherry-picked from: a1666065e4
2022-04-25 20:29:38 +03:00
Vasily
2ed7b0016c
Make octopus.setDropAnimations(true) mean something
...
Cherry-picked from: 971a997951
2022-04-25 20:29:38 +03:00
Vasily
b5c2154959
Add option to client-facing API to drop all animations, pass it down to C++ level
...
Cherry-picked from: a66e79768b
2022-04-25 20:29:38 +03:00
Vasily
e6732ddb30
Change SubtitleOctopus class API - added a few methods to be used in lite mode
...
Also marked some methods as const
Cherry-picked from: d3bc4724a0
[Fix build and warnings]
Cherry-picked from: 90d48486f1
2022-04-25 20:29:38 +03:00
Vasily
918652604d
Reduce blinking of subs when in lite mode
...
Cherry-picked from: a8d670eb09
2022-04-25 20:29:38 +03:00
Vasily
7e7fe8ad06
Try to fix animations flickering
...
Cherry-picked from: e1604cb133
2022-04-25 20:29:38 +03:00
Vasily
8464e8ec91
Fix some issues caused by moving to C++ bindings
...
Cherry-picked from: 67947f395d
2022-04-25 20:29:38 +03:00
Vasily
190992f683
Use properly bound APIs
...
Cherry-picked from: 88d2df4255
[Use correct function to get event times]
Cherry-picked from: ecd47dd25f
2022-04-25 20:29:38 +03:00
Vasily
faa32d5d97
Expose findEventStopTimes and findNextEventStart properly
...
Cherry-picked from: cea2dc9dee
2022-04-25 20:29:38 +03:00
Vasily
38eae79b13
Event time findings are now proper members (but not exported yet)
...
Cherry-picked from: 7fc34cf587
[No longer need to export functions via makefile]
Cherry-picked from: bd8bcab764
2022-04-25 20:29:38 +03:00
Vasily
eacc5a040a
Add detection of animated tags
...
part of [Less zealous logging]
Cherry-picked from: 6980debc47
part of [Rework buffer into C++ class]
Cherry-picked from: 6d3a5c731f
2022-04-25 20:29:38 +03:00
Vasily
8401f88e80
Reduce logging
...
part of [Less zealous logging]
Cherry-picked from: 6980debc47
2022-04-25 20:29:38 +03:00
Dmitry Lyzo
569b5be7c3
Merge branch 'new/refactor-buffer' into new-master
...
Rework buffer into C++ class
2022-04-25 20:29:37 +03:00
Vasily
5a064049ee
* Start rendering only when video size is determined (e.g. video loaded or resized)
...
* Add bogus events covering timeline where there is no subtitles displayed
* Fix seeking support
Cherry-picked from: 21c84cc803
2022-04-25 20:29:37 +03:00
Vasily
33f982fed5
Rework buffer into C++ class
...
Cherry-picked from: 6d3a5c731f
Add 'ReusableBuffer::capacity' from [Restructure renderBlend so it can return multiple pieces; JS side not ready yet]
Cherry-picked from: 0cc2bf8556
2022-04-25 20:29:37 +03:00
Vasily
e82c550beb
Trying to handle seek better
...
Cherry-picked from: 90910bdef6
2022-04-25 20:29:37 +03:00
Vasily
1e4f31310f
Add lots of debug logging, limit render fps of events
...
Cherry-picked from: 4e4250204d
2022-04-25 20:29:37 +03:00
Vasily
060903ba8b
Reset render cache when target size changes
...
Cherry-picked from: 5430cc9823
2022-04-25 20:29:37 +03:00
Vasily
315f2950b2
Change return type of renderBlend()
...
Cherry-picked from: 65fbfecfce
2022-04-25 20:29:37 +03:00
Vasily
601567c0e2
Begin implementing render on demand
...
Cherry-picked from: 848a686d8c
[Fix oneshot render]
Cherry-picked from: 9dd6eb2411
2022-04-25 20:29:37 +03:00
Oneric
a89dcd446d
Bump libass to newest master
...
Relevant improvements:
- Fix a violation of FreeType API which caused issues
in newer FreeType version (currently only on MS Windows)
- Fix a rare and minor memory leak
- Higher quality outline blending
- Significantly faster hash-function (wyhash)
- Some RTL- and BiDi-compatibility fixes
- Compatibility fix for empty clips
- Support for non-Unicode fonts, which depends on iconv
(with emscripten’s built-in iconv probably only SHIFT-JIS)
2022-03-28 00:08:38 +02:00
Oneric
1829aaaf4a
Bump FriBidi
2022-03-28 00:07:12 +02:00
Oneric
83afbf195b
Bump expat
...
New releases contain documented security fixes
2022-03-28 00:02:30 +02:00
Thiago França da Silva
449669aec8
editorconfig: fix syntax error
2022-03-22 13:57:47 -03:00
Oneric
ba9b770659
ci/gha: limit push events to master and ci branch
...
To avoid superfluous runs from PRs using branches in the main repo.
2022-03-21 22:04:58 +01:00
Vasily
c7cb74bbb7
Allow to compile CPP-file alone
...
Serves no purposes but to quickly check
for compiler warnings and errors.
[part of] Rework buffer into C++ class
Cherry-picked from: 6d3a5c731f
2022-03-21 21:46:55 +01:00
Thiago França da Silva
4f768a5747
ci/gha: add workflow to cancel previous runs
2022-03-21 20:45:28 +01:00
Thiago França da Silva
fd1dc8fb3a
add .editorconfig
2022-03-21 20:45:28 +01:00
Thiago França da Silva
c9c0f86a5c
update package.json with new links
2022-03-13 18:45:16 -03:00
Thiago França da Silva
dd9927ec89
fix brotli repo url in .gitmodules
2022-03-13 18:45:16 -03:00
Thiago França da Silva
0b75fa2dbc
Merge pull request #122 from TFSThiagoBR98/fix-77
...
Fix Events and Styles String Mutation, closes #77
2022-03-13 18:15:14 -03:00
Thiago França da Silva
3102398eea
Add webidl_binder patches for future reference
2022-03-12 22:15:46 -03:00
Thiago França da Silva
af1dc9ac94
WebIDL: Implement Owner Extended Attribute, fix #77
...
Currently the ensureCache create a temporary pointer that will
transfer the value to the WASM/C part and recycle it with to use in the
next value, but since the libass struct pointers are owned by the
library, the pointers can't be recycled or freed or can lead into
an undefined behavior.
This configure the binder to tranfer the pointer ownership instead of
recycle it.
To avoid creating complex code, I decided to fix it in the webidl
binder.
2022-03-12 21:57:11 -03:00
Thiago França da Silva
d1072f35d5
Refactor getStyles and getEvents
...
Add new function fetchFromWorker with callback to allow fetch the response from worker
Add callbacks to getStyles and getEvents functions
2022-03-11 11:36:50 -03:00
Oneric
882fa5aa9c
c++: prefix log messages with jso
...
This makes it easier to pick them out in the browser console
and is less confusing then prefixing with libass as some did before.
2022-02-22 00:27:19 +01:00
Dmitry Lyzo
dfada30df1
c++: distinguish errors from other logs
...
Errors and normal logs are normaly logged differently in js and also
displayed differently in browser consoles. For this to work for our
logs from WASM, we must output errors to stderr and otherwise stdout.
2022-02-22 00:27:19 +01:00
Dmitry Lyzo
e6eee9ea74
c++: add missing newline in printf message
2022-02-22 00:27:19 +01:00