[Live-devel] [live555] cost long time for socket select in BasicTaskScheduler::SingleStep

Zhang Qian(张倩) qianzhang at asrmicro.com
Wed Mar 4 00:23:18 PST 2020


Hi Ross,

Refer to DeviceSource.cpp, I implement LiveVideoFramedSource class that extended from FramedSource and get video frame by PUSH mode. It means it will trigger event to deliverFrame when frame is available and call FramedSource::afterGetting(this) when frame size is > 0.  I don’t handle doGetNextFrame() and ignore it.

Rtsp video streaming can work when live camera frame fps is 25fps, but I found it has big delay for client. I check the log, and find it costs about 10ms for socket select frequently in BasicTaskScheduler.cpp.
Seems that it impact to deliver video frames for live555 is running in single thread.

BasicTaskScheduler.cpp
int selectResult = select(fMaxNumSockets, &readSet, &writeSet, &exceptionSet, &tv_timeToDelay);   //cost about 10ms frequently


I would appreciate some guidance on the issue. :)

Thanks.
/Qian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20200304/d792f098/attachment.htm>


More information about the live-devel mailing list