[Live-devel] Handling RTCP Goodbye packet with OpenRTSP

david cailliere davidcailliere at voila.fr
Fri Dec 3 10:27:38 PST 2010


Dear Ross,

> The call to Medium::close(subsession->sink);
> in "subsessionAfterPlaying()" should be causing
> AMRDeinterleaver::doStopGettingFrames()
> to get called, and that should in turn be stopping the reception (and 
> thus handling) of any more AMR/RTP packets.

Actually, the call to AMRDeinterleaver::doStopGettingFrames() does not ensure that the reception is stopped in every case. Sometimes the fNeedAFrame attribute can be set to true when the input source is still waiting for some RTP packet.

The rewritting of the function AMRDeinterleaver::doStopGettingFrames as below should fix the issue.
 

void AMRDeinterleaver::doStopGettingFrames() {
  fNeedAFrame = False;
  fInputSource->stopGettingFrames();
}

Since that modification, I did not manage to rash OpenRTSP anymore :-) 

I don't know whether the issue only concerns AMRDeinterleaver class.

Regards,

David


____________________________________________________

  Prenez de l'avance pour vos cadeaux de Noël, découvrez notre sélection sur Voila :  http://actu.voila.fr/evenementiel/noel-2010/boutique/






More information about the live-devel mailing list