Don't send audio/video data before session acceptance.
This commit is contained in:
parent
5a1a36e348
commit
e141d7875a
1 changed files with 13 additions and 7 deletions
|
@ -816,10 +816,14 @@ class JingleRTPContent(JingleContent):
|
||||||
|
|
||||||
self.candidates_ready = False # True when local candidates are prepared
|
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['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'] += [self.__stop]
|
||||||
self.callbacks['session-terminate-sent'] += [self.__stop]
|
self.callbacks['session-terminate-sent'] += [self.__stop]
|
||||||
|
|
||||||
|
@ -888,10 +892,6 @@ class JingleRTPContent(JingleContent):
|
||||||
reason = xmpp.Node('reason')
|
reason = xmpp.Node('reason')
|
||||||
reason.setTag('failed-transport')
|
reason.setTag('failed-transport')
|
||||||
self.session._session_terminate(reason)
|
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':
|
elif name == 'farsight-error':
|
||||||
print 'Farsight error #%d!' % message.structure['error-no']
|
print 'Farsight error #%d!' % message.structure['error-no']
|
||||||
print 'Message: %s' % message.structure['error-msg']
|
print 'Message: %s' % message.structure['error-msg']
|
||||||
|
@ -899,6 +899,12 @@ class JingleRTPContent(JingleContent):
|
||||||
else:
|
else:
|
||||||
print name
|
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):
|
def __getRemoteCodecsCB(self, stanza, content, error, action):
|
||||||
''' Get peer codecs from what we get from peer. '''
|
''' Get peer codecs from what we get from peer. '''
|
||||||
if self.got_codecs:
|
if self.got_codecs:
|
||||||
|
|
Loading…
Add table
Reference in a new issue