diff mplayer.c @ 20906:160974ca8bf2

Use vf control for reading pts from vf_vo
author uau
date Tue, 14 Nov 2006 14:02:55 +0000
parents e5456123de82
children 90533b703300
line wrap: on
line diff
--- a/mplayer.c	Tue Nov 14 14:00:58 2006 +0000
+++ b/mplayer.c	Tue Nov 14 14:02:55 2006 +0000
@@ -3084,8 +3084,6 @@
 
 int gui_no_filename=0;
 
-struct {double pts; vo_functions_t *vo;} vf_vo_data;
-
   srand((int) time(NULL)); 
 
   InitTimer();
@@ -4107,10 +4105,9 @@
 inited_flags|=INITED_VO;
 }
 
-vf_vo_data.vo = video_out;
 current_module="init_video_filters";
 {
-  char* vf_arg[] = { "_oldargs_", (char*)&vf_vo_data , NULL };
+  char* vf_arg[] = { "_oldargs_", (char*)video_out , NULL };
   sh_video->vfilter=(void*)vf_open_filter(NULL,"vo",vf_arg);
 }
 #ifdef HAVE_MENU
@@ -4385,7 +4382,8 @@
 	    eof = 1;
 	    break;
 	}
-	sh_video->pts = vf_vo_data.pts;
+	((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter,
+					      VFCTRL_GET_PTS, &sh_video->pts);
 	if (sh_video->pts == MP_NOPTS_VALUE) {
 	    mp_msg(MSGT_CPLAYER, MSGL_ERR, "pts after filters MISSING\n");
 	    sh_video->pts = last_pts;