From 0a8e94987288a69b161b6dacb208ac07f019946b Mon Sep 17 00:00:00 2001 From: rfelker Date: Wed, 19 May 2004 04:38:05 +0000 Subject: 1000l....of pepsi :(broke -ovc copy!) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12491 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mencoder.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'mencoder.c') diff --git a/mencoder.c b/mencoder.c index 60ed44d9b0..296b5bab53 100644 --- a/mencoder.c +++ b/mencoder.c @@ -1301,14 +1301,14 @@ case VCODEC_FRAMENO: default: // decode_video will callback down to ve_*.c encoders, through the video filters 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){ badframes++; if(skip_flag<=0){ // unwanted skipping of a frame, what to do? if(skip_limit==0){ // 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); } else { // 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); while(skip_flag<0){ 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); ++skip_flag; } -- cgit v1.2.3