summaryrefslogtreecommitdiffstats
path: root/mplayer.c
diff options
context:
space:
mode:
authorarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-14 17:12:40 +0000
committerarpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-12-14 17:12:40 +0000
commitbbeb54d80aa6d1d6945ce3b6461b7d24c57841e9 (patch)
tree7ca9df3369887ec50986b765b77de1a864132b05 /mplayer.c
parent3eb3af54f3a05879a3c13ff065462e6f5897fe21 (diff)
downloadmpv-bbeb54d80aa6d1d6945ce3b6461b7d24c57841e9.tar.bz2
mpv-bbeb54d80aa6d1d6945ce3b6461b7d24c57841e9.tar.xz
notice vo driver about skipped/dropped frames
patch by Alvaro Lopes <alvieboy@alvie.com> git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8451 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'mplayer.c')
-rw-r--r--mplayer.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/mplayer.c b/mplayer.c
index 1b64639104..ba43f759b7 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1725,7 +1725,8 @@ if(time_frame>0.001 && !(vo_flags&256)){
if(vo_config_count) video_out->check_events();
current_module="flip_page";
- if(blit_frame && !frame_time_remaining){
+ if (!frame_time_remaining) {
+ if(blit_frame){
unsigned int t2=GetTimer();
double tt;
float j;
@@ -1744,8 +1745,15 @@ if(time_frame>0.001 && !(vo_flags&256)){
t2=GetTimer()-t2;
tt = t2*0.000001f;
vout_time_usage+=tt;
- }
-
+ } else {
+ /*
+ Well, no blitting is needed, but some devices (such as yuv4mpeg) must output frame
+ otherwise A/V desync will occur. -- Alvieboy
+ */
+ if (vo_config_count)
+ video_out->control(VOCTRL_DUPLICATE_FRAME, NULL);
+ }
+ }
//====================== A-V TIMESTAMP CORRECTION: =========================
current_module="av_sync";