When determining if you should deliver a frame, you need to check if Live555 is waiting for one. Something like this in your FramedSource subclass:
//====================================================================
// Deliver a frame from the RTSPSource object.
//====================================================================
void CameraFramedSource::DeliverFrame ()
{
byte *frameData;
unsigned frameSize;
if (isCurrentlyAwaitingData ())
{
if (_encodedSource->GetFrame (&frameData,
&frameSize, &_ulLastFrameSent))
{
try
{
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;
}
catch (...) { }
}
}
}
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel
