diff --git a/libvo/video_out.c b/libvo/video_out.c index f81544fc93..9224212b35 100644 --- a/libvo/video_out.c +++ b/libvo/video_out.c @@ -21,6 +21,7 @@ #include #include #include +#include #include //#include @@ -31,6 +32,7 @@ #include "video_out.h" #include "aspect.h" #include "geometry.h" +#include "old_vo_wrapper.h" #include "mp_msg.h" #include "help_mp.h" @@ -278,9 +280,10 @@ int vo_control(struct vo *vo, uint32_t request, void *data) int vo_draw_frame(struct vo *vo, uint8_t *src[]) { + assert(!vo->driver->is_new); if (!vo->config_ok) return 0; - return vo->driver->draw_frame(vo, src); + return old_vo_draw_frame(vo, src); } int vo_draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h, int x, int y) diff --git a/libvo/video_out.h b/libvo/video_out.h index 48b2eb295c..c04e89b94c 100644 --- a/libvo/video_out.h +++ b/libvo/video_out.h @@ -164,13 +164,6 @@ struct vo_driver { */ int (*control)(struct vo *vo, uint32_t request, void *data); - /* - * Display a new RGB/BGR frame of the video to the screen. - * params: - * src[0] - pointer to the image - */ - int (*draw_frame)(struct vo *vo, uint8_t *src[]); - /* * Draw a planar YUV slice to the buffer: * params: diff --git a/libvo/video_out_internal.h b/libvo/video_out_internal.h index 166a91cc1c..8595d4ef05 100644 --- a/libvo/video_out_internal.h +++ b/libvo/video_out_internal.h @@ -50,7 +50,6 @@ static int preinit(const char *); .preinit = old_vo_preinit,\ .config = old_vo_config,\ .control = old_vo_control,\ - .draw_frame = old_vo_draw_frame,\ .draw_slice = old_vo_draw_slice,\ .draw_osd = old_vo_draw_osd,\ .flip_page = old_vo_flip_page,\ diff --git a/libvo/vo_vdpau.c b/libvo/vo_vdpau.c index ecf9e4fa71..dcd2a7092e 100644 --- a/libvo/vo_vdpau.c +++ b/libvo/vo_vdpau.c @@ -1075,11 +1075,6 @@ static int draw_slice(struct vo *vo, uint8_t *image[], int stride[], int w, } -static int draw_frame(struct vo *vo, uint8_t *src[]) -{ - return VO_ERROR; -} - static struct vdpau_render_state *get_surface(struct vo *vo, int number) { struct vdpctx *vc = vo->priv; @@ -1496,7 +1491,6 @@ const struct vo_driver video_out_vdpau = { .preinit = preinit, .config = config, .control = control, - .draw_frame = draw_frame, .draw_slice = draw_slice, .draw_osd = draw_osd, .flip_page = flip_page, diff --git a/libvo/vo_xv.c b/libvo/vo_xv.c index 1085f51327..30ce3dc154 100644 --- a/libvo/vo_xv.c +++ b/libvo/vo_xv.c @@ -518,11 +518,6 @@ static int draw_slice(struct vo *vo, uint8_t *image[], int stride[], int w, return 0; } -static int draw_frame(struct vo *vo, uint8_t *src[]) -{ - return VO_ERROR; -} - static uint32_t draw_image(struct vo *vo, mp_image_t *mpi) { struct xvctx *ctx = vo->priv; @@ -852,7 +847,6 @@ const struct vo_driver video_out_xv = { .preinit = preinit, .config = config, .control = control, - .draw_frame = draw_frame, .draw_slice = draw_slice, .draw_osd = draw_osd, .flip_page = flip_page,