vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Nov 28 23:44:40 2016 +0200| [8d5040cfa8e60916c6244f008f0e348dc66e4b75] | committer: Rémi Denis-Courmont
vout: invert default for event thread The name was confusing and only three rarely used video output plugins suffer from this bug. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=8d5040cfa8e60916c6244f008f0e348dc66e4b75 --- include/vlc_vout_display.h | 2 +- modules/hw/vdpau/display.c | 1 - modules/video_output/aa.c | 7 ++----- modules/video_output/android/display.c | 1 - modules/video_output/caca.c | 5 +---- modules/video_output/evas.c | 2 -- modules/video_output/gl.c | 1 - modules/video_output/ios2.m | 1 - modules/video_output/macosx.m | 1 - modules/video_output/sdl.c | 2 ++ modules/video_output/wayland/shm.c | 1 - modules/video_output/win32/direct3d11.c | 1 - modules/video_output/win32/direct3d9.c | 1 - modules/video_output/win32/directdraw.c | 1 - modules/video_output/win32/glwin32.c | 1 - modules/video_output/xcb/x11.c | 1 - modules/video_output/xcb/xvideo.c | 1 - src/video_output/display.c | 8 ++++---- 18 files changed, 10 insertions(+), 28 deletions(-) diff --git a/include/vlc_vout_display.h b/include/vlc_vout_display.h index 04a265a..90f29d9 100644 --- a/include/vlc_vout_display.h +++ b/include/vlc_vout_display.h @@ -131,7 +131,7 @@ typedef struct { bool has_double_click; /* Is double-click generated */ bool has_hide_mouse; /* Is mouse automatically hidden */ bool has_pictures_invalid; /* Will VOUT_DISPLAY_EVENT_PICTURES_INVALID be used */ - bool has_event_thread; /* Will events (key at least) be emitted using an independent thread */ + bool needs_event_thread VLC_DEPRECATED; /* Will events (key at least) be emitted using an independent thread */ const vlc_fourcc_t *subpicture_chromas; /* List of supported chromas for subpicture rendering. */ } vout_display_info_t; diff --git a/modules/hw/vdpau/display.c b/modules/hw/vdpau/display.c index f87a38e..41bbe63 100644 --- a/modules/hw/vdpau/display.c +++ b/modules/hw/vdpau/display.c @@ -654,7 +654,6 @@ static int Open(vlc_object_t *obj) /* */ vd->sys = sys; vd->info.has_pictures_invalid = true; - vd->info.has_event_thread = true; vd->info.subpicture_chromas = spu_chromas; vd->fmt = fmt; diff --git a/modules/video_output/aa.c b/modules/video_output/aa.c index 26f7575..9b9436d 100644 --- a/modules/video_output/aa.c +++ b/modules/video_output/aa.c @@ -122,13 +122,10 @@ static int Open(vlc_object_t *object) fmt.i_visible_width = fmt.i_width; fmt.i_visible_height = fmt.i_height; - /* */ - vout_display_info_t info = vd->info; - info.has_pictures_invalid = true; - /* Setup vout_display now that everything is fine */ vd->fmt = fmt; - vd->info = info; + vd->info.has_pictures_invalid = true; + vd->info.needs_event_thread = true; vd->pool = Pool; vd->prepare = Prepare; diff --git a/modules/video_output/android/display.c b/modules/video_output/android/display.c index 9390a4d..086fdc6 100644 --- a/modules/video_output/android/display.c +++ b/modules/video_output/android/display.c @@ -740,7 +740,6 @@ static int Open(vlc_object_t *p_this) vd->display = Display; vd->control = Control; vd->manage = NULL; - vd->info.has_event_thread = true; vd->info.is_slow = !sys->p_window->b_opaque; /* Fix initial state */ diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c index c082ef3..22d5d95 100644 --- a/modules/video_output/caca.c +++ b/modules/video_output/caca.c @@ -185,12 +185,9 @@ static int Open(vlc_object_t *object) fmt.i_bmask = 0x000000ff; } - /* TODO */ - vout_display_info_t info = vd->info; - /* Setup vout_display now that everything is fine */ vd->fmt = fmt; - vd->info = info; + vd->info.needs_event_thread = true; vd->pool = Pool; vd->prepare = Prepare; diff --git a/modules/video_output/evas.c b/modules/video_output/evas.c index b38c6b5..9166d09 100644 --- a/modules/video_output/evas.c +++ b/modules/video_output/evas.c @@ -912,8 +912,6 @@ Open( vlc_object_t *p_this ) vd->control = Control; vd->manage = Manage; - vd->info.has_event_thread = true; - /* Fix initial state */ vout_display_SendEventFullscreen( vd, true ); diff --git a/modules/video_output/gl.c b/modules/video_output/gl.c index d22cbee..6d1fce6 100644 --- a/modules/video_output/gl.c +++ b/modules/video_output/gl.c @@ -138,7 +138,6 @@ static int Open (vlc_object_t *obj) vd->sys = sys; vd->info.has_pictures_invalid = false; - vd->info.has_event_thread = true; vd->info.subpicture_chromas = spu_chromas; vd->pool = Pool; vd->prepare = PictureRender; diff --git a/modules/video_output/ios2.m b/modules/video_output/ios2.m index bfeefe5..061f186 100644 --- a/modules/video_output/ios2.m +++ b/modules/video_output/ios2.m @@ -275,7 +275,6 @@ static int Open(vlc_object_t *this) /* */ vout_display_info_t info = vd->info; info.has_pictures_invalid = false; - info.has_event_thread = true; info.subpicture_chromas = subpicture_chromas; info.is_slow = !sys->zero_copy; info.has_hide_mouse = false; diff --git a/modules/video_output/macosx.m b/modules/video_output/macosx.m index 81be6c5..de5b475 100644 --- a/modules/video_output/macosx.m +++ b/modules/video_output/macosx.m @@ -271,7 +271,6 @@ static int Open (vlc_object_t *this) /* */ vout_display_info_t info = vd->info; info.has_pictures_invalid = false; - info.has_event_thread = true; info.subpicture_chromas = subpicture_chromas; info.has_hide_mouse = true; diff --git a/modules/video_output/sdl.c b/modules/video_output/sdl.c index 44992b7..7c588e5 100644 --- a/modules/video_output/sdl.c +++ b/modules/video_output/sdl.c @@ -177,6 +177,8 @@ static int Open(vlc_object_t *object) /* */ vout_display_info_t info = vd->info; + info.needs_event_thread = true; + /* Set main window's size */ int display_width; int display_height; diff --git a/modules/video_output/wayland/shm.c b/modules/video_output/wayland/shm.c index 8cda503..547db7b 100644 --- a/modules/video_output/wayland/shm.c +++ b/modules/video_output/wayland/shm.c @@ -468,7 +468,6 @@ static int Open(vlc_object_t *obj) vd->fmt.i_chroma = VLC_CODEC_RGB32; vd->info.has_pictures_invalid = sys->viewport == NULL; - vd->info.has_event_thread = true; vd->pool = Pool; vd->prepare = Prepare; diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index 7b515f1..973b8b0 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -494,7 +494,6 @@ static int Open(vlc_object_t *object) info.is_slow = !is_d3d11_opaque(fmt.i_chroma); info.has_double_click = true; info.has_hide_mouse = false; - info.has_event_thread = true; info.has_pictures_invalid = !is_d3d11_opaque(fmt.i_chroma); if (var_InheritBool(vd, "direct3d11-hw-blending") && diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c index 6800e9a..25aef91 100644 --- a/modules/video_output/win32/direct3d9.c +++ b/modules/video_output/win32/direct3d9.c @@ -218,7 +218,6 @@ static int Open(vlc_object_t *object) info.has_double_click = true; info.has_hide_mouse = false; info.has_pictures_invalid = !is_d3d9_opaque(fmt.i_chroma); - info.has_event_thread = true; if (var_InheritBool(vd, "direct3d9-hw-blending") && sys->d3dregion_format != D3DFMT_UNKNOWN && (sys->d3dcaps.SrcBlendCaps & D3DPBLENDCAPS_SRCALPHA) && diff --git a/modules/video_output/win32/directdraw.c b/modules/video_output/win32/directdraw.c index c2f5eea..f65162c 100644 --- a/modules/video_output/win32/directdraw.c +++ b/modules/video_output/win32/directdraw.c @@ -202,7 +202,6 @@ static int Open(vlc_object_t *object) info.has_double_click = true; info.has_hide_mouse = false; info.has_pictures_invalid = true; - info.has_event_thread = true; /* Interaction TODO support starting with wallpaper mode */ vlc_mutex_init(&sys->lock); diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c index 4a0ac0d..d5b51e2 100644 --- a/modules/video_output/win32/glwin32.c +++ b/modules/video_output/win32/glwin32.c @@ -229,7 +229,6 @@ static int Open(vlc_object_t *object) vout_display_info_t info = vd->info; info.has_double_click = true; info.has_hide_mouse = false; - info.has_event_thread = true; info.subpicture_chromas = subpicture_chromas; /* Setup vout_display now that everything is fine */ diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c index 7117881..6003cff 100644 --- a/modules/video_output/xcb/x11.c +++ b/modules/video_output/xcb/x11.c @@ -301,7 +301,6 @@ found_format:; /* Setup vout_display_t once everything is fine */ vd->info.has_pictures_invalid = true; - vd->info.has_event_thread = true; vd->fmt = fmt_pic; vd->pool = Pool; diff --git a/modules/video_output/xcb/xvideo.c b/modules/video_output/xcb/xvideo.c index dde4f33..58f98d3 100644 --- a/modules/video_output/xcb/xvideo.c +++ b/modules/video_output/xcb/xvideo.c @@ -558,7 +558,6 @@ static int Open (vlc_object_t *obj) /* */ vout_display_info_t info = vd->info; info.has_pictures_invalid = false; - info.has_event_thread = true; /* Setup vout_display_t once everything is fine */ p_sys->swap_uv = vlc_fourcc_AreUVPlanesSwapped (fmt.i_chroma, diff --git a/src/video_output/display.c b/src/video_output/display.c index 71ceeff..e4bd497 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -93,7 +93,7 @@ static vout_display_t *vout_display_New(vlc_object_t *obj, vd->info.has_double_click = false; vd->info.has_hide_mouse = false; vd->info.has_pictures_invalid = false; - vd->info.has_event_thread = false; + vd->info.needs_event_thread = false; vd->info.subpicture_chromas = NULL; vd->cfg = cfg; @@ -654,10 +654,10 @@ static void VoutDisplayEvent(vout_display_t *vd, int event, va_list args) case VOUT_DISPLAY_EVENT_KEY: { const int key = (int)va_arg(args, int); msg_Dbg(vd, "VoutDisplayEvent 'key' 0x%2.2x", key); - if (vd->info.has_event_thread) - vout_SendEventKey(osys->vout, key); - else + if (vd->info.needs_event_thread) VoutDisplayEventKey(vd, key); + else + vout_SendEventKey(osys->vout, key); break; } case VOUT_DISPLAY_EVENT_MOUSE_STATE: _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
