Commit c80dac65 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

CACA: use key thread (partially fix #3661)

(cherry picked from commit 031dec33fbe1cde74e6ef1680638435d335daafe)
parent e3866e72
...@@ -5,7 +5,7 @@ SUBDIRS = msw ...@@ -5,7 +5,7 @@ SUBDIRS = msw
LIBTOOL=@LIBTOOL@ --tag=CC LIBTOOL=@LIBTOOL@ --tag=CC
SOURCES_aa = aa.c SOURCES_aa = aa.c
SOURCES_caca = caca.c SOURCES_caca = caca.c keythread.h keythread.c
SOURCES_fb = fb.c SOURCES_fb = fb.c
SOURCES_omapfb = omapfb.c SOURCES_omapfb = omapfb.c
SOURCES_ggi = ggi.c SOURCES_ggi = ggi.c
......
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <vlc_plugin.h> #include <vlc_plugin.h>
#include <vlc_vout_display.h> #include <vlc_vout_display.h>
#include <vlc_picture_pool.h> #include <vlc_picture_pool.h>
#include "keythread.h"
#include <caca.h> #include <caca.h>
...@@ -72,6 +73,7 @@ struct vout_display_sys_t { ...@@ -72,6 +73,7 @@ struct vout_display_sys_t {
cucul_dither_t *dither; cucul_dither_t *dither;
picture_pool_t *pool; picture_pool_t *pool;
key_thread_t *keys;
}; };
/** /**
...@@ -187,6 +189,7 @@ static int Open(vlc_object_t *object) ...@@ -187,6 +189,7 @@ static int Open(vlc_object_t *object)
vout_display_SendEventFullscreen(vd, false); vout_display_SendEventFullscreen(vd, false);
Refresh(vd); Refresh(vd);
sys->keys = vlc_CreateKeyThread(vd);
return VLC_SUCCESS; return VLC_SUCCESS;
error: error:
...@@ -216,6 +219,7 @@ static void Close(vlc_object_t *object) ...@@ -216,6 +219,7 @@ static void Close(vlc_object_t *object)
vout_display_t *vd = (vout_display_t *)object; vout_display_t *vd = (vout_display_t *)object;
vout_display_sys_t *sys = vd->sys; vout_display_sys_t *sys = vd->sys;
vlc_DestroyKeyThread(sys->keys);
if (sys->pool) if (sys->pool)
picture_pool_Delete(sys->pool); picture_pool_Delete(sys->pool);
if (sys->dither) if (sys->dither)
...@@ -476,7 +480,7 @@ static void Manage(vout_display_t *vd) ...@@ -476,7 +480,7 @@ static void Manage(vout_display_t *vd)
const int vlc = keys[i].vlc; const int vlc = keys[i].vlc;
if (vlc >= 0) if (vlc >= 0)
vout_display_SendEventKey(vd, vlc); vlc_EmitKey(sys->keys, vlc);
return; return;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment