Okay, let me try being more specific:
1) The application streams RTSP H264 video.
2) The source is a stock source created by the stack while initializing H264
RTP stream for RTSP session. Not subclassing for it at all. A very rudimentary
“do-nothing” sink is subclassed from MediaSink. The only method the app ever
calls on it is startPlaying().
3) The application is using pull, rather than push, model, so after calling
videoSubsession->readSource()->getNextFrame(
data,
size,
OnData,
this,
OnClose,
this );
it blocks using the following code
TaskScheduler& scheduler = envir().taskScheduler();
eventLoopWatchVariable = 0;
taskRunning = 1;
if( timeout > 0 ) {
/* Create a task that will be called if we wait more than timeout
ms */
timeoutTask = scheduler.scheduleDelayedTask( timeout*1000,
OnTimeout,
this );
}
scheduler.doEventLoop(&eventLoopWatchVariable);
if( timeout > 0 ) {
scheduler.unscheduleDelayedTask( timeoutTask );
}
OnTimeout callback, if it occurs, then simply sets eventLoopWatchVariable (and
a variable to determine a timeout had occurred).
4) The timeout scenario seems to occur, when running against a stock live555
server, which loops on a movie clip. In between the clips, depending on the
timing of session termination, a timeout may occur, followed by another attempt
to getNextFrame.
Hope this makes things clearer. Thanks!
—
Sent from Mailbox
On Fri, May 1, 2015 at 1:24 PM, Ross Finlayson <finlay...@live555.com>
wrote:
>> Have been seeing some errors, where if a timeout occurs in getNextFrame, the
>> next getNextFrame call will result in an abort() call (due to
>> fIsCurrentlyAwaitingData being set).
> What object is this? Is this a subclass of “FramedSource” that you have
> written yourself - e.g., to deliver data from a device? What are you trying
> to do? And what is causing this ‘timeout’?
> Please, everybody - this is the second time today that we’ve seen a vague
> question with very few details about exactly how the “LIVE555 Streaming
> Media” code is being used. Please remember that this code is used by
> thousands of developers around the world, for a variety of different purposes
> - for developing media player clients, media servers (including network
> cameras), proxy servers, and probably many other ways as well.
> If you ask a question about the “LIVE555 Streaming Media” code, please try to
> be specific about exactly what you’re trying to use it for, and where you
> might be having a problem.
> Ross Finlayson
> Live Networks, Inc.
> http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel