#include "vout_internal.h"
void vout_SendDisplayEventMouse(vout_thread_t *vout, const vlc_mouse_t *m)
{
+ vlc_mouse_t tmp;
+
+ vlc_mutex_lock( &vout->p->vfilter_lock );
+ if (vout->p->p_vf2_chain) {
+ if (!filter_chain_MouseFilter(vout->p->p_vf2_chain, &tmp, m))
+ m = &tmp;
+ }
+ vlc_mutex_unlock( &vout->p->vfilter_lock );
+
if (vlc_mouse_HasMoved(&vout->p->mouse, m)) {
vout_SendEventMouseMoved(vout, m->i_x, m->i_y);
}
if (!vout->p) {
p.mouse = *fallback;
+ vlc_mutex_init(&p.vfilter_lock);
+ p.p_vf2_chain = NULL;
vout->p = &p;
}
vout_SendDisplayEventMouse(vout, m);
if (vout->p == &p) {
+ vlc_mutex_destroy(&p.vfilter_lock);
*fallback = p.mouse;
vout->p = NULL;
}
p_filtered_picture = NULL;
if( p_picture )
+ {
+ vlc_mutex_lock( &p_vout->p->vfilter_lock );
p_filtered_picture = filter_chain_VideoFilter( p_vout->p->p_vf2_chain,
p_picture );
+ vlc_mutex_unlock( &p_vout->p->vfilter_lock );
+ }
const bool b_snapshot = vout_snapshot_IsRequested( &p_vout->p->snapshot );