[vlc-devel] [PATCH v3 01/18] filters: initialize the output mouse state to the new state
Steve Lhomme
robux4 at ycbcr.xyz
Tue Aug 18 16:58:28 CEST 2020
Avoid some boiler plate copy for filters not modifying the output.
---
modules/spu/logo.c | 2 +-
modules/video_filter/ci_filters.m | 1 -
modules/video_filter/deinterlace/deinterlace.c | 2 +-
modules/video_filter/freeze.c | 2 +-
modules/video_filter/magnify.c | 1 -
modules/video_filter/puzzle.c | 5 +----
modules/video_filter/transform.c | 2 +-
src/misc/filter_chain.c | 2 +-
8 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/modules/spu/logo.c b/modules/spu/logo.c
index fa1ee0307c0..faadfc2e973 100644
--- a/modules/spu/logo.c
+++ b/modules/spu/logo.c
@@ -515,6 +515,7 @@ exit:
static int Mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
const vlc_mouse_t *p_old, const vlc_mouse_t *p_new )
{
+ VLC_UNUSED( p_mouse );
filter_sys_t *p_sys = p_filter->p_sys;
vlc_mutex_lock( &p_sys->lock );
@@ -556,7 +557,6 @@ static int Mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
}
vlc_mutex_unlock( &p_sys->lock );
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
diff --git a/modules/video_filter/ci_filters.m b/modules/video_filter/ci_filters.m
index 4bc8bca0d92..95ab2dd5252 100644
--- a/modules/video_filter/ci_filters.m
+++ b/modules/video_filter/ci_filters.m
@@ -441,7 +441,6 @@ Mouse(filter_t *filter, struct vlc_mouse_t *mouse,
sys->old_mouse = *old;
sys->mouse = *new;
sys->mouse_moved = true;
- *mouse = *new;
return VLC_SUCCESS;
}
diff --git a/modules/video_filter/deinterlace/deinterlace.c b/modules/video_filter/deinterlace/deinterlace.c
index 01d7ad5e616..c552b1ab034 100644
--- a/modules/video_filter/deinterlace/deinterlace.c
+++ b/modules/video_filter/deinterlace/deinterlace.c
@@ -474,7 +474,7 @@ int Mouse( filter_t *p_filter,
const vlc_mouse_t *p_old, const vlc_mouse_t *p_new )
{
VLC_UNUSED(p_old);
- *p_mouse = *p_new;
+ VLC_UNUSED(p_new);
filter_sys_t *p_sys = p_filter->p_sys;
if( p_sys->context.settings.b_half_height )
p_mouse->i_y *= 2;
diff --git a/modules/video_filter/freeze.c b/modules/video_filter/freeze.c
index 656b4252652..133b11efdae 100644
--- a/modules/video_filter/freeze.c
+++ b/modules/video_filter/freeze.c
@@ -225,6 +225,7 @@ static picture_t *Filter( filter_t *p_filter, picture_t *p_pic_in ) {
static int freeze_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
const vlc_mouse_t *p_old, const vlc_mouse_t *p_new )
{
+ VLC_UNUSED(p_mouse);
filter_sys_t *p_sys = p_filter->p_sys;
const video_format_t *p_fmt_in = &p_filter->fmt_in.video;
@@ -235,7 +236,6 @@ static int freeze_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
if ( unlikely(!p_sys->b_init) )
{
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
diff --git a/modules/video_filter/magnify.c b/modules/video_filter/magnify.c
index 555859b8f5c..ca98e13d5d1 100644
--- a/modules/video_filter/magnify.c
+++ b/modules/video_filter/magnify.c
@@ -415,7 +415,6 @@ static int Mouse( filter_t *p_filter, vlc_mouse_t *p_mouse, const vlc_mouse_t *p
return VLC_EGENERIC;
/* */
- *p_mouse = *p_new;
p_mouse->i_x = p_sys->i_x + p_new->i_x * ZOOM_FACTOR / p_sys->i_zoom;
p_mouse->i_y = p_sys->i_y + p_new->i_y * ZOOM_FACTOR / p_sys->i_zoom;
return VLC_SUCCESS;
diff --git a/modules/video_filter/puzzle.c b/modules/video_filter/puzzle.c
index 35e0a090ce4..80a9806a3f5 100644
--- a/modules/video_filter/puzzle.c
+++ b/modules/video_filter/puzzle.c
@@ -627,6 +627,7 @@ int puzzle_Callback( vlc_object_t *p_this, char const *psz_var,
int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
const vlc_mouse_t *p_old, const vlc_mouse_t *p_new )
{
+ VLC_UNUSED(p_mouse);
filter_sys_t *p_sys = p_filter->p_sys;
const video_format_t *p_fmt_in = &p_filter->fmt_in.video;
@@ -636,7 +637,6 @@ int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
return VLC_EGENERIC;
if (! p_sys->b_init || p_sys->b_change_param) {
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
@@ -656,7 +656,6 @@ int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
else
{
/* otherwise we can forward the mouse */
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
}
@@ -679,7 +678,6 @@ int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
/* do not take into account if border clicked */
if ((p_new->i_x <= i_border_width) || (p_new->i_y <= i_border_height) || (p_new->i_x >= (int) p_fmt_in->i_width - i_border_width) || (p_new->i_y >= (int) p_fmt_in->i_height - i_border_height ) )
{
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
else if( p_sys->i_selected == NO_PCE )
@@ -740,7 +738,6 @@ int puzzle_mouse( filter_t *p_filter, vlc_mouse_t *p_mouse,
else /* jigsaw puzzle mode */
{
if ((p_sys->ps_desk_planes == NULL) || (p_sys->ps_pict_planes == NULL) || (p_sys->ps_puzzle_array == NULL) || (p_sys->ps_pieces == NULL)) {
- *p_mouse = *p_new;
return VLC_SUCCESS;
}
diff --git a/modules/video_filter/transform.c b/modules/video_filter/transform.c
index e0da5468232..7b6a3577207 100644
--- a/modules/video_filter/transform.c
+++ b/modules/video_filter/transform.c
@@ -292,11 +292,11 @@ static int Mouse(filter_t *filter, vlc_mouse_t *mouse,
const vlc_mouse_t *mold, const vlc_mouse_t *mnew)
{
VLC_UNUSED( mold );
+ VLC_UNUSED( mnew );
const video_format_t *fmt = &filter->fmt_out.video;
const filter_sys_t *sys = filter->p_sys;
- *mouse = *mnew;
sys->convert(&mouse->i_x, &mouse->i_y,
fmt->i_visible_width, fmt->i_visible_height,
mouse->i_x, mouse->i_y);
diff --git a/src/misc/filter_chain.c b/src/misc/filter_chain.c
index 7b1a0ff63bf..8079c6125f8 100644
--- a/src/misc/filter_chain.c
+++ b/src/misc/filter_chain.c
@@ -515,7 +515,7 @@ int filter_chain_MouseFilter( filter_chain_t *p_chain, vlc_mouse_t *p_dst, const
if( p_filter->pf_video_mouse && p_mouse )
{
vlc_mouse_t old = *p_mouse;
- vlc_mouse_t filtered;
+ vlc_mouse_t filtered = current;
*p_mouse = current;
if( p_filter->pf_video_mouse( p_filter, &filtered, &old, ¤t ) )
--
2.26.2
More information about the vlc-devel
mailing list