VLC4: click-to-pause doesn't work on interlaced videos
Steps to reproduce:
- Download nightly VLC4 https://artifacts.videolan.org/vlc/nightly-win64-llvm/20250125-0443/vlc-4.0.0-dev-win64-9dc00813.7z
- Set hardware-accelerated decoding to Disable
- Restart VLC
- Play
McCartney-MPEG2_1080-interlaced_sample.mkv
interlaced video from this forum post - Observe that click-to-pause doesn't work
- Play any non-interlaced video
- Observe that click-to-pause does work
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- nurupo changed the description
changed the description
- Thomas Guillem changed milestone to %4.0
changed milestone to %4.0
- Maintainer
It's a mkv issue instead ? Cc. @robUx4
Collapse replies - Developer
This is due to 741cd4a6. And because of f30b631f any filtering is considered to have a mouse filter. However it
doesn'tdoes do it for all interlaced sources...Edited by Steve Lhomme - Developer
cc @deyayush6
- Developer
This happens because of this callback that is only in the CPU deinterlacer: https://code.videolan.org/videolan/vlc/-/blob/ae69d42e44f979af075467a207eba97dff89d026/modules/video_filter/deinterlace/deinterlace.c#L462
- Please register or sign in to reply
- Steve Lhomme mentioned in merge request !6739 (merged)
mentioned in merge request !6739 (merged)
- Steve Lhomme closed with merge request !6739 (merged)
closed with merge request !6739 (merged)
- Steve Lhomme closed with commit fbbd68f8
closed with commit fbbd68f8
- Steve Lhomme mentioned in merge request !6744 (closed)
mentioned in merge request !6744 (closed)
- Developer
Not closed as the issue exists with other filters handing mouse events but not clicks. And fbbd68f8 should be reverted anyway.
- Steve Lhomme reopened
reopened
- Developer
This it actually a blocking issue. If I open a DVD, it catches the mouse events and even handles clicks. The Qt GUI is hidden during playback, but it never gets any click again once the UI elements are not shown anymore. We cannot close the player.
Collapse replies - Contributor
You mean the issue in the DVD nav menu where the UI elements are not displayed upon mouse move?
- Developer
No, in this case that's probably because the DVD handles the menu.
- Contributor
So, during DVD video playback (not the navigation menu), the UI elements do gets raised when I move the mouse. Is that the issue? I'm not sure I understand the issue correctly
- Developer
When you start playing a DVD and the UI navigation disappears to just show the video, it's impossible to get the UI (qt layer) to do anything (the keyboard still works).
- Contributor
Does this patch fix this issue? It is from: !6725 (05486364)
I had a UI issue (Mouse not working on clickable subpicture elements) with interactive mkv and applying this fixed it.
src/input/es_out.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/input/es_out.c b/src/input/es_out.c index b2f48263bc..1dfd82b69b 100644 --- a/src/input/es_out.c +++ b/src/input/es_out.c @@ -3636,10 +3636,11 @@ static int EsOutVaControlLocked(es_out_sys_t *p_sys, input_source_t *source, p_es->mouse_event_cb = va_arg( args, vlc_mouse_event ); p_es->mouse_event_userdata = va_arg( args, void * ); - if( p_es->p_dec && p_es->mouse_event_cb ) + if( p_es->p_dec ) vlc_input_decoder_SetVoutMouseEvent( p_es->p_dec, p_es->mouse_event_cb, p_es->mouse_event_userdata ); - else /* fallback to player event */ + + if (! p_es->mouse_event_cb) { p_es->mouse_event_cb = MouseEventCb; p_es->mouse_event_userdata = p_es; --
Edited by Khalid Masum - Developer
This seems to work. The pause on click works in regular videos, the menus work in DVDs, including in the Qt interface.
- Contributor
Nice!
- Developer
You can do a merge request
- Contributor
Alright, just created it here: !6904 (merged)
- Steve Lhomme added Component::Core Severity::blocker Type::bug labels
added Component::Core Severity::blocker Type::bug labels
- Steve Lhomme mentioned in merge request !6904 (merged)
mentioned in merge request !6904 (merged)
- Steve Lhomme closed with merge request !6904 (merged)
closed with merge request !6904 (merged)