OSD handled by vf control()

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5644 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2002-04-15 22:41:28 +00:00
parent 3fc73ead66
commit ad94b5e132
4 changed files with 12 additions and 5 deletions

View File

@ -194,16 +194,15 @@ else if(gCpuCaps.hasMMX){
}
#endif
if(!mpi) return 0; // error / skipped frame
t2=GetTimer();t=t2-t;
tt = t*0.000001f;
video_time_usage+=tt;
if(drop_frame) return 0;
if(!mpi || drop_frame) return 0; // error / skipped frame
//vo_draw_image(video_out,mpi);
vf->put_image(vf,mpi);
vf->control(vf,VFCTRL_DRAW_OSD,NULL);
t2=GetTimer()-t2;
tt=t2*0.000001f;

View File

@ -50,6 +50,8 @@ typedef struct vf_instance_s {
#define VFCTRL_SET_PP_LEVEL 5 /* set postprocessing level */
#define VFCTRL_SET_EQUALIZER 6 /* set color options (brightness,contrast etc) */
#define VFCTRL_DRAW_OSD 7
#include "vfcap.h"
// functions:

View File

@ -42,6 +42,11 @@ static int config(struct vf_instance_s* vf,
static int control(struct vf_instance_s* vf,
int request, void* data){
switch(request){
case VFCTRL_DRAW_OSD:
video_out->draw_osd();
return CONTROL_TRUE;
}
// return video_out->control(request,data);
return CONTROL_UNKNOWN;
}

View File

@ -1512,6 +1512,7 @@ if(!sh_video) {
sh_video->timer+=frame_time;
time_frame+=frame_time; // for nosound
// check for frame-drop:
current_module="check_framedrop";
if(sh_audio && !d_audio->eof){
float delay=audio_out->get_delay();
float d=(sh_video->timer)-(sh_audio->timer-delay);
@ -1538,8 +1539,8 @@ if(!sh_video) {
// ==========================================================================
current_module="draw_osd";
if(vo_config_count) video_out->draw_osd();
// current_module="draw_osd";
// if(vo_config_count) video_out->draw_osd();
#ifdef HAVE_NEW_GUI
if(use_gui) guiEventHandling();