[MPlayer-cvslog] CVS: main mencoder.c,1.311,1.312

Richard Felker CVS syncmail at mplayerhq.hu
Wed Oct 19 07:44:29 CEST 2005


CVS change done by Richard Felker CVS

Update of /cvsroot/mplayer/main
In directory mail:/var2/tmp/cvs-serv4577

Modified Files:
	mencoder.c 
Log Message:
processing audio is sometimes essential for a/v sync, so 1000l to
whoever made rawvideo muxer disable audio!!

with this patch, audio is processed but simply thrown away by the
muxer. various 'error' conditions in rawvideo muxer are removed to
make it work. feel free to re-add them if they can be done without
breaking anything, but do not use printf !!!!

btw old behavior can be obtained by manually specifying -nosound.



Index: mencoder.c
===================================================================
RCS file: /cvsroot/mplayer/main/mencoder.c,v
retrieving revision 1.311
retrieving revision 1.312
diff -u -r1.311 -r1.312
--- mencoder.c	16 Oct 2005 19:14:08 -0000	1.311
+++ mencoder.c	19 Oct 2005 05:44:27 -0000	1.312
@@ -580,10 +580,6 @@
     mp_msg(MSGT_MENCODER,MSGL_INFO,MSGTR_ForcingInputFPS, sh_video->fps);
   }
 
-  if(sh_audio && out_file_format==MUXER_TYPE_RAWVIDEO){
-      mp_msg(MSGT_MENCODER,MSGL_ERR,MSGTR_RawvideoDoesNotSupportAudio);
-      sh_audio=NULL;
-  }
   if(sh_audio && out_audio_codec<0){
     if(audio_id==-2)
 	mp_msg(MSGT_MENCODER,MSGL_ERR,MSGTR_DemuxerDoesntSupportNosound);
@@ -1302,6 +1298,8 @@
       badframes++;
       if(skip_flag<=0){
 	// unwanted skipping of a frame, what to do?
+        v_timer_corr-=(float)mux_v->h.dwScale/mux_v->h.dwRate;
+#if 0
 	if(skip_limit==0){
 	    // skipping not allowed -> write empty frame:
 	    if (!encode_duplicates || !sh_video->vfilter || ((vf_instance_t *)sh_video->vfilter)->control(sh_video->vfilter, VFCTRL_DUPLICATE_FRAME, 0) != CONTROL_TRUE)
@@ -1310,6 +1308,7 @@
 	    // skipping allowed -> skip it and distriubute timer error:
 	    v_timer_corr-=(float)mux_v->h.dwScale/mux_v->h.dwRate;
 	}
+#endif
       }
     }
 }




More information about the MPlayer-cvslog mailing list