<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>