Hi, I'm streaming videos from an RTSP on demand server with LiveMedia.
I wrote my own "FramedSource" subclass and my own "OnDemandServerMediaSubsession" subclass in order to stream frames acquired from my live source, rather than from a file. This solution streams correctly, but when I close my client and it sends a TEARDOWN message to the server, the server crashes with SIGABRT and a message of "rtspServer: munmap_chunk(): invalid pointer: 0x08193dc0 ***". Further investigation leads me to locate the offending instruction in MediaSink.cpp OutPacketBuffer::~OutPacketBuffer() method. In particular, the signal is generated when I try to execute the instruction delete[] fBuf; The method is called respectively by ~H263plusVideoRTPSink destroyer function, called by MediaLookupTable::remove method. Why does it happen? the only interaction I have with H263plusVideoRTPSink is when i create it in createNewRTPSink, defined in my OnDemandServerMediaSubsession subclass, like this: RTPSink* EncH263plusVideoFileServerMediaSubsession:: createNewRTPSink(Groupsock* rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, FramedSource* inputSource) { return H263plusVideoRTPSink::createNew(envir(), rtpGroupsock, rtpPayloadTypeIfDynamic); } Is it the correct way to create the sink? And what could cause the corrupt or double-delete in ~OutPacketBuffer? Thanks in advance, Best Regards, Cristiano. -- Belloni Cristiano Imavis Srl. www.imavis.com <http://www.imavis.com> [EMAIL PROTECTED] <mailto://[EMAIL PROTECTED]> _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel