[Telepathy-commits] [telepathy-qt4/master] StreamedMediaChannel: Added streamsForType method.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Thu Mar 19 16:55:07 PDT 2009


---
 TelepathyQt4/Client/streamed-media-channel.cpp |   19 +++++++++++++++++++
 TelepathyQt4/Client/streamed-media-channel.h   |    1 +
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/TelepathyQt4/Client/streamed-media-channel.cpp b/TelepathyQt4/Client/streamed-media-channel.cpp
index 6c71c6f..b3b30a1 100644
--- a/TelepathyQt4/Client/streamed-media-channel.cpp
+++ b/TelepathyQt4/Client/streamed-media-channel.cpp
@@ -563,6 +563,25 @@ MediaStreams StreamedMediaChannel::streams() const
     return mPriv->streams.values();
 }
 
+MediaStreams StreamedMediaChannel::streamsForType(Telepathy::MediaStreamType type) const
+{
+    if (!isReady(FeatureStreams)) {
+        warning() << "Trying to retrieve streams from streamed media channel, but "
+                     "streams was not requested or the request did not finish yet. "
+                     "Use becomeReady(FeatureStreams)";
+        return MediaStreams();
+    }
+
+    QHash<uint, MediaStreamPtr> allStreams = mPriv->streams;
+    MediaStreams streams;
+    foreach (const MediaStreamPtr &stream, allStreams) {
+        if (stream->type() == type) {
+            streams.append(stream);
+        }
+    }
+    return streams;
+}
+
 bool StreamedMediaChannel::awaitingLocalAnswer() const
 {
     return groupSelfHandleIsLocalPending();
diff --git a/TelepathyQt4/Client/streamed-media-channel.h b/TelepathyQt4/Client/streamed-media-channel.h
index f28700b..38eebbc 100644
--- a/TelepathyQt4/Client/streamed-media-channel.h
+++ b/TelepathyQt4/Client/streamed-media-channel.h
@@ -139,6 +139,7 @@ public:
     ~StreamedMediaChannel();
 
     MediaStreams streams() const;
+    MediaStreams streamsForType(Telepathy::MediaStreamType type) const;
 
     bool awaitingLocalAnswer() const;
     bool awaitingRemoteAnswer() const;
-- 
1.5.6.5




More information about the telepathy-commits mailing list