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
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to