vlc | branch: master | Roland Bewick <[email protected]> | Fri Jun 14 16:59:43 2019 +0200| [3b231c860c8712399bbc3df696a217c894c7cec7] | committer: Thomas Guillem
vout: spu: pass channel order to vout_ChangeSubMargin And rename it to vout_ChangeSpuChannelMargin. A margin is now set for a specific channel order. Signed-off-by: Thomas Guillem <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=3b231c860c8712399bbc3df696a217c894c7cec7 --- src/video_output/video_output.c | 5 +++-- src/video_output/vout_internal.h | 4 ++-- src/video_output/vout_intf.c | 2 +- src/video_output/vout_subpictures.c | 15 +++++++++++++-- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 11ed7c3eac..490d1fa97e 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -603,11 +603,12 @@ void vout_ControlChangeSubFilters(vout_thread_t *vout, const char *filters) spu_ChangeFilters(vout->p->spu, filters); } -void vout_ChangeSubMargin(vout_thread_t *vout, int margin) +void vout_ChangeSpuChannelMargin(vout_thread_t *vout, + enum vlc_vout_order order, int margin) { assert(!vout->p->dummy); if (likely(vout->p->spu != NULL)) - spu_ChangeMargin(vout->p->spu, margin); + spu_ChangeChannelOrderMargin(vout->p->spu, order, margin); } void vout_ChangeViewpoint(vout_thread_t *vout, diff --git a/src/video_output/vout_internal.h b/src/video_output/vout_internal.h index bd25a244d6..3c5a7e2688 100644 --- a/src/video_output/vout_internal.h +++ b/src/video_output/vout_internal.h @@ -246,7 +246,7 @@ void vout_ChangeCropBorder(vout_thread_t *, int left, int top, int right, int bo void vout_ControlChangeFilters(vout_thread_t *, const char *); void vout_ControlChangeSubSources(vout_thread_t *, const char *); void vout_ControlChangeSubFilters(vout_thread_t *, const char *); -void vout_ChangeSubMargin(vout_thread_t *, int); +void vout_ChangeSpuChannelMargin(vout_thread_t *, enum vlc_vout_order order, int); void vout_ChangeViewpoint( vout_thread_t *, const vlc_viewpoint_t *); /* */ @@ -269,7 +269,7 @@ void spu_Attach( spu_t *, input_thread_t *input ); void spu_Detach( spu_t * ); void spu_SetClockDelay(spu_t *spu, size_t channel_id, vlc_tick_t delay); void spu_SetClockRate(spu_t *spu, size_t channel_id, float rate); -void spu_ChangeMargin(spu_t *, int); +void spu_ChangeChannelOrderMargin(spu_t *, enum vlc_vout_order, int); void spu_SetHighlight(spu_t *, const vlc_spu_highlight_t*); /** diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c index 55e9c8cb88..b6f5ebc4bb 100644 --- a/src/video_output/vout_intf.c +++ b/src/video_output/vout_intf.c @@ -609,7 +609,7 @@ static int SubMarginCallback( vlc_object_t *p_this, char const *psz_cmd, vout_thread_t *p_vout = (vout_thread_t *)p_this; VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data); - vout_ChangeSubMargin(p_vout, newval.i_int); + vout_ChangeSpuChannelMargin(p_vout, VLC_VOUT_ORDER_PRIMARY, newval.i_int); return VLC_SUCCESS; } diff --git a/src/video_output/vout_subpictures.c b/src/video_output/vout_subpictures.c index 24f1a0c6f0..b58247ff03 100644 --- a/src/video_output/vout_subpictures.c +++ b/src/video_output/vout_subpictures.c @@ -1910,12 +1910,23 @@ void spu_ChangeFilters(spu_t *spu, const char *filters) vlc_mutex_unlock(&sys->lock); } -void spu_ChangeMargin(spu_t *spu, int margin) +void spu_ChangeChannelOrderMargin(spu_t *spu, enum vlc_vout_order order, + int margin) { spu_private_t *sys = spu->p; vlc_mutex_lock(&sys->lock); - sys->margin = margin; + switch (order) + { + case VLC_VOUT_ORDER_PRIMARY: + sys->margin = margin; + break; + case VLC_VOUT_ORDER_SECONDARY: + sys->secondary_margin = margin; + break; + default: + vlc_assert_unreachable(); + } vlc_mutex_unlock(&sys->lock); } _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
