diff libmpcodecs/vf_vo.c @ 32391:b4c3659d16b1

Use a dynamic list for the sources of EOSD elements.
author cigaes
date Sun, 10 Oct 2010 09:27:11 +0000
parents 10327ff5eb4a
children d80bbc5868de
line wrap: on
line diff
--- a/libmpcodecs/vf_vo.c	Sat Oct 09 17:52:35 2010 +0000
+++ b/libmpcodecs/vf_vo.c	Sun Oct 10 09:27:11 2010 +0000
@@ -28,6 +28,7 @@
 
 #include "libvo/sub.h"
 #include "libvo/video_out.h"
+#include "eosd.h"
 
 #include "eosd.h"
 
@@ -123,13 +124,14 @@
     }
     case VFCTRL_DRAW_EOSD:
     {
-        EOSD_ImageList images = {NULL, 2};
-        mp_eosd_res_t res = {0};
+        struct mp_eosd_image_list images;
+        struct mp_eosd_settings res = {0};
         double pts = vf->priv->pts;
         if (!vo_config_count) return CONTROL_FALSE;
+        res.unscaled = !!(vf->default_caps & VFCAP_EOSD_UNSCALED);
         if (video_out->control(VOCTRL_GET_EOSD_RES, &res) == VO_TRUE)
-            eosd_configure(&res, !!(vf->default_caps & VFCAP_EOSD_UNSCALED));
-        images.imgs = eosd_render_frame(pts, &images.changed);
+            eosd_configure(&res);
+        eosd_render_frame(pts, &images);
         return (video_out->control(VOCTRL_DRAW_EOSD, &images) == VO_TRUE) ? CONTROL_TRUE : CONTROL_FALSE;
     }
 #endif