KDE voice/video communication abstraction?

George Kiagiadakis kiagiadakis.george at gmail.com
Sat Jun 16 14:02:55 UTC 2012


On Fri, Jun 15, 2012 at 10:28 PM, George Goldberg
<grundleborg at googlemail.com> wrote:
> On 15 June 2012 20:23, Emmanuel Lepage
> <emmanuel.lepage at savoirfairelinux.com> wrote:
>> Ok, so ConnectionManagers can support all features, configuration, parent/child communication node? Can I re-use some of my Qt/C++ code or I really have to go GObject + C? Do you have advices for me, good example (I found a few like this one http://cgit.freedesktop.org/telepathy/telepathy-salut/tree/src/connection-manager.c http://telepathy.freedesktop.org/doc/book/sect.connection.connection-manager.html). Is it a case of "the documentation is the code" or is there a step by step page to introduce me to ConnectionManagers and telepathy design.
>
> The telepathy book I believe is focused on writing clients (that page
> you've linked is part of the client side-library, so on the other side
> of the abstraction layer to connection managers).  All the connection
> managers that I know of are written in C/GObject, but there's nothing
> theoretically stopping you writing one in Qt.  It's just that a lot of
> the convenience and helper code that's in the telepathy glib library
> won't be available to you.  However, Olli or George K would know far
> more than me about how hard it would be to write a connection manager
> in Qt, so I'll leave it to them to comment officially.
>

As I said in a previous mail, we have some really basic support for
writing CMs in telepathy-qt, but it is not enough even for writing the
most simple non-example connection manager without using the low-level
interfaces. This basically means that you need to go very low level
and implement the dbus interfaces directly, which of course doesn't
mean it's not possible, but it would probably take more time than
writing it with telpeathy-glib. Especially for a case like SFLPhone
where you would need to implement the service-side of the various Call
interfaces, I think it would be better to use telepathy-glib. You can
of course mix Qt and GLib, there is no problem with that. Wrapping the
glib parts with Qt classes can make the job much more pleasant and
easy.

I don't really know if there is any good documentation/guide about
this stuff... The best documentation is probably the telepathy spec -
http://telepathy.freedesktop.org/spec/

Back to the previous discussion, though, I was wondering how SFLPhone
deals with media devices and media streaming. Is it all done inside
the daemon? If yes, how does it deal with displaying video on the UI?
In Telepathy, originally, the idea was to let the connection manager
do everything (including streaming and handling of devices), however
the only way to have video was to let the daemon open an X window and
have the UI embed it, which was a terrible non-portable and
non-expandable design. So, in later versions of the spec, it was
decided to let the UI do all the media handling. My point is, that
even if you try to do a KDE UI abstraction layer, it is difficult to
achieve it, because the UI needs to be aware of the media streaming
pipeline - more or less.


More information about the KDE-Telepathy mailing list