July 2nd, 2009
So yesterday was the 5th anniversary party for the Fluendo group. It only seems like yesterday that I joined the group (3 years 4 1/2 months ago) to work for Flumotion. It was really nice of the company to fly me in especially to Barcelona for the party, so thank you.
Posted in General | No Comments »
June 20th, 2009
So this aftermoon, I spent the time starting a GStreamer source element for Spykee. I have made it respond to key press navigation events coming upstream from say xvimagesink and move forward, back, left and right and d for dock. The code so far is here: http://github.com/zaheerm/zspykee/commits/master/flumotion-spykee/flumotion/component/spykee/gstreamer.py
Video with Spykee moving controlled through navigation events coming from xvimagesink: http://zaheer.merali.org/spykee_gstreamer.ogv
Posted in General | 2 Comments »
June 18th, 2009
So tonight, I added wizard support for flumotion-spykee and so now anyone with a Spykee robot can control and stream the robot with Flumotion without requiring to write a config file. It can all now be configured with ease in Flumotion, including discovery of Spykee robots on any interface your flumotion installation is on.
Two screencasts (both Ogg Theora videos):
Posted in General | 1 Comment »
June 11th, 2009
Simple UI to move the Spykee robot around, committed and pushed:

Posted in General | No Comments »
June 10th, 2009
So I bought a Spykee wifi robot on Friday. Alia and I finished building it on Sunday. I wrote some code to control it and stream it via flumotion over the weekend and during evenings this week. Tonight I added audio support, so I can now stream video from the robot’s webcam and audio from the robot’s mic. Also with flumotion remote commands, I can move it about. Next step is to write a gtk admin UI page.
Screenshot from totem of video only: 
Code pushed to github url: http://github.com/zaheerm/zspykee/tree/master
Posted in General | 1 Comment »
May 7th, 2009
Dave, saying I was at Istanbul for a Liverpool fan is more like saying I was at the 5th Guadec not the 1st Guadec for a Gnome hacker 
Posted in General | No Comments »
March 11th, 2009
So I spent some time on the weekend porting GStreamer to S60. Using Martin’s excellent instructions on how to build for S60 on Linux.
Symbian have thankfully ported some libraries (though with caveats) to S60 for ease of porting “OSS” code. In their “OpenC” sdk, they have glib (including gobject, gmodule, gthread etc.), libpthread, libc and a few others. This has of course made the port to S60 possible.
A few hurdles have been the lack of poll(), glib being old (2.10), having to include and to have some definitions for which there is no mention in the docs.
I have got libgstreamer and libgstbase compiled (though I have put them in same lib). I have compiled the core elements: fakesrc, fakesink, pushsrc, typefind, filesrc, filesink, fdsrc, fdsink, capsfilter, tee, queue, multiqueue but I currently have the error in linking that it cannot find the libgstreamer dso.
Once I get an app compiled that does fakesrc ! fakesink, I will start putting up a git branch of my stuff.
Posted in General | 3 Comments »
March 3rd, 2009
So the recording was successful. The snippet that my brother in-law wanted, I put up on youtube here. It is my 2 nephews’ birthday card being read out. Jameel is 4 today and Jaabir was 2 on Sunday.
Posted in General | 1 Comment »
March 3rd, 2009
So while watching 24 after dinner tonight, Alia received a text from her brother in-law reminding her to record channel Five from 6am until 9am tomorrow morning. So naturally, I set it to record on my Sky HD box. However the Sky HD box is being recalled as it is one of the Pace ones that has an unknown fault that is not related to safety. The engineer is due to replace it tomorrow morning. Oh yes, I have been credited 3 months of free HD subscription for the inconvenience. One of the inconveniences is that the only way to get the recordings off the box is via a DVD recorder/VHS recorder connected over Scart.
Anyways that is not relevant to this story. Five is a TV channel that is Free to Air both on DVB-T and DVB-S here in the UK. So I thought I’d record it on my computer. The natural choice is Gnome DVB Daemon from Sebastian which is a fantastic product from the Gnome GSoC 2008 (my mentoring of this project was very little to do with its success, Sebastian was an excellent student). However my current installation of Gnome DVB Daemon is broken and I didn’t have much time tonight. I started writing a crude one-time use python app with twisted to start recording at 6am and stop at 9am. Then it dawned on me, Flumotion can do this without me writing a single line of code. So I created a simple flow, with a dvb-ts-producer and a disk-consumer. The disk-consumer can take an ics file, so I generated one in Evolution with 2 events: a test event at 23:19 for 5 minutes and the real thing.
Flow file is here:
<planet name=”flumotion-test”>
<atmosphere>
</atmosphere>
<flow name=”default”>
<component name=”producer-video”
type=”dvb-ts-producer”
label=”producer-video”
worker=”localhost”
project=”flumotion”
version=”0.5.2.1″>
<property name=”polarity”>horizontal</property>
<property name=”frontend”>0</property>
<property name=”dvb-type”>S</property>
<property name=”adapter”>0</property>
<property name=”code-rate-hp”>5/6</property>
<property name=”frequency”>10773250</property>
<property name=”symbol-rate”>22000</property>
<property name=”program-numbers”>6335</property>
<clock-master>false</clock-master>
</component>
<component name=”disk-ts”
type=”disk-consumer”
label=”disk-ts”
worker=”localhost”
project=”flumotion”
version=”0.5.2.1″>
<eater name=”default”>
<feed alias=”default”>producer-video:default</feed>
</eater>
<property name=”directory”>/tmp</property>
<property name=”rotate-type”>none</property>
<property name=”start-recording”>False</property>
<property name=”ical-schedule”>/home/zaheer/fivetv.ics</property>
<clock-master>false</clock-master>
<plugs>
</plugs>
</component>
</flow>
</planet>
This created a flow, Here is a UI of flumotion-admin:

Anyways, now it is time to sleep.
Posted in General | 1 Comment »