02 March, 2012

Very hot in Cheese!

It has been some time since I wrote my last post. It seems to be that this year's cold in Spain has been one of the worse ones in the last years, and I was one of its victims twice, yayyy!

Apart from surviving this cold, I have been lately working on improving hotplug connection of camera devices in Cheese.

Some history:
Hotplug is a feature that has been recently introduced in Cheese. First, I worked on the common case, removing or adding a camera whenever they were not the first or last device. These two left cases, needed a bit further investigation.

I have been now working on "adding the first device" case. I thought that this would be a simple and straight forward task, but it hasn't been. It hasn't been, due to the nature of Cheese, since it was developed without considering hotplug connections and the code was structured in a way that made it difficult to do "non-very intrusive / for working in all the cases" changes.

What did I learn from this?
  1. It would be nice to work on refactoring Cheese.
  2. Do not get so frustrated if something takes you longer than expected and finish it. Somebody told me once: "If you think something is going to take you one week, double that time, and you will get what you will really need". So true...
  3. Using 'export CLUTTER_DEBUG=script' before executing a program that uses Clutter and *.json files for its UI, can be very useful. Thanks to Emmanuele Bassi for this hint!
The changes are still in a working branch of the Cheese repository.

By the way, I just realized that there are just two weeks left for the end of the GOPW! Where is all the time gone??

1 comment:

  1. Much of this should be in GStreamer instead of having to duplicate it in every application..

    ReplyDelete