Difference between revisions of "KTp/Components/Call UI"

< KTp
Jump to: navigation, search
(Dependency hell)
Line 1: Line 1:
==The plan==
 
 
* The current code is wrong by design, needs to be replaced.
 
 
* Build a simple Qt library that exports the whole call application logic with a QML-izable interface, using QtGStreamer/farsight/farsight utils/telepathy-qt4.
 
 
* Build a GUI that possibly consists of a standard KXmlGuiWindow that embeds a QDeclarativeView, which implements the call GUI.
 
 
===Blockers===
 
 
* Needs telepathy-qt4 to export interfaces for the Call spec.
 
** tp-qt4-yell exports them now. will soon be merged to tp-qt4.
 
* Needs a QML video widget in QtGStreamer.
 
** this is work in progress.
 
** we need it if and only if we build the interface using QML.
 
 
===GUI Ideas===
 
 
* [http://cgit.collabora.com/git/user/asoliver/kde-telepathy-callhandler/ Alvaro's mockup]
 
 
* [https://bugzilla.gnome.org/show_bug.cgi?id=629902 empathy's new call UI mockup]
 
 
 
== Dependency hell ==
 
== Dependency hell ==
  
 
* telepathy-qt:
 
* telepathy-qt:
 
** Provides Qt high level api to telepathy.
 
** Provides Qt high level api to telepathy.
** http://cgit.freedesktop.org/telepathy/telepathy-qt4/
+
** http://cgit.freedesktop.org/telepathy/telepathy-qt/
 
+
** Required version: >= 0.9.1
* telepathy-qt-yell:
+
** Note: This must be built with farstream support, so before building it make sure you have farstream, telepathy-farstream, telepathy-glib and gstreamer (core and base plugins) installed.
** Provides Qt high level api for the Call interface (will be merged to tp-qt at some point)
+
** http://cgit.freedesktop.org/telepathy/telepathy-qt4-yell/
+
  
 
* qt-gstreamer:
 
* qt-gstreamer:
 
** Provides Qt bindings for GStreamer
 
** Provides Qt bindings for GStreamer
 
** http://cgit.freedesktop.org/gstreamer/qt-gstreamer
 
** http://cgit.freedesktop.org/gstreamer/qt-gstreamer
 +
** Required version: git master (unreleased 0.10.2)
  
 
* farstream:
 
* farstream:
 
** This is the library and gstreamer elements that do the actual media streaming.
 
** This is the library and gstreamer elements that do the actual media streaming.
 
** http://cgit.collabora.com/git/farstream.git/
 
** http://cgit.collabora.com/git/farstream.git/
 +
** Required version: >= 0.1.0
  
 
* telepathy-farstream:
 
* telepathy-farstream:
** Provides the glue between telepathy CMs and farsight2/farstream.
+
** Provides the glue between telepathy CMs and farstream.
 
** http://cgit.freedesktop.org/telepathy/telepathy-farstream/  
 
** http://cgit.freedesktop.org/telepathy/telepathy-farstream/  
** (Note: use the telepathy-farstream-0.1 branch with farsight2 / master is to be used with farstream)
+
** Required version: >= 0.2.2
  
 +
* telepathy-gabble:
 +
** XMPP connection manager
 +
** http://cgit.freedesktop.org/telepathy/telepathy-gabble/
 +
** Required version: >= 0.15.4
  
=== How it all blends together ===
+
* ktp-contact-list and/or ktp-text-ui and/or ktp-contact-applet
 +
** Provide the buttons to start audio/video calls :P
 +
** Required version: git master (unreleased 0.4)
  
telepathy-qt-yell provides the Tpy::CallChannel class, which wraps the Channel.Type.Call d-bus object. From this object, we create a TfChannel (provided by tp-farstream) and we wrap it in a QTf::Channel object (provided by libqtf inside the call-ui repository; this is qt-gstreamer based bindings for tp-farstream). This TfChannel object does all the internal communication with the CM and constructs some GStreamer bin (using farsight2/farstream internally) that will do all the streaming. On this bin, we connect our GStreamer sources and sinks using the QtGStreamer API.
+
==GUI Ideas==
 +
 
 +
* [http://cgit.collabora.com/git/user/asoliver/kde-telepathy-callhandler/ Alvaro's mockup]
 +
* [https://bugzilla.gnome.org/show_bug.cgi?id=629902 empathy's new call UI mockup]

Revision as of 23:17, 28 March 2012

Dependency hell

  • telepathy-qt:
    • Provides Qt high level api to telepathy.
    • http://cgit.freedesktop.org/telepathy/telepathy-qt/
    • Required version: >= 0.9.1
    • Note: This must be built with farstream support, so before building it make sure you have farstream, telepathy-farstream, telepathy-glib and gstreamer (core and base plugins) installed.
  • ktp-contact-list and/or ktp-text-ui and/or ktp-contact-applet
    • Provide the buttons to start audio/video calls :P
    • Required version: git master (unreleased 0.4)

GUI Ideas


Content is available under Creative Commons License SA 4.0 unless otherwise noted.