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

< KTp
Jump to: navigation, search
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==The plan==
+
{{:KTp/Header}}
 
+
* 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://git.collabora.co.uk/?p=user/asoliver/kde-telepathy-callhandler/.git;a=summary 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: >= 0.10.2
  
* farsight2 (soon to be 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/farsight2.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.
+
== Other Troubleshooting ==
 +
 
 +
If you have farsight installed, it won't work. Remove it.
 +
 
 +
Farstream has to be installed to a location detectable by gstreamer (in my case /usr/)
 +
 
 +
Start the call-ui manually with --debug --persist to get helpful info.
 +
 
 +
==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]

Latest revision as of 01:14, 10 November 2012

telepathy-kde_med.png

Welcome to the KDE Telepathy Development Wiki

Current Version: 0.9.0
     project_partner_badge.gif
     commits_spark.pngStats at ohloh.net

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)

Other Troubleshooting

If you have farsight installed, it won't work. Remove it.

Farstream has to be installed to a location detectable by gstreamer (in my case /usr/)

Start the call-ui manually with --debug --persist to get helpful info.

GUI Ideas


This page was last modified on 10 November 2012, at 01:14. Content is available under Creative Commons License SA 4.0 unless otherwise noted.