[MPlayer-advusers] mplayer aborts with -nosound

Bob Bell b_mplayer at thebellsplace.com
Sat Feb 9 19:36:50 CET 2008


On Sat, Feb 09, 2008 at 12:16:23PM +0100, Nico Sabbi wrote:
> Il Saturday 09 February 2008 03:11:37 Bob Bell ha scritto:
> > On Fri, Feb 08, 2008 at 02:37:33PM +0100, Nico Sabbi wrote:
> > > On Friday 08 February 2008 03:25:34 Bob Bell wrote:
> > > > Thank you in advance.  I look forward to working with you to
> > > > resolve this issue!
> > > 
> > > I'll check your patch tonight or tomorrow
> > 
> > Hmm, well, don't expect too much.  It's a "gets me by for now" type of
> > thing, but I doubt it's the right solution.
> > 
> > The algorithmic change I made was: if the calculated position is over
> > 90% of the way through (arbitrarily picked to represent "close to the
> > end but not at the end"), then start from the middle of the file instead
> > and use the normal correction steps to arrive at the right position.
> > 
> > It does seem to work, but it's pretty yucky.  Hopefully someone with
> > more knowledge of the code can make something a little nicer.
> 
> it's not a correct approach, but I can't blame you: the whole file
> is overwhelmingly ill-logic
> An easier fix consists in raising TIMESTAMP_PROBE_LEN a bit
> (1M for example). Does it work?

It does indeed.  Here's the fix I implemented:

Index: libmpdemux/demux_mpg.c
===================================================================
--- libmpdemux/demux_mpg.c      (revision 25959)
+++ libmpdemux/demux_mpg.c      (working copy)
@@ -103,8 +103,8 @@
   return 1;
 }

-// 500000 is a wild guess
-#define TIMESTAMP_PROBE_LEN 500000
+// 1000000 is a wild guess, but better than the old value of 500000
+#define TIMESTAMP_PROBE_LEN 1000000

 //MAX_PTS_DIFF_FOR_CONSECUTIVE denotes the maximum difference
 //between two pts to consider them consecutive


-- Bob



More information about the MPlayer-advusers mailing list