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

Reply via email to