mirror of
https://github.com/mpv-player/mpv
synced 2025-01-05 06:30:06 +00:00
1000l....of pepsi :(broke -ovc copy!)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12491 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
0e5425c2b9
commit
0a8e949872
@ -1301,14 +1301,14 @@ case VCODEC_FRAMENO:
|
|||||||
default:
|
default:
|
||||||
// decode_video will callback down to ve_*.c encoders, through the video filters
|
// decode_video will callback down to ve_*.c encoders, through the video filters
|
||||||
blit_frame=decode_video(sh_video,start,in_size,
|
blit_frame=decode_video(sh_video,start,in_size,
|
||||||
skip_flag>0 && ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_SKIP_NEXT_FRAME, 0) != CONTROL_TRUE);
|
skip_flag>0 && (!sh_video->vfilter || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_SKIP_NEXT_FRAME, 0) != CONTROL_TRUE));
|
||||||
if(!blit_frame){
|
if(!blit_frame){
|
||||||
badframes++;
|
badframes++;
|
||||||
if(skip_flag<=0){
|
if(skip_flag<=0){
|
||||||
// unwanted skipping of a frame, what to do?
|
// unwanted skipping of a frame, what to do?
|
||||||
if(skip_limit==0){
|
if(skip_limit==0){
|
||||||
// skipping not allowed -> write empty frame:
|
// skipping not allowed -> write empty frame:
|
||||||
if (!encode_duplicates || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_DUPLICATE_FRAME, 0) != CONTROL_TRUE)
|
if (!encode_duplicates || !sh_video->vfilter || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_DUPLICATE_FRAME, 0) != CONTROL_TRUE)
|
||||||
muxer_write_chunk(mux_v,0,0);
|
muxer_write_chunk(mux_v,0,0);
|
||||||
} else {
|
} else {
|
||||||
// skipping allowed -> skip it and distriubute timer error:
|
// skipping allowed -> skip it and distriubute timer error:
|
||||||
@ -1326,7 +1326,7 @@ if(skip_flag<0){
|
|||||||
if(file_format != DEMUXER_TYPE_TV && !verbose) printf(MSGTR_DuplicateFrames,-skip_flag);
|
if(file_format != DEMUXER_TYPE_TV && !verbose) printf(MSGTR_DuplicateFrames,-skip_flag);
|
||||||
while(skip_flag<0){
|
while(skip_flag<0){
|
||||||
duplicatedframes++;
|
duplicatedframes++;
|
||||||
if (!encode_duplicates || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_DUPLICATE_FRAME, 0) != CONTROL_TRUE)
|
if (!encode_duplicates || !sh_video->vfilter || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_DUPLICATE_FRAME, 0) != CONTROL_TRUE)
|
||||||
muxer_write_chunk(mux_v,0,0);
|
muxer_write_chunk(mux_v,0,0);
|
||||||
++skip_flag;
|
++skip_flag;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user