I'm using the Live555 API for my RTSP server, and have not experienced this
issue. I have several sources with varying frame rates between 8 and 30fps
running on the same server. I'm triggering Live555 whenever a packet is
available from the encoder, and have yet to experience the "not ready for the
data yet" error. Here's my DeliverFrame method (CameraFrameSource is a
FramedSource), which is called by both the trigger event and the overridden
doGetNextFrame method (you DO have an overridden doGetNextFrame method, right?):
//====================================================================
// Deliver a frame from the RTSPSource object.
//====================================================================
void CameraFrameSource::DeliverFrame ()
{
byte *frameData;
unsigned frameSize;
if (isCurrentlyAwaitingData ())
{
if (_encodedSource->GetFrame (&frameData, &frameSize,
&_ulLastFrameSent))
{
if (frameSize > 0 && frameData != nullptr)
{
if (frameSize > fMaxSize)
{
fFrameSize = fMaxSize;
fNumTruncatedBytes = frameSize -
fMaxSize;
}
else
{
fFrameSize = frameSize;
fNumTruncatedBytes = 0;
}
SetPresentationTime (_ulLastFrameSent);
if (SafeMemCopy (fTo, frameData, frameSize))
FramedSource::afterGetting (this);
}
_encodedSource->ReleaseFrame ();
++_ulFramesDelivered;
}
}
}
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel