r3269 - trunk/libminisip/source/subsystem_media
svn at minisip.org
svn at minisip.org
Wed May 9 13:59:11 CEST 2007
Author: erik
Date: 2007-05-08 15:27:54 +0200 (Tue, 08 May 2007)
New Revision: 3269
Modified:
trunk/libminisip/source/subsystem_media/AudioMedia.cxx
Log:
* Bug fix: Check so that a MediaSender is not added more than once to
AudioMedia.
If more than one SDP packet was received in a session, then
MediaSender::start() was called multiple times, and the MediaSender
was added for each SDP. The result was that each frame was sent
twice (two different RTPs where the sequence number was increased
for each packet).
Modified: trunk/libminisip/source/subsystem_media/AudioMedia.cxx
===================================================================
--- trunk/libminisip/source/subsystem_media/AudioMedia.cxx 2007-05-03 13:50:10 UTC (rev 3268)
+++ trunk/libminisip/source/subsystem_media/AudioMedia.cxx 2007-05-08 13:27:54 UTC (rev 3269)
@@ -104,7 +104,15 @@
sendersLock.lock();
}
- senders.push_back( sender );
+ //Don't add if it's already in the list. This is so that we support
+ //multiple calls to MediaStream::start().
+ bool found=false;
+ list<MRef<MediaStreamSender *> >::iterator i;
+ for (i=senders.begin(); i!=senders.end(); i++)
+ if ( *i == sender)
+ found = true;
+ if (!found)
+ senders.push_back( sender );
sendersLock.unlock();
}
More information about the Minisip-devel
mailing list