summaryrefslogtreecommitdiff
path: root/butterfly
diff options
context:
space:
mode:
authorLouis-Francis Ratté-Boulianne <louis-francis.ratte-boulianne@collabora.co.uk>2010-07-26 12:41:41 +0200
committerLouis-Francis Ratté-Boulianne <louis-francis.ratte-boulianne@collabora.co.uk>2010-08-13 00:30:25 -0400
commit54c1b6beab58795e7044791a4846a023002159f0 (patch)
tree5199315585ac6f8ab144e069c179739ef6893426 /butterfly
parentdb1ae2589e3fa1418d45f6b20f798cbbc3531e36 (diff)
media: fixes for new papyon SIP stack
Remote codecs and candidates can be already received when initializing the stream handler.
Diffstat (limited to 'butterfly')
-rw-r--r--butterfly/channel/media.py6
-rw-r--r--butterfly/media/stream_handler.py7
2 files changed, 11 insertions, 2 deletions
diff --git a/butterfly/channel/media.py b/butterfly/channel/media.py
index f2d6e24..3d37cb0 100644
--- a/butterfly/channel/media.py
+++ b/butterfly/channel/media.py
@@ -56,7 +56,6 @@ class ButterflyMediaChannel(
telepathy.server.ChannelInterfaceMediaSignalling.__init__(self)
papyon.event.CallEventInterface.__init__(self, call)
papyon.event.ContactEventInterface.__init__(self, conn.msn_client)
- papyon.event.MediaSessionEventInterface.__init__(self, call.media_session)
ButterflyChannel.__init__(self, conn, props)
self._call = call
@@ -99,6 +98,11 @@ class ButterflyMediaChannel(
if types:
self.RequestStreams(handle, types)
+ for stream in call.media_session._streams:
+ self.on_stream_created(stream)
+ self.on_stream_added(stream)
+ papyon.event.MediaSessionEventInterface.__init__(self, call.media_session)
+
def Close(self):
logger.info("Channel closed by client")
self._call.end()
diff --git a/butterfly/media/stream_handler.py b/butterfly/media/stream_handler.py
index a4df23e..f4b4ead 100644
--- a/butterfly/media/stream_handler.py
+++ b/butterfly/media/stream_handler.py
@@ -59,7 +59,6 @@ class ButterflyStreamHandler (
telepathy.server.DBusProperties.__init__(self)
telepathy.server.MediaStreamHandler.__init__(self, connection._name, path)
- papyon.event.MediaStreamEventInterface.__init__(self, stream)
self._implement_property_get(telepathy.interfaces.MEDIA_STREAM_HANDLER,
{'CreatedLocally': lambda: self.created_locally,
@@ -67,6 +66,12 @@ class ButterflyStreamHandler (
'STUNServers': lambda: self.stun_servers,
'RelayInfo': lambda: self.relay_info})
+ if stream._remote_candidates:
+ self.on_remote_candidates_received(stream._remote_candidates)
+ if stream._remote_codecs:
+ self.on_remote_codecs_received(stream._remote_codecs)
+ papyon.event.MediaStreamEventInterface.__init__(self, stream)
+
@property
def id(self):
return self._id