Hi.
- MultiFramedRTPSource::networkReadHandler1() gets freePacket when it is
called. (now fSavedPacketFree==False)
- usually it will call fReorderingBuffer->freePacket(bPacket); either directly
or indirectly at the end,
- however if packetReadWasIncomplete function exits earlier. At this point
fPacketReadInProgress holds the allocated packet, and fSavedPacketFree==False
- if close() is called at this point
MultiFramedRTPSource::doStopGettingFrames() will call
ReorderingPacketBuffer::reset(), but since fSavedPacketFree==False, delete
fSavedPacket won’t happen.
Suggested patch:
@@ -105,6 +105,10 @@
}
void MultiFramedRTPSource::doStopGettingFrames() {
+ if (fPacketReadInProgress != NULL) {
+ fReorderingBuffer->freePacket(fPacketReadInProgress);
+ fPacketReadInProgress = NULL;
+ }
envir().taskScheduler().unscheduleDelayedTask(nextTask());
fRTPInterface.stopNetworkReading();
fReorderingBuffer->reset();
_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel