<html><head></head><body>Hi,<br><br>I don't know where this assertion that mouse events should be processed in a different thread comes from. It sounds saner to me to process them in the UI loop (like UIs typically do) than in the render thread.<br><br><div class="gmail_quote">Le 18 août 2020 16:58:27 GMT+02:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">The filter commands can be replaced with states of the latest filter request.<br><br>The mouse events still need to be processed in sequence and most likely outside<br>of the UI thread where they are generated. They are handled in a similar way<br>as it was done in the control API but with tighter integration with the vout<br>state.<br><br>The terminate command can be internally with a boolean and trigger the wait<br>condition on mouse events.<br><br>The mouse event callback of filters is also simplified for more readability.<br><br>Steve Lhomme (18):<br> filters: initialize the output mouse state to the new state<br> filters: remove the duplicate new mouse state<br> video_output: only reset the mouse_event if it was set on display<br> release<br> video_output: don't include control.h in include shared across the<br> core<br> video_output: use filter lock to change filters in the vout thread<br> video_output: use filter lock to change deinterlacing in the vout<br> thread<br> video_output: remove always true boolean from ThreadChangeFilters<br> video_output: rework the deadline parameter return<br> video_output: use the rendering delay when we were given a deadline to<br> wait for<br> video_output: use INT64_MAX for the invalid control pop deadline<br> vout/control: keep the lock instead of setting a held flag<br> vout/control: move the lock outside of the control API<br> vout/control: move the condition on pictures/control outside of the<br> control API<br> video_output: use an internal bool to detect when we must exit the<br> vout thread<br> video_output: move the mouse events handling outside of the control<br> pop<br> video_output: do not wait for new mouse commands if we have a picture<br> ready<br> video_output: remove unused control API<br> video_output: code cleaning<br><br> include/vlc_filter.h | 3 +-<br> modules/spu/logo.c | 7 +-<br> modules/video_chroma/chain.c | 5 +-<br> modules/video_filter/ci_filters.m | 6 +-<br> .../video_filter/deinterlace/deinterlace.c | 6 +-<br> modules/video_filter/freeze.c | 7 +-<br> modules/video_filter/magnify.c | 9 +-<br> modules/video_filter/puzzle.c | 8 +-<br> modules/video_filter/puzzle.h | 3 +-<br> modules/video_filter/transform.c | 3 +-<br> src/Makefile.am | 2 -<br> src/misc/filter_chain.c | 4 +-<br> src/video_output/control.c | 174 -------------<br> src/video_output/control.h | 82 ------<br> src/video_output/video_output.c | 233 +++++++++++-------<br> src/video_output/vout_internal.h | 1 -<br> 16 files changed, 171 insertions(+), 382 deletions(-)<br> delete mode 100644 src/video_output/control.c<br> delete mode 100644 src/video_output/control.h<br></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>