diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-12-14 17:12:40 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-12-14 17:12:40 +0000 |
commit | bbeb54d80aa6d1d6945ce3b6461b7d24c57841e9 (patch) | |
tree | 7ca9df3369887ec50986b765b77de1a864132b05 /mplayer.c | |
parent | 3eb3af54f3a05879a3c13ff065462e6f5897fe21 (diff) | |
download | mpv-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.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -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"; |