Commit de3ebb99 authored by Erwan Tulou's avatar Erwan Tulou

logo: check for negative offsets

if a logo is bigger than a video and if positioning results in negative
offsets, vlc crashes in the blend function.

This patch adds a warning, and offset is forced to 0 if negative.

Note that a bigger logo is not a problem per se. (Blend truncates the logo).
Only offsetting it with negative values was a problem.
parent 6213e4ac
...@@ -483,6 +483,16 @@ static picture_t *FilterVideo( filter_t *p_filter, picture_t *p_src ) ...@@ -483,6 +483,16 @@ static picture_t *FilterVideo( filter_t *p_filter, picture_t *p_src )
} }
} }
if( p_sys->i_pos_x < 0 || p_sys->i_pos_y < 0 )
{
msg_Warn( p_filter,
"logo(%ix%i) doesn't fit into video(%ix%i)",
p_fmt->i_visible_width, p_fmt->i_visible_height,
i_dst_w,i_dst_h );
p_sys->i_pos_x = (p_sys->i_pos_x > 0) ? p_sys->i_pos_x : 0;
p_sys->i_pos_y = (p_sys->i_pos_y > 0) ? p_sys->i_pos_y : 0;
}
/* */ /* */
const int i_alpha = p_logo->i_alpha != -1 ? p_logo->i_alpha : p_list->i_alpha; const int i_alpha = p_logo->i_alpha != -1 ? p_logo->i_alpha : p_list->i_alpha;
if( filter_ConfigureBlend( p_sys->p_blend, i_dst_w, i_dst_h, p_fmt ) || if( filter_ConfigureBlend( p_sys->p_blend, i_dst_w, i_dst_h, p_fmt ) ||
......
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