[Live-devel] Problem detected in compilation for arm and solution.

Juan Antonio Martinez Navarro juanantonio at dif.um.es
Thu May 11 00:48:57 PDT 2006


Hello,

I'm using live in vlc to play streaming on a Zaurus SL-C3100.
The problem I had was that all the RTSP traffic worked correctly but the
RTP traffic to see the streaming multimedia didn't work.

There is a problem was located in the class HandlerSet
"BasicUsageEnvironment/BasicTaskScheduler0.cpp". This class has an
attribute "HandlerDescriptor fHandlers".

It has a creation method used in the creation of the HandlerSet object
and when you want to add a new HandlerDescriptor to the HandlerSet.

HandlerDescriptor::HandlerDescriptor(HandlerDescriptor* nextHandler)
{
	fNextHandler = nextHandler;
	fPrevHandler = nextHandler->fPrevHandler;
	nextHandler->fPrevHandler = this;
	fPrevHandler->fNextHandler = this;
}

The problem detected is, that in the creation of the HandlerSeet, these
pointers take unsensed values. I solve it separating the different
cases. On one hand the case when you create the object HandlerSet and in
the other hand when you use it to add a HandlerDescriptor to the
HandlerSet.

HandlerDescriptor::HandlerDescriptor(HandlerDescriptor* nextHandler)
{
	if(nextHandler==this)
	{
		fNextHandler = this;
		fPrevHandler = this;
	}
	else
	{
		fNextHandler = nextHandler;
		fPrevHandler = nextHandler->fPrevHandler;
		nextHandler->fPrevHandler = this;
		fPrevHandler->fNextHandler = this;
	}
}

I know than in other devices, like laptops you don't have this problem.
But in the Zaurus if you don't apply this change, it doesn't work.

Regards,

-- 
Juan Antonio Martínez Navarro <juanantonio at dif.um.es>
Departamento de Ingeniería de la Información y las Comunicaciones
Facultad de Informática
Universidad de Murcia
Teléfono: +34-968-367938



More information about the live-devel mailing list