vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Oct 23 21:13:40 2014 +0300| [9dd3e8fb42fb3314317400059e8630b713221e95] | committer: Rémi Denis-Courmont
vout: remove harmful or commented out display events The video output variables currently represent the wanted state, not the actual state. Forcefully resetting them to the actual state with a delay can create feedback loops. (Indeed some of the code paths had already been commented out for that exact reason.) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9dd3e8fb42fb3314317400059e8630b713221e95 --- src/video_output/display.c | 29 ------------ src/video_output/event.h | 110 -------------------------------------------- 2 files changed, 139 deletions(-) diff --git a/src/video_output/display.c b/src/video_output/display.c index ec0871d..87c6deb 100644 --- a/src/video_output/display.c +++ b/src/video_output/display.c @@ -870,8 +870,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) msg_Err(vd, "Failed to set fullscreen"); } - - vout_SendEventFullscreen(osys->vout, osys->cfg.is_fullscreen); } /* */ @@ -900,8 +898,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) } osys->cfg.is_display_filled = osys->is_display_filled; osys->ch_display_filled = false; - - vout_SendEventDisplayFilled(osys->vout, osys->cfg.is_display_filled); } /* */ if (osys->ch_zoom) { @@ -929,8 +925,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) osys->cfg.zoom.num = osys->zoom.num; osys->cfg.zoom.den = osys->zoom.den; osys->ch_zoom = false; - - vout_SendEventZoom(osys->vout, osys->cfg.zoom.num, osys->cfg.zoom.den); } #if defined(_WIN32) || defined(__OS2__) /* */ @@ -940,9 +934,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) wm_state = osys->wm_state; } osys->wm_state_initial = wm_state; - - /* */ - vout_SendEventOnTop(osys->vout, osys->wm_state_initial); } #endif /* */ @@ -973,21 +964,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) osys->sar.den = source.i_sar_den; osys->ch_sar = false; - /* */ - if (osys->sar.num == osys->source.i_sar_num && - osys->sar.den == osys->source.i_sar_den) - { - vout_SendEventSourceAspect(osys->vout, 0, 0); - } - else - { - unsigned dar_num, dar_den; - vlc_ureduce( &dar_num, &dar_den, - osys->sar.num * vd->source.i_visible_width, - osys->sar.den * vd->source.i_visible_height, - 65536); - vout_SendEventSourceAspect(osys->vout, dar_num, dar_den); - } /* If a crop ratio is requested, recompute the parameters */ if (osys->crop.num > 0 && osys->crop.den > 0) osys->ch_crop = true; @@ -1053,11 +1029,6 @@ bool vout_ManageDisplay(vout_display_t *vd, bool allow_reset_pictures) osys->crop.num = crop_num; osys->crop.den = crop_den; osys->ch_crop = false; - - vout_SendEventSourceCrop(osys->vout, - osys->crop.num, osys->crop.den, - osys->crop.left, osys->crop.top, - -osys->crop.right, -osys->crop.bottom); } /* */ diff --git a/src/video_output/event.h b/src/video_output/event.h index b076c69..c3c2ddf 100644 --- a/src/video_output/event.h +++ b/src/video_output/event.h @@ -101,116 +101,6 @@ static inline void vout_SendEventMouseHidden(vout_thread_t *vout) VLC_UNUSED(vout); } -static inline void vout_SendEventFullscreen(vout_thread_t *vout, bool is_fullscreen) -{ - var_SetBool(vout, "fullscreen", is_fullscreen); -} - -static inline void vout_SendEventDisplayFilled(vout_thread_t *vout, bool is_display_filled) -{ - if (!var_GetBool(vout, "autoscale") != !is_display_filled) - var_SetBool(vout, "autoscale", is_display_filled); -} - -static inline void vout_SendEventZoom(vout_thread_t *vout, int num, int den) -{ - VLC_UNUSED(vout); - VLC_UNUSED(num); - VLC_UNUSED(den); - /* FIXME deadlock problems with current vout */ -#if 0 - const float zoom = (float)num / (float)den; - - /* XXX 0.1% is arbitrary */ - if (fabs(zoom - var_GetFloat(vout, "scale")) > 0.001) - var_SetFloat(vout, "scale", zoom); -#endif -} - -static inline void vout_SendEventOnTop(vout_thread_t *vout, bool is_on_top) -{ - VLC_UNUSED(vout); - VLC_UNUSED(is_on_top); - /* FIXME deadlock problems with current vout */ -#if 0 - - if (!var_GetBool(vout, "video-on-top") != !is_on_top) - var_SetBool(vout, "video-on-top", is_on_top); -#endif -} - -/** - * It must be called on source aspect ratio changes, with the new DAR (Display - * Aspect Ratio) value. - */ -static inline void vout_SendEventSourceAspect(vout_thread_t *vout, - unsigned num, unsigned den) -{ - VLC_UNUSED(vout); - VLC_UNUSED(num); - VLC_UNUSED(den); - /* FIXME the value stored in "aspect-ratio" are not reduced - * creating a lot of problems here */ -#if 0 - char *ar; - if (num > 0 && den > 0) { - if (asprintf(&ar, "%u:%u", num, den) < 0) - return; - } else { - ar = strdup(""); - } - - char *current = var_GetString(vout, "aspect-ratio"); - msg_Err(vout, "vout_SendEventSourceAspect %s -> %s", current, ar); - if (ar && current && strcmp(ar, current)) - var_SetString(vout, "aspect-ratio", ar); - - free(current); - free(ar); -#endif -} -static inline void vout_SendEventSourceCrop(vout_thread_t *vout, - unsigned num, unsigned den, - unsigned left, unsigned top, - unsigned right, unsigned bottom) -{ - VLC_UNUSED(num); - VLC_UNUSED(den); - - vlc_value_t val; - - /* I cannot use var_Set here, infinite loop otherwise */ - - /* */ - val.i_int = left; - var_Change(vout, "crop-left", VLC_VAR_SETVALUE, &val, NULL); - val.i_int = top; - var_Change(vout, "crop-top", VLC_VAR_SETVALUE, &val, NULL); - val.i_int = right; - var_Change(vout, "crop-right", VLC_VAR_SETVALUE, &val, NULL); - val.i_int = bottom; - var_Change(vout, "crop-bottom", VLC_VAR_SETVALUE, &val, NULL); - - /* FIXME the value stored in "crop" are not reduced - * creating a lot of problems here */ -#if 0 - char *crop; - if (num > 0 && den > 0) { - if (asprintf(&crop, "%u:%u", num, den) < 0) - crop = NULL; - } else if (left > 0 || top > 0 || right > 0 || bottom > 0) { - if (asprintf(&crop, "%u+%u+%u+%u", left, top, right, bottom) < 0) - crop = NULL; - } else { - crop = strdup(""); - } - if (crop) { - val.psz_string = crop; - var_Change(vout, "crop", VLC_VAR_SETVALUE, &val, NULL); - free(crop); - } -#endif -} #if 0 static inline void vout_SendEventSnapshot(vout_thread_t *vout, const char *filename) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
