[Live-devel] openRTSP

aqsdfqs bqsdfsqdf adobestreaming at live.be
Thu Feb 18 06:56:19 PST 2010



Hello,

in our test setup we want to record an RTSP session containing 52 media tracks (AVC/AAC). We also want all the tracks to be synchronized. For this purpose, we use the openRTSP tool (using the QuickTimeFileSink through the -4 openRTSP flag) (version: live.2009.09.28, building on linux).

We experienced, however, that on rare occasions the recording does not start (i.e. the output file's size does not increase).

We tried to debug the code on such an event and we checked the syncOK function of the SubsessionIOState class because, apparently, the ioState->afterGettingFrame(packetDataSize, presentationTime); never got called. We found out that in such an erroneous case, some tracks (mostly just one) never get synchronized (the fHaveBeenSynced flag of the SubsessionIOstate class does not get set).

Therefore, we went deeper into the code until the point of the BasicTaskscheduler. Here we see that after calling the select statement in the "void BasicTaskScheduler::SingleStep(unsigned maxDelayTime)" function, we only get a limited number of readable sockets as a return value. If, for example, we have 52 media tracks, we create at least 104 sockets (52 for RTP and 52 for RTCP), but the result value is never 104 or higher, no matter how long we wait in between two select calls. This makes us believe that the accompaniment socket of the track is never read, and for example the RTCP SR is not parsed to get that track synchronized.

We also observed that data is actually being send to all the sockets (and correct port numbers) and that sockets are correctly created (socket number> -1) and added to the read set before the select call.

Do you have any similar experiences or any ideas on what might go wrong here?

Kind regards. 		 	   		  
_________________________________________________________________
Windows 7: kijk live tv, rechtstreeks vanaf je laptop. Meer informatie.
http://windows.microsoft.com/windows-7


More information about the live-devel mailing list