[MPlayer-dev-eng] Failed to open frameno.avi: text revision suggested

Alexander Strasser eclipse7 at gmx.net
Sat Oct 23 10:43:55 CEST 2004


Attila Kinali wrote ( On Sat, Aug 21, 2004 at 10:11:10AM +0900 ):
> On Tue, Aug 17, 2004 at 02:19:23AM +0200, Alexander Strasser wrote:
> > No hasn't been yet commited. I found out if this message is displayed
> > it is still irritating. So I have to change the message to something
> > else. As it is now, it would print out the message that this missing
> > file only matters when doing a three-pass encode on the first pass of
> > a three-pass encode, where this frameno control file is created.
> > So I have to change it to something like:
> > 
> > "This missing file is only an error if you are at 2nd or 3rd
> >  pass of a 3-pass encode."
> 
> Isnt there a way to check whether we are in a 3pass encode and
> not on the first pass ? If there is, we could make this msg
> conditional.

Sorry, I nearly completely forgot about this one. But i remembered it
lately after some irritated users brought it up again. I think there
is no way to make the message conditional as for MEncoder every encode
is a potential 3-pass encode. So without breaking backward compatibility
or changing the stream (open) handling there is IMHO no way to fix this
in a sane manner. The problem is that breaking backward compatibiliy is no
option as the 3-pass encoding stuff only still exists for providing
backward compatibility ( at least that is what i heard ). Changing the
stream open function is an option but implies bigger changes, to make it
consistent and correct. As with many parts of mplayer the stream_open
function assumes to know about output ( which is imho bad in general )
and is to verbose about things (errors in this case) which it shouldn't be.
The outputs and stuff should be done at least one layer higher above the
stream_open function, in our case in mencoder.c when trying to open the
3-pass-control file.

One could also think about preprobing if the frameno file is there, but
this is also not very clean. But maybe an option, what do you think?
The good thing about it would be that we would get rid of the error
message, and so there is positive feedback about the file when it is
found there is no need for displaying errors all the time it is not.

Also if no1 is for one of the above options I have a simple fix in the
spirit of the previous ones ready and attached to this mail.

  Alex (beastd)
-------------- next part --------------
Index: mencoder.c
===================================================================
RCS file: /cvsroot/mplayer/main/mencoder.c,v
retrieving revision 1.256
diff -u -r1.256 mencoder.c
--- mencoder.c	9 Oct 2004 13:07:17 -0000	1.256
+++ mencoder.c	23 Oct 2004 08:43:02 -0000
@@ -447,6 +447,10 @@
     if(demuxer2) mp_msg(MSGT_FIXME, MSGL_FIXME, MSGTR_UsingPass3ControllFile, frameno_filename);
     else mp_msg(MSGT_DEMUXER,MSGL_ERR,MSGTR_FormatNotRecognized);
   }
+  else{
+    mp_msg(MSGT_MENCODER, MSGL_INFO, MSGTR_MissingPass3ControlFile,
+           frameno_filename);
+  }
 
  mconfig = m_config_new();
  m_config_register_options(mconfig,mencoder_opts);
Index: help/help_mp-en.h
===================================================================
RCS file: /cvsroot/mplayer/main/help/help_mp-en.h,v
retrieving revision 1.147
diff -u -r1.147 help_mp-en.h
--- help/help_mp-en.h	13 Oct 2004 09:46:26 -0000	1.147
+++ help/help_mp-en.h	23 Oct 2004 08:43:02 -0000
@@ -351,6 +351,9 @@
 #define MSGTR_LavcAudioCodecNotFound "Audio LAVC, couldn't find encoder for codec %s\n"
 #define MSGTR_CouldntAllocateLavcContext "Audio LAVC, couldn't allocate context!\n"
 #define MSGTR_CouldntOpenCodec "Couldn't open codec %s, br=%d\n"
+#define MSGTR_MissingPass3ControlFile \
+"The missing %s file is only an error,\n"\
+"when you are at 2nd or 3rd pass of a 3-pass encode.\n"
 
 // cfg-mencoder.h:
 


More information about the MPlayer-dev-eng mailing list