Here's some useful stuff I got from talking to the guys at Collabora.  A bunch of useful links.

From #Sugar:

<trose> Hey, I'm working on a video chat activity for the XO 1.5.  Does anyone know how to use telepathy in Sugar to send a video stream?  Other code that my team has found uses some sort of binary hack to transmit a video stream through telepathy.  We're trying to do this the "correct" way though.
<sdziallas> bernie: so here's the thing: I won't be able to do anything support-wise for that (especially not in the next month) - if you want to take Blueberry over - including the support - that might be alright with me. ;)
<Robot101> trose: http://git.collabora.co.uk/?p=telepathy-python.git;a=blob;f=examples/call.py;h=c43039d2352273c27bedbd359c6eb778ff9e870b;hb=HEAD
<tomeu> hi trose, just searched in google and found some sample code, hav eyou already seen it?
<tomeu> or well
<Robot101> trose: the old activity was based around stream-engine and had it's own gstreamer and farsight and all sorts of stuff *inside the activity*
<Robot101> going forward I'd just declare farsight and telepathy-farsight to be dependencies of sugar, and then just use the telepathy-farsight python bindings like this does
<tomeu> yeah, we already have gstreamer in the platform

From #telepathy:

<trose> Hey, I'm working on a video chat activity for the XO 1.5.  Does anyone know how to use telepathy in Sugar to send a video stream?  Other code that my team has found uses some sort of binary hack to transmit a video stream through telepathy.  We're trying to do this the "correct" way though.
<smcv> trose: use telepathy-farsight - Empathy code is probably a useful reference - to handle a StreamedMedia channel
<sjoerd> If you want to do StreamedMedia in python check the example in telepathy-python
<smcv> or that, yes
<smcv> (which uses telepathy-farsight)
<sjoerd> trose: are you working with the people from RIT or ?
<sjoerd> tomeu: ^ :)
* tomeu has one ear here
* Raagu (~47c6d2ad@gateway/web/freenode/x-ybwbhkllrjksxyyc) has joined #telepathy
<Raagu> Hi
* Robot101 has one in #sugar :)
<sjoerd> hehe
<Robot101> freenode only lets me have 20 ears, so I have to be frugal :)
<Raagu> I was wondering, in empathy is there a need of libempathy?
<sjoerd> Raagu: libempathy doesn't exist anymore
<Raagu> why doesn't the UI directly talk to libtelepathy-glib?
<smcv> in recent versions it does :-)
<trose> sjoerd: yes I'm a student at RIT
<smcv> (we improved telepathy-glib to make libempathy unnecessary)
<Raagu> sjoerd: why does the latest empathy source 2.29 has libempathy?
<sjoerd> Raagu: historical reasons
<Raagu> its more of a wrapper around libtelepathy-glib
<sjoerd> we can name directories whatever way we like right ;)
<Robot101> Raagu: we stopped shipping it as a separate library, the roadmap now is to make tp-glib do all of the layers above telepathy that you need to write a UI
<sjoerd> trose: http://git.collabora.co.uk/?p=telepathy-python.git;a=blob;f=examples/call.py is an example of doing a voip call on a very low level
<Robot101> so that libempathy/ dir should shrink as tp-glib gets higher-level APIs
* tekoholic has quit (Read error: Operation timed out)
<tomeu> trose: I would first code the basic functionality outside of anything sugar-related, so you don't have to learn too much unrelated stuff at the same time
<tomeu> trose: once you are familiar with the bits of farsight, telepathy and gstreamer that you need, we can move to the sugar side of things
<Raagu> so if were to write a client myself should I directly use tp-glib instead of creating a wrapper library like libempathy?
* roide has quit (Read error: Connection reset by peer)
<Tester> Raagu: libempathy no longer exist afaik
<Tester> Raagu: but yes, clients shouldbe tp-glib or tp-qt4
* tekoholic (~quassel@67.217.14.90) has joined #telepathy
<kkszysiu> hmm
<kkszysiu> telepathy manual book is written in pure XHTML or you have something to generate that?
<trose> sjoerd: tomeu: thanks for the input
<trose> I'm gonna ping this along to the rest of the team
<tomeu> trose: cool, how are you reporting progress, have a blog, wiki, etc?
<trose> tomeu: we have several outlets. Our Blog: http://fedorahosted.org/OpenVideoChat
<trose> News Aggregator: http://foss.rit.edu/aggregator This picks up a couple other projects but we spam it so much you don't notice haha
<trose> * our blog --> our wiki  jeez I need more coffee
<wjt> kkszysiu: http://git.collabora.co.uk/?p=telepathy-doc.git;a=summary
<kkszysiu> wjt, thanks
<trose> tomeu: #openinnovation is our project channel too
<tomeu> you have good mentors
* tomeu subscribes to http://foss.rit.edu/aggregator
<wjt> heh, this is fun. if i run the tests in caps/ in the wrong order (which my test runner helper does if you run `tt caps/` because it just globs), the persistent cache test fails
<tomeu> trose: so is this going to focus on videochat, or you have other requirements such as text chat, etc?
* ignacius (~ignacius@21.Red-83-63-241.staticIP.rima-tde.net) has joined #telepathy
<trose> tomeu: we have a short list of requirements right now
<trose> tomeu: Our primary concern is getting the video functioning and then optimizing it to at least 15 FPS so that people can communicate using American Sign Language
<tomeu> ok, sounds like a fine strategy to focus on the basics first
<trose> tomeu: we just implemented text chat really quick this week because it was easy and we needed to test that the XO's were connecting right
<trose> that was a secondary-ish goal but it was easy so we just did it haha
<tomeu> nice, you can take care of maintaining the Chat activity afterwards ;)
<Robot101> how does that differ to the existing Chat?
<trose> the video is giving us trouble though
* sf_oliveira (~quassel@201.56.102.13) has joined #telepathy
<tomeu> trose: you were trying something equivalent to the links that were posted before?
<tomeu> the camera hw in the 1.5 is not very stable yet, make sure you have latest images, but even then...
<trose> robot101: our chat right now is extremely basic, it's not meant to be like the Chat activity.  The text chat is going to be a supplement to the video chat aspect
<Robot101> "overlay chat" has been much discussed for Sugar, so you can add some chat to any activity
<trose> tomeu: actually it seems alright atm.  so far we have the web cam displaying on it's home machine and it's pretty darn smooth.  When we get it streaming over the mesh network I imagine it'll slow down quite a bit
<tomeu> trose: ok, watch out when you use the word "mesh", in the olpc project it has been overloaded to mean very different things
<tomeu> actually, better not use it at all
<trose> oops sorry
<tomeu> trose: the 1.5 doesn't have the 802.11s implementation that the xo1 had
<smcv> \o/
<trose> okay sooo when we get the xo's connecting directly to each other i think the video is going to slow down considerably
<Robot101> trose: are you testing with video encoding / decoding too, or just streaming the camera locally?
<Robot101> trose: the bottleneck we always faced with the XO 1.0 was CPU bandwidth for the encoder, nothing else
<tomeu> trose: so, by directly you mean without an AP?
<Robot101> trose: (the encoding was so slow the network didn't even start to be a problem)
<tomeu> Robot101: the theora encoder has been greatly optimized since then, right?
<Robot101> tomeu: yeah, I think so
<Robot101> trose: Telepathy currently only supports video calling in Gabble (the XMPP backend), not Salut (the link-local backend), although video calling people on your LAN seems somewhat pointless
<Tester> you're using theora as the codec ?
<tomeu> Tester: I think we were, back then
<Robot101> Tester: XOs and H264 royalties... not such a win.
<sjoerd> tomeu: the 1.5 should also be loads faster
<tomeu> a couple of years ago
<sjoerd> on the 1.0 we could tweak theora already to go reasonably far
<sjoerd> on 1.5 it shouldn't be much of an issue anymore
<tomeu> sjoerd: yeah, but I have the secret hope of being able to use it in the existing xo1
<sjoerd> sure
<Robot101> unless you get google to build the x264 encoders and bless them with magic patent licensing dust for us, or something :P
<sjoerd> i should retest on my 1.0 xo
<Tester> tomeu: you have to know that theora wont work with SIP
<Tester> (well, not with sip-over-udp)
<tomeu> sjoerd: I recommend using the f11-based builds, not yet released as stable, but almost
<sjoerd> Tester: nobody cares about sip with video...
<trose> We aren't testing the encoding yet.  Just to clarify we *just* started this project haha.  We've only been coding a week
<sjoerd> tomeu: F11 still ? not F12 
<Tester> sjoerd: some people do
<sjoerd> Tester: not in this context
<Robot101> trose: yeah but... gst-launch-0.10 v4l2src ! theoraenc ! theoradec ! xvimagesink
<tomeu> sjoerd: well, I got f12-based soas running on a xo1, but it won't be as polished
* pavank10 has quit (Quit: Ex-Chat)
<tomeu> sjoerd: some recent fixes for f11-on-xo1 hasn't been upstreamed yet
<Robot101> trose: then you can see framerates and CPU usage actually with some encoding/decoding going on
<sjoerd> :(
<sjoerd> tomeu: so sugar/xo is still trailing behind then, that's sad
<Robot101> trose: thats what we did the first 5 minutes after we got our XOs out of a box :)
<tomeu> sjoerd: sugar not ;)
<sjoerd> ah
<sjoerd> tomeu: hardware support not all upstream or ?
<tomeu> sjoerd: basically, olpc has focused on new builds for 1.5
<trose> robot101: cool that'll be useful
<tomeu> and the community has had to push f11 for xo1 by itself
<tomeu> community == smparrish and bernie
<trose> lol
<Robot101> trose: yes, gstreamer very useful :)
<sjoerd> tomeu: :/
<tomeu> sjoerd: mostly drivers, yeah
<Robot101> trose: and you can easily add caps filters to set the resolution and framerate and stuff there too
<tomeu> sjoerd: well, the bright side is that this has shown deployments that they need to take action by themselves instead of waiting from olpc
<sjoerd> tomeu: fair enough
<trose> robot101: sick, that should help
<Robot101> trose: there's a reason we use gstreamer for all of our video/audio streaming in Telepathy :P
<tomeu> smcv: about !mesh, I had lots of satisfaction with this hack: http://blog.tomeuvizoso.net/2009/05/ad-hoc-wireless-networks-in-sugar.html
<Robot101> trose: even before like half the gst guys worked for collabora :D
* bcurtiswx_laptop has quit (Read error: Connection reset by peer)
<trose> robot101: I'm curious, did you work on the original video chat or something?  you mentioned the encoders being a bottleneck before
<Robot101> trose: collabora hacked together the original one as a proof of concept, then some other guys did the nasty hacks to put like an entire new gstreamer & farsight & telepathy stream engine into the .xo :)
<Robot101> trose: so sjoerd / cassidy / smcv / ...
<Robot101> trose: here is a very good place to ask about all things collaboration related in sugar :)
<trose> cool, cool
<smcv> tomeu: I have this t-shirt: http://www.poponaut.de/imagemagic.php?img=2dfUzNLgpemsz9fY2NXMyr6QycGhz93U&w=300&h=286&page=prod_info
<trose> we've been trying to figure out who did the original video chat activity
<trose> lol
<smcv> tomeu: it causes great amusement to those in the cbg office who worked on XOs :-)
<tomeu> heh
<tomeu> wonder if michailis would like it as much
<smcv> they're a good band, too
<smcv> (mesh)
<tomeu> sjoerd: this just landed on my inbox: http://lists.sugarlabs.org/archive/iaep/2010-March/010474.html
<tomeu> I think it's the best way to put something recent on the xo1s
<sjoerd> tomeu: :)
<sjoerd> tomeu: the usual problem is that since F11 farsight/gst matured a lot wrt. video conferencing
<tomeu> but be sure to have security disabled, don't think they are signed builds
<sjoerd> So for a video chat app you really want something based on at least F12
<tomeu> ah, then maybe it's time to try out f12
<tomeu> sjoerd: a problem I see is that deployments will start now to slowly move from f9 to f11. I don't know when we'll see kids using >f11 on the field :/
<sjoerd> well
<sjoerd> For things like this, might be best to build on F12 first and backport when it works properly
<sjoerd> instead of trying to fight two fires at the same time ;)
<tomeu> yeah, that's always possible
<tomeu> but videochat could be a good reason for updating to a new build ;)
<sjoerd> I somehow hope that videochat will be appealing enought that people will put some effort into getting it on their systems once it works nicely :)
<Robot101> sjoerd: F releases are pretty fluid with high-level components like gst, telepathy, etc
<Robot101> sjoerd: I'm sure if we get beers for bpepple we can get new enough gst / farsight / etc in F11 repos for sugar video chat to work
<tomeu> and they often backport those
<sjoerd> maybe
<sjoerd> But at least for F12 they shipped empathy with things working and did QA on it
<sjoerd> Not saying it's impossible etc. just that you might want to avoid those problems initially :)
<tomeu> I have heard lots of interest from the field on videochat, a problem in the olpc ecosystem is that people who can put the moneys don't have no idea how their software gets developed
* seb128_ is now known as seb128
<Robot101> sjoerd: the guy doing the F11 XO images on #sugar said he wants to get them stable with F11 before he breaks the world with F12... so I'm sure it'll be fine one way or the other :D
<bemasc> trose: The latest theora has a fast-encode mode, and it should be exposed through gstreamer.  I can show you how to activate once you get to the performance-tuning stage
<sjoerd> bemasc: did you benchmark it on XO 1.0 and/or XO 1.5 ?
<bemasc> trose: personally, I would even suggest that you get plain audio conferencing working before trying video
<tomeu> once they upstream all the f11 bugfixes, I expect f12 to work on the xo1 without so much fuss
<bemasc> sjoerd: no, I should check that.
* tgpraveen12 has quit (Read error: Connection reset by peer)
* afrodeity (~afrodeity@liesbet.onsite.hosting.co.za) has joined #telepathy
<sjoerd> tomeu: :)
<tomeu> really :)
<wjt> smcv: there! catch some bonus patches for the caps cache
<afrodeity> hi, looking for a jabber testbot to make a call with empathy
<tomeu> the problem with f11 is that the f9 build contained lots of non-upstreamed stuff
<tomeu> apart from being f9 and not f10
<trose> thanks for the input guys, I'm going to forward all this to the rest of the team :)
<wjt> daf: i don't know if i said before, but the caps cache code is very nice
<Robot101> trose: get them all to come here? :P
<wjt> daf: really easy to follow having mostly forgotten it and never having used sqlite3 :)
<trose> robot101: idk what they're up to right now.  We don't actually work on fridays.  We all decided to pull long hours monday-thursday so we get fridays off
<Robot101> trose: if you guys want to have a sugar video call hackfest or something, tomeu and a few of us other telepathy folks will probably be going to UDS (ubuntu desktop summit) in Belgium in May, you could ask them for a Sugar room and we can all go hang out there :)
<afrodeity> yeah
<sjokkis> smcv: when you say @channels, is that because you have a background in perl and you're telling me it's an array of some sort, or am i missing something?
<afrodeity> still no jabber testbot
<wjt> afrodeity: still no patience!
<smcv> sjokkis: no, the reference was to gtk-doc/doxygen which use @ to mean "argument" or "parameter"
<trose> hahahha i'm forward that along, idk if i'll have time to fly to belgium
* shiyee (~Shiyee@d40a9f19.rev.stofanet.dk) has joined #telepathy
* deadowl has quit (Read error: Operation timed out)
<sjoerd> trose: they have good beer, it's worth it just for that
<trose> but maybe we could set up something online
<trose> hahaha nice
<wjt> afrodeity: http://live.gnome.org/Empathy/FAQ#How_can_I_test_if_audio.2BAC8-video_is_working.3F
<trose> i'm always down for a good beer
<sjoerd> see
<sjoerd> buy your tickets now!
<trose> hahahha
<trose> maybe RIT will spot us the bill
<afrodeity> wjt: thanks
<trose> i'm paying enough in tuition, they should hahaha
<daf> wjt: :)
<daf> wjt: I did dither over the design quite a bit
<sjokkis> smcv: okay. possibly a stupid question, but what does it mean in python? e.g: @dbus.service.method(CONNECTION_INTERFACE_REQUESTS, (telepathy/server/conn.py:507)
<wjt> daf: just found a nice corner case in the bit of the test that tries to flush macbeth out of the cache
<sjokkis> (i've never dealt with gtc-doc/doxygen, so if it's related to that, i'm missing the reference)
<istaz> sjokkis: that's a python decorator, it mean the following method will be exported on debug, on interface CONNECTION_INTERFACE_REQUESTS
* ignacius has quit (Quit: Ex-Chat)
<sjokkis> istaz: ah. i have so much to learn..