[MPlayer-dev-eng] Likely (minor) bug in Real RTSP/RDT demuxing code

Roberto Togni r_togni at tiscali.it
Tue Jul 20 20:42:29 CEST 2004


On 2004.07.19 03:06, attila wrote:
> On Tue, Jun 01, 2004 at 03:00:36AM +0200, Diego Biurrun wrote:
> > Ross Finlayson writes:
> > > While reviewing the code - in both Xine and MPlayer - for
> receiving
> > > RealNetworks' 'RDT' data streams:
> > > 	int real_get_rdt_chunk()
> > > in the file:
> > > 	real.c
> > > In xine-lib: src/input/libreal/real.c
> > > In MPlayer: libmpdemux/realrtsp/real.c
> > >
> > > I noticed the following line:
> > > 	size=(header[1]<<12)+(header[2]<<8)+(header[3]);
> > >
> > > Although I don't know much about Real's protocol, it seems likely
> that this
> > > should really be:
> > > 	size=(header[1]<<16)+(header[2]<<8)+(header[3]);
> > >
> > > i.e., 16 instead of 12.
> > >
> > > This becomes an issue only if the chunk size is >65535, which is
> probably
> > > why noone noticed it before.
> >
> > What happened to this?  It has not been changed in either MPlayer  
> or
> > xine...
> 
> And it's still not, at least not in MPlayer.
> We are talking here about libmpdemux/realrtsp/real.c line 611
> 
> Any comments ?
Not applied. not in mplayer nor in xine.
Btw a few lines after that we have

unknown=(header[5]<<12)+(header[6]<<8)+(header[7]);

So it can be a copy&paste typo or maybe it's intended to be 12 in bot  
places.

it makes sense only if header[1] (and header[5]) are like xxxx0000

No idea, i'll apply it in my local tree and check if i get some good/ 
bad effects.

> 			
> 			Attila Kinali
Ciao,
 Roberto





More information about the MPlayer-dev-eng mailing list