r3286 - in trunk/libminisip: include/libminisip/media source/subsystem_media

erik at minisip.org erik at minisip.org
Tue May 22 16:53:47 CEST 2007


Author: erik
Date: 2007-05-22 16:53:46 +0200 (Tue, 22 May 2007)
New Revision: 3286

Modified:
   trunk/libminisip/include/libminisip/media/Session.h
   trunk/libminisip/source/subsystem_media/AudioMedia.cxx
   trunk/libminisip/source/subsystem_media/Session.cxx
Log:
 * Added a check so that we only "start()" a session once.
 * Fix a bug that made SoundSources not unRegisterSource
   correctly. This was introduced earlier today (now things seems 
   ok again).



Modified: trunk/libminisip/include/libminisip/media/Session.h
===================================================================
--- trunk/libminisip/include/libminisip/media/Session.h	2007-05-22 13:31:29 UTC (rev 3285)
+++ trunk/libminisip/include/libminisip/media/Session.h	2007-05-22 14:53:46 UTC (rev 3286)
@@ -255,6 +255,7 @@
 		MRef<MObject *> callRecorder;
 
 	private:
+		bool started;
 		void addStreams();
 
 		std::string peerUri;

Modified: trunk/libminisip/source/subsystem_media/AudioMedia.cxx
===================================================================
--- trunk/libminisip/source/subsystem_media/AudioMedia.cxx	2007-05-22 13:31:29 UTC (rev 3285)
+++ trunk/libminisip/source/subsystem_media/AudioMedia.cxx	2007-05-22 14:53:46 UTC (rev 3286)
@@ -139,7 +139,6 @@
 
 void AudioMedia::unRegisterMediaSource( uint32_t ssrc ){
 	std::list< MRef<AudioMediaSource *> >::iterator iSource;
-	//cerr << "AudioMedia::unRegisterMediaSource" << endl;
 
 	soundIo->unRegisterSource( ssrc );
 
@@ -264,7 +263,7 @@
 
 
 AudioMediaSource::AudioMediaSource( uint32_t ssrc_, MRef<Media *> m):
-	BasicSoundSource( ssrc, 
+	BasicSoundSource( ssrc_, 
 			NULL, //plc
 			0/*position*/, 
 			SOUND_CARD_FREQ, 

Modified: trunk/libminisip/source/subsystem_media/Session.cxx
===================================================================
--- trunk/libminisip/source/subsystem_media/Session.cxx	2007-05-22 13:31:29 UTC (rev 3285)
+++ trunk/libminisip/source/subsystem_media/Session.cxx	2007-05-22 14:53:46 UTC (rev 3286)
@@ -112,14 +112,15 @@
 SessionRegistry * Session::registry = NULL;
 MRef<KeyAgreement *> Session::precomputedKa = NULL;
 
-Session::Session( string localIp, /*SipDialogSecurityConfig &securityConfig*/ MRef<SipIdentity*> ident, string localIp6 ):localIpString(localIp), localIp6String(localIp6){
-//	this->securityConfig = securityConfig; // hardcopy
+Session::Session( string localIp, MRef<SipIdentity*> ident, string localIp6 ):
+		started(false),
+		localIpString(localIp), 
+		localIp6String(localIp6)
+{
 	identity = ident;
-// 	secured = ident->securityEnabled;
 	ka_type = ident->ka_type;
 
 	dtmfTOProvider = new TimeoutProvider<DtmfEvent *, MRef<DtmfSender *> >;
-// 	this->ka = Session::precomputedKa;
 	Session::precomputedKa = NULL;
 
 	mutedSenders = true;
@@ -819,6 +820,10 @@
 }
 
 void Session::start(){
+	if (started)
+		return;
+	started=true;
+	
 	list< MRef<MediaStreamSender * > >::iterator iS;
 	list< MRef<MediaStreamReceiver * > >::iterator iR;
 
@@ -868,6 +873,7 @@
 }
 
 void Session::stop(){
+	started=false;
 	list< MRef<MediaStreamSender * > >::iterator iS;
 	list< MRef<MediaStreamReceiver * > >::iterator iR;
 



More information about the Minisip-devel mailing list