Discussion on FarSight

George Staikos staikos at kde.org
Wed Jun 8 17:08:07 BST 2005


Video is such a complex thing.   I'm not sure I see kdetv switching to 
anything else since its TV code is basically "done".  it's also plugin based 
and designed to work well specifically with what kdetv needs.  It was however 
designed to be a generic library for doing I/O from video sources to video 
displays.  It's not the right choice for everything, and I'm sure this 
gstreamer based stuff is the right choice for some things.

A KDE-wide setup would be -great-.  However it needs (MUST) have a 
KDE-friendly API and be easy to use with Qt and other KDE APIs.

On Wednesday 08 June 2005 09:33, Duncan Mac-Vicar P. wrote:
> There is a discussion ongoing on farsight (gstreamer based) for Kopete.
> I am passing this for whose are interested in discussion (which can also
> touch other issues about a video framework for KDE for other apps, ie:
> kwintv)
>
> I am mailing all possible interested people, as I am not of the multimedia
> area, I am trying to coordinate efforts so we don't duplicate stuff or
> import random libraries in Kopete tree (like libmimic). Whose interested
> can subscribe to fasight-devel at sf.net.
>
> Rob Taylor offered all his help on this. Taupter is already coding a video
> framework / Kopete cfg module, Bille is interested in this stuff at a wider
> level (desktop), and Engin have a GStreamer GUI wrappers (mail already
> posted on KDE-Multimedia). Please forward this mail to those who are
> interested on discussing this topic.
>
> cheers
> Duncan
>
> Here is a copy of the informal talk that happened when Rob joined #kopete.
>
> [08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
> [08:51] <domme> hello :)
> [08:52] <duncanmv> robtaylor: what?
> [08:52] <duncanmv> yes, we are evaluating farsight for our needs
> [08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
> [08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and
> Gof are the guys to discuss this.
> [08:53] <robtaylor> afaik, noone has written an open source qcelp codec.
> the standard is available, and we should be able to mangle speex to fit the
> task, given the information. thats kinda a seperate issue and we can work
> together on that anyhow ;)
> [08:53] <duncanmv> what is qcelp?
> [08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
> hard
> [08:53] <duncanmv> we don't know nothing axcept we are not going to import
> libmimic in our tree :-)
> [08:54] <robtaylor> duncanmv: sorry. i miss read my logs
> [08:54] <robtaylor> =)
> [08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see
> ;)) [08:54] <duncanmv> we will have probably to use farsight, but at what
> point? [08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
> [08:55] <robtaylor> duncanmv: audio
> [08:55] <domme> ah ok :)
> [08:55] <duncanmv> robtaylor: well, we will need all of them at same point
> [08:55] <domme> aim does support audiochat?
> [08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
> use farsight ;)
> [08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
> [08:55] <robtaylor> duncanmv: probably borken in cvs atm
> [08:55] <duncanmv> and it didn't compile because missing header #ifndef
> THISHEADER_H #define THISHEADER_H #endif missings
> [08:56] <robtaylor> =/
> [08:56] <domme> duncanmv: what is farsight?
> [08:56] <duncanmv> anyway, the problem of FS we don't know how much of it
> are we forced to use
> [08:56] <robtaylor> duncanmv: oh? which file?
> [08:56] <duncanmv> farsight-plugin.h IIRC
> [08:56] <domme> http://sourceforge.net/projects/farsight/ this?
> [08:56] <duncanmv> yes
> [08:57] <robtaylor> duncanmv: well, the interface is ridculously simple,
> and i'd be happy to write a c++ wrapper ifyou want that
> [08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
> probably we want to do our own video4linux grabbing
> [08:57] <robtaylor> why?
> [08:57] <duncanmv> probably we want the codecs stuff, but we want to send
> the data using KDE socket classes, etc
> [08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
> [08:57] <robtaylor> why?
> [08:57] <robtaylor> it uses gstreamer
> [08:57] <robtaylor> thats fundamental
> [08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
> [08:58] <robtaylor> i dont see where you'd want to use kde socket classes
> =) [08:58] <duncanmv> robtaylor: does it detect the video4linux device?
> [08:58] <duncanmv> robtaylor: sending webcam?
> [08:58] <robtaylor> duncanmv: farsight returns back a gst bin
> [08:58] <duncanmv> what is a "bin"?
> [08:58] <robtaylor> you then connect that up to your available devices
> [08:59] <robtaylor> a partially constructed pipeline
> [08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
> Kopete
> [08:59] <duncanmv> right now it detects video4linux devices and have a
> config module to configure it
> [08:59] <robtaylor> to do what bit?
> [08:59] <robtaylor> cool
> [09:00] <-- Bille has left this server. (Remote closed the connection)
> [09:00] <duncanmv> I think you can help him to integrate it with farsight
> [09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
> avdevice framowork to choose the ciorrect gstreamer elements
> [09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
> farsight/gstreamer image
> [09:00] <robtaylor> and connect it up to the bin returned by farsight
> [09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
> [09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly
> glib C code in Kopete
> [09:01] <duncanmv> and keep it as a compile time / runtime dependancy
> [09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for
> gstreamer. [09:01] <duncanmv> robtaylor: do you use Kopete?
> [09:01] <robtaylor> nope
> [09:01] <duncanmv> gaim ;-)
> [09:01] <robtaylor> for my sins
> [09:01] --> Bille has joined this channel.
> (~wstephens at charybdis-ext.suse.de) [09:01] <duncanmv> well, but are you
> interested in Kopete using farsight? [09:02] <duncanmv> in that case I
> suggest you, Engin and Taupter, exchange a couple of mails that help to
> make video roadmap more clear
> [09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
> for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will
> be inetrsted in it if it comes about :)
> [09:02] <robtaylor> duncanmv: you're the closest to being able to use it
> [09:03] <robtaylor> duncanmv: what timezone is taupter?
> [09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
> framework which could moved to kdelibs later if we design it correctly
> [09:03] <duncanmv> but fot that we will need your help
> [09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs
> for automatic device detection :/
> [09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
> [09:03] <duncanmv> and taupter is...
> [09:04] <Bille> robtaylor: desktop wide IM framework eh?  want to talk
> about it?  I work on same for KDE.
> [09:04] <duncanmv> Cláudio da Silveira Pinheiro   <taupter at gmail.com>
> [09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
> which requires gstreamer.
> [09:05] <robtaylor> Bille: ooh :) very much so... see
> http://farsight.sourceforge.net/convframework.dia
> [09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some
> kind of mail exchange between you 4
> [09:05] <Bille> duncanmv: i saw.  not my area of expertise.  but i'd be
> interested in hearing how robtaylor is approaching the same problems we
> have in kimproxy
> [09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for
> you [09:06] <robtaylor> Bille: the idea is to unify IM and voip
> [09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
> and that probbably we will realize somemoment we will need to implement a
> gstreamer clone ;-)
> [09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv
> that george staikos says is intended for kdelibs
> [09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its
> a complictated task
> [08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
> [08:51] <domme> hello :)
> [08:52] <duncanmv> robtaylor: what?
> [08:52] <duncanmv> yes, we are evaluating farsight for our needs
> [08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
> [08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and
> Gof are the guys to discuss this.
> [08:53] <robtaylor> afaik, noone has written an open source qcelp codec.
> the standard is available, and we should be able to mangle speex to fit the
> task, given the information. thats kinda a seperate issue and we can work
> together on that anyhow ;)
> [08:53] <duncanmv> what is qcelp?
> [08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
> hard
> [08:53] <duncanmv> we don't know nothing axcept we are not going to import
> libmimic in our tree :-)
> [08:54] <robtaylor> duncanmv: sorry. i miss read my logs
> [08:54] <robtaylor> =)
> [08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see
> ;)) [08:54] <duncanmv> we will have probably to use farsight, but at what
> point? [08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
> [08:55] <robtaylor> duncanmv: audio
> [08:55] <domme> ah ok :)
> [08:55] <duncanmv> robtaylor: well, we will need all of them at same point
> [08:55] <domme> aim does support audiochat?
> [08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
> use farsight ;)
> [08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
> [08:55] <robtaylor> duncanmv: probably borken in cvs atm
> [08:55] <duncanmv> and it didn't compile because missing header #ifndef
> THISHEADER_H #define THISHEADER_H #endif missings
> [08:56] <robtaylor> =/
> [08:56] <domme> duncanmv: what is farsight?
> [08:56] <duncanmv> anyway, the problem of FS we don't know how much of it
> are we forced to use
> [08:56] <robtaylor> duncanmv: oh? which file?
> [08:56] <duncanmv> farsight-plugin.h IIRC
> [08:56] <domme> http://sourceforge.net/projects/farsight/ this?
> [08:56] <duncanmv> yes
> [08:57] <robtaylor> duncanmv: well, the interface is ridculously simple,
> and i'd be happy to write a c++ wrapper ifyou want that
> [08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
> probably we want to do our own video4linux grabbing
> [08:57] <robtaylor> why?
> [08:57] <duncanmv> probably we want the codecs stuff, but we want to send
> the data using KDE socket classes, etc
> [08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
> [08:57] <robtaylor> why?
> [08:57] <robtaylor> it uses gstreamer
> [08:57] <robtaylor> thats fundamental
> [08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
> [08:58] <robtaylor> i dont see where you'd want to use kde socket classes
> =) [08:58] <duncanmv> robtaylor: does it detect the video4linux device?
> [08:58] <duncanmv> robtaylor: sending webcam?
> [08:58] <robtaylor> duncanmv: farsight returns back a gst bin
> [08:58] <duncanmv> what is a "bin"?
> [08:58] <robtaylor> you then connect that up to your available devices
> [08:59] <robtaylor> a partially constructed pipeline
> [08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
> Kopete
> [08:59] <duncanmv> right now it detects video4linux devices and have a
> config module to configure it
> [08:59] <robtaylor> to do what bit?
> [08:59] <robtaylor> cool
> [09:00] <-- Bille has left this server. (Remote closed the connection)
> [09:00] <duncanmv> I think you can help him to integrate it with farsight
> [09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
> avdevice framowork to choose the ciorrect gstreamer elements
> [09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
> farsight/gstreamer image
> [09:00] <robtaylor> and connect it up to the bin returned by farsight
> [09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
> [09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly
> glib C code in Kopete
> [09:01] <duncanmv> and keep it as a compile time / runtime dependancy
> [09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for
> gstreamer. [09:01] <duncanmv> robtaylor: do you use Kopete?
> [09:01] <robtaylor> nope
> [09:01] <duncanmv> gaim ;-)
> [09:01] <robtaylor> for my sins
> [09:01] --> Bille has joined this channel.
> (~wstephens at charybdis-ext.suse.de) [09:01] <duncanmv> well, but are you
> interested in Kopete using farsight? [09:02] <duncanmv> in that case I
> suggest you, Engin and Taupter, exchange a couple of mails that help to
> make video roadmap more clear
> [09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
> for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will
> be inetrsted in it if it comes about :)
> [09:02] <robtaylor> duncanmv: you're the closest to being able to use it
> [09:03] <robtaylor> duncanmv: what timezone is taupter?
> [09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
> framework which could moved to kdelibs later if we design it correctly
> [09:03] <duncanmv> but fot that we will need your help
> [09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs
> for automatic device detection :/
> [09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
> [09:03] <duncanmv> and taupter is...
> [09:04] <Bille> robtaylor: desktop wide IM framework eh?  want to talk
> about it?  I work on same for KDE.
> [09:04] <duncanmv> Cláudio da Silveira Pinheiro   <taupter at gmail.com>
> [09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
> which requires gstreamer.
> [09:05] <robtaylor> Bille: ooh :) very much so... see
> http://farsight.sourceforge.net/convframework.dia
> [09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some
> kind of mail exchange between you 4
> [09:05] <Bille> duncanmv: i saw.  not my area of expertise.  but i'd be
> interested in hearing how robtaylor is approaching the same problems we
> have in kimproxy
> [09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for
> you [09:06] <robtaylor> Bille: the idea is to unify IM and voip
> [09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
> and that probbably we will realize somemoment we will need to implement a
> gstreamer clone ;-)
> [09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv
> that george staikos says is intended for kdelibs
> [09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its
> a complictated task
> [08:51] <robtaylor> duncanmv: you wanted to chat gstreamer an qcelp?
> [08:51] <domme> hello :)
> [08:52] <duncanmv> robtaylor: what?
> [08:52] <duncanmv> yes, we are evaluating farsight for our needs
> [08:52] --> EricCartman has joined this channel. (~engin at EricCartman.user)
> [08:53] <duncanmv> I think taupter (not here now) and Engin Aydogan, and
> Gof are the guys to discuss this.
> [08:53] <robtaylor> afaik, noone has written an open source qcelp codec.
> the standard is available, and we should be able to mangle speex to fit the
> task, given the information. thats kinda a seperate issue and we can work
> together on that anyhow ;)
> [08:53] <duncanmv> what is qcelp?
> [08:53] <robtaylor> you probably dont want to reimplement gstreamer, thats
> hard
> [08:53] <duncanmv> we don't know nothing axcept we are not going to import
> libmimic in our tree :-)
> [08:54] <robtaylor> duncanmv: sorry. i miss read my logs
> [08:54] <robtaylor> =)
> [08:54] <robtaylor> (you'll need qcelp if you want to do ichat , you see
> ;)) [08:54] <duncanmv> we will have probably to use farsight, but at what
> point? [08:54] <duncanmv> robtaylor: qcelp is AIM video encoding?
> [08:55] <robtaylor> duncanmv: audio
> [08:55] <domme> ah ok :)
> [08:55] <duncanmv> robtaylor: well, we will need all of them at same point
> [08:55] <domme> aim does support audiochat?
> [08:55] <robtaylor> duncanmv: i'd like to see kopete as the first im app to
> use farsight ;)
> [08:55] <duncanmv> robtaylor: I tried to compile FS yesterday
> [08:55] <robtaylor> duncanmv: probably borken in cvs atm
> [08:55] <duncanmv> and it didn't compile because missing header #ifndef
> THISHEADER_H #define THISHEADER_H #endif missings
> [08:56] <robtaylor> =/
> [08:56] <domme> duncanmv: what is farsight?
> [08:56] <duncanmv> anyway, the problem of FS we don't know how much of it
> are we forced to use
> [08:56] <robtaylor> duncanmv: oh? which file?
> [08:56] <duncanmv> farsight-plugin.h IIRC
> [08:56] <domme> http://sourceforge.net/projects/farsight/ this?
> [08:56] <duncanmv> yes
> [08:57] <robtaylor> duncanmv: well, the interface is ridculously simple,
> and i'd be happy to write a c++ wrapper ifyou want that
> [08:57] <duncanmv> robtaylor: we probably want to use the codecs stuff, but
> probably we want to do our own video4linux grabbing
> [08:57] <robtaylor> why?
> [08:57] <duncanmv> probably we want the codecs stuff, but we want to send
> the data using KDE socket classes, etc
> [08:57] <duncanmv> if you make FS flexible enough, sure we will use it.
> [08:57] <robtaylor> why?
> [08:57] <robtaylor> it uses gstreamer
> [08:57] <robtaylor> thats fundamental
> [08:58] <duncanmv> I said not sure, because it is not discussed yet ;-)
> [08:58] <robtaylor> i dont see where you'd want to use kde socket classes
> =) [08:58] <duncanmv> robtaylor: does it detect the video4linux device?
> [08:58] <duncanmv> robtaylor: sending webcam?
> [08:58] <robtaylor> duncanmv: farsight returns back a gst bin
> [08:58] <duncanmv> what is a "bin"?
> [08:58] <robtaylor> you then connect that up to your available devices
> [08:59] <robtaylor> a partially constructed pipeline
> [08:59] <duncanmv> robtaylor: taupter is coding a avdevice framework for
> Kopete
> [08:59] <duncanmv> right now it detects video4linux devices and have a
> config module to configure it
> [08:59] <robtaylor> to do what bit?
> [08:59] <robtaylor> cool
> [09:00] <-- Bille has left this server. (Remote closed the connection)
> [09:00] <duncanmv> I think you can help him to integrate it with farsight
> [09:00] <robtaylor> ok, well the bext way (i see) to do this is use your
> avdevice framowork to choose the ciorrect gstreamer elements
> [09:00] <duncanmv> and Engin Aydogan, have a Qt widget to show
> farsight/gstreamer image
> [09:00] <robtaylor> and connect it up to the bin returned by farsight
> [09:00] <robtaylor> duncanmv: i've chatted to EricCartman a lot ;)
> [09:01] <duncanmv> yes, with correct wrapping we can avoid mixing uggly
> glib C code in Kopete
> [09:01] <duncanmv> and keep it as a compile time / runtime dependancy
> [09:01] <robtaylor> heh, yeah, we need some nice qtish wrappers for
> gstreamer. [09:01] <duncanmv> robtaylor: do you use Kopete?
> [09:01] <robtaylor> nope
> [09:01] <duncanmv> gaim ;-)
> [09:01] <robtaylor> for my sins
> [09:01] --> Bille has joined this channel.
> (~wstephens at charybdis-ext.suse.de) [09:01] <duncanmv> well, but are you
> interested in Kopete using farsight? [09:02] <duncanmv> in that case I
> suggest you, Engin and Taupter, exchange a couple of mails that help to
> make video roadmap more clear
> [09:02] <robtaylor> i'm actually working on a nice desktop wide im framwork
> for gnome at the meomtn, hopefully i can replace gaim. maybe you guys will
> be inetrsted in it if it comes about :)
> [09:02] <robtaylor> duncanmv: you're the closest to being able to use it
> [09:03] <robtaylor> duncanmv: what timezone is taupter?
> [09:03] <duncanmv> robtaylor: well, current Kopete avdevice could turn in a
> framework which could moved to kdelibs later if we design it correctly
> [09:03] <duncanmv> but fot that we will need your help
> [09:03] <robtaylor> duncanmv: well, i beleive that gst 0.9 will have libs
> for automatic device detection :/
> [09:03] <duncanmv> Engin AYDOGAN <engin at bzzzt.biz>
> [09:03] <duncanmv> and taupter is...
> [09:04] <Bille> robtaylor: desktop wide IM framework eh?  want to talk
> about it?  I work on same for KDE.
> [09:04] <duncanmv> Cláudio da Silveira Pinheiro   <taupter at gmail.com>
> [09:05] <duncanmv> Bille: we are discussing the use of farsight in Kopete,
> which requires gstreamer.
> [09:05] <robtaylor> Bille: ooh :) very much so... see
> http://farsight.sourceforge.net/convframework.dia
> [09:05] <duncanmv> robtaylor: talk to Bille too, I hope you could so some
> kind of mail exchange between you 4
> [09:05] <Bille> duncanmv: i saw.  not my area of expertise.  but i'd be
> interested in hearing how robtaylor is approaching the same problems we
> have in kimproxy
> [09:06] <robtaylor> Bille: if you dont have dia, i can convert to svg for
> you [09:06] <robtaylor> Bille: the idea is to unify IM and voip
> [09:06] <duncanmv> Bille: I am worried about tauper coding duplicate stuff,
> and that probbably we will realize somemoment we will need to implement a
> gstreamer clone ;-)
> [09:07] <Bille> duncanmv: yes - and there is already equiv code in kwintv
> that george staikos says is intended for kdelibs
> [09:07] <robtaylor> duncanmv: a gstreamer clone would be silly indeed. its
> a complictated task
> [09:08] <Bille> duncanmv: pmax has already told taupter about that, i'm
> fairly sure
> [09:08] <robtaylor> Luckily, as gstreamer is all about binary compatible
> modules, a c++ wrapping would actuially be pretty straight forward. you
> only need to wrap the core
> [09:08] <Bille> duncanmv: pmax has already told taupter about that, i'm
> fairly sure
> [09:08] <robtaylor> Luckily, as gstreamer is all about binary compatible
> modules, a c++ wrapping would actuially be pretty straight forward. you
> only need to wrap the core
> [09:11] <duncanmv> sure, and thats all about coordaination, thats why I
> suggest a mail exchange. Kopete using farsight could help making it more
> stable, and even could help gstreamer adoption in KDE
> [09:11] <robtaylor> yes, its would rock :)
> [09:11] <robtaylor> actually , shall i just start a kde-gstreamer mailing
> list?
> [09:12] <duncanmv> where?
> [09:12] <robtaylor> good question. fd.o? or i could ask the gstreamer guys
> to set on up, i'm sure they'll be willing. or maybe at kde.o ?
> [09:13] <robtaylor> whatever you guys prefer. maybe kde.o is sensible
> [09:13] <Bille> robtaylor: looking at convframework now.  the solid line
> boxes are definitely single processes, yeah?
> [09:14] <robtaylor> Bille: not necessarily. the large dotted line boxes
> show other process layout
> [09:14] <robtaylor> duncanmv: as far as farsight stuff goes, lets just do
> that on farsight-devel
> [09:15] <robtaylor> thats the right place as far as i;m concerned..

-- 
George Staikos
KDE Developer				http://www.kde.org/
Staikos Computing Services Inc.		http://www.staikos.net/



More information about the kde-multimedia mailing list