[MPlayer-users] vcd causes mplayer endless loop

Steven M. Schultz sms at 2BSD.COM
Tue Mar 19 18:21:02 CET 2002


Hi -

> 	VCDs used to play ok but tonight MPlayer simply goes into an
> 	endless loop using 100% of a cpu.
> 
> mplayer -vcd 2 
> 
> MPlayer CVS-020318-22:40-2.95.3 (C) 2000-2002 Arpad Gereoffy (see DOCS!)
	...
> track 01:  adr=1  ctrl=6  format=2  00:02:00  mode: 1
> track 02:  adr=1  ctrl=6  format=2  00:08:00  mode: 1
> 
> 
> 	And there it sits until interrupted with a ^C

	I have narrowed the problem down to a loop in the 

		int mov_check_file(demuxer_t* demuxer)

	routine.  The last message that is seen from 'mplayer -v -vcd 2' is:

	VCD start byte position: 0x1546E0  end: 0x670C76C
	Checking for YUV4MPEG2
	ASF_check: not ASF guid!
	Checking for NuppelVideo
	Checking for MOV

	is "Checking for MOV".   Using gdb I've seen that no return is
	ever made from 'mov_check_file' if a VCD/SVCD is in the drive.

	There is a comment in libmpdemux/demux_mov.c that was not present
	a while ago:

		else if (len == 0) /* deleted chunk */
		{
		    /* XXX: CJB! is this right? - alex */
		    goto skip_chunk;
		}
		else if(len<8) break; // invalid chunk

	Could this be leading to an endless loop somehow?  

	Cheers,
	Steven Schultz




More information about the MPlayer-users mailing list