From d511ef79a09fa9e42479e66f4837daaa68b7255b Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 1 Mar 2013 11:16:01 +0100 Subject: core: simplify OSD capability handling, remove VFCAP_OSD VFCAP_OSD was used to determine at runtime whether the VO supports OSD rendering. This was mostly unused. vo_direct3d had an option to disable OSD (was supposed to allow to force auto-insertion of vf_ass, but we removed that anyway). vo_opengl_old could disable OSD rendering when a very old OpenGL version was detected, and had an option to explicitly disable it as well. Remove VFCAP_OSD from everything (and some associated logic). Now the vo_driver.draw_osd callback can be set to NULL to indicate missing OSD support (important so that vo_null etc. don't single-step on OSD redraw), and if OSD support depends on runtime support, the VO's draw_osd should just do nothing if OSD is not available. Also, do not access vo->want_redraw directly. Change the want_redraw reset logic for this purpose, too. (Probably unneeded, vo_flip_page resets it already.) --- video/out/vo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'video/out/vo.h') diff --git a/video/out/vo.h b/video/out/vo.h index 81cd61b9cc..ea0189dcee 100644 --- a/video/out/vo.h +++ b/video/out/vo.h @@ -227,7 +227,6 @@ struct vo_driver { struct vo { int config_ok; // Last config call was successful? int config_count; // Total number of successful config calls - int default_caps; // query_format() result for configured video format bool untimed; // non-interactive, don't do sleep calls in playloop @@ -291,6 +290,7 @@ void list_video_out(void); int vo_control(struct vo *vo, uint32_t request, void *data); int vo_draw_image(struct vo *vo, struct mp_image *mpi); int vo_redraw_frame(struct vo *vo); +bool vo_get_want_redraw(struct vo *vo); int vo_get_buffered_frame(struct vo *vo, bool eof); void vo_skip_frame(struct vo *vo); void vo_new_frame_imminent(struct vo *vo); -- cgit v1.2.3