Don't send audio/video data before session acceptance.

This commit is contained in:
Thibaut GIRKA 2009-09-26 23:07:09 +02:00
parent 5a1a36e348
commit e141d7875a
1 changed files with 13 additions and 7 deletions

View File

@ -816,10 +816,14 @@ class JingleRTPContent(JingleContent):
self.candidates_ready = False # True when local candidates are prepared
self.callbacks['content-accept'] += [self.__getRemoteCodecsCB]
self.callbacks['content-add'] += [self.__getRemoteCodecsCB]
self.callbacks['session-accept'] += [self.__getRemoteCodecsCB]
self.callbacks['session-initiate'] += [self.__getRemoteCodecsCB]
self.callbacks['content-add'] += [self.__getRemoteCodecsCB]
self.callbacks['content-accept'] += [self.__getRemoteCodecsCB,
self.__contentAcceptCB]
self.callbacks['session-accept'] += [self.__getRemoteCodecsCB,
self.__contentAcceptCB]
self.callbacks['session-accept-sent'] += [self.__contentAcceptCB]
self.callbacks['content-accept-sent'] += [self.__contentAcceptCB]
self.callbacks['session-terminate'] += [self.__stop]
self.callbacks['session-terminate-sent'] += [self.__stop]
@ -888,10 +892,6 @@ class JingleRTPContent(JingleContent):
reason = xmpp.Node('reason')
reason.setTag('failed-transport')
self.session._session_terminate(reason)
elif state == farsight.STREAM_STATE_READY:
#TODO: farsight.DIRECTION_BOTH only if senders='both'
self.p2pstream.set_property('direction', farsight.DIRECTION_BOTH)
self.session.content_negociated(self.media)
elif name == 'farsight-error':
print 'Farsight error #%d!' % message.structure['error-no']
print 'Message: %s' % message.structure['error-msg']
@ -899,6 +899,12 @@ class JingleRTPContent(JingleContent):
else:
print name
def __contentAcceptCB(self, stanza, content, error, action):
if self.accepted:
#TODO: farsight.DIRECTION_BOTH only if senders='both'
self.p2pstream.set_property('direction', farsight.DIRECTION_BOTH)
self.session.content_negociated(self.media)
def __getRemoteCodecsCB(self, stanza, content, error, action):
''' Get peer codecs from what we get from peer. '''
if self.got_codecs: