Don't send audio/video data before session acceptance.
This commit is contained in:
parent
5a1a36e348
commit
e141d7875a
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue