[gst-devel] gstreamer plea for help

Daniel Drake dsd at laptop.org
Mon Aug 25 18:50:34 CEST 2008


Hi,

I am an intern at One Laptop per Child. We have developed a low-power
rugged laptop for distribution to schoolchildren in developing nations.
There are many many thousands of our XO laptops in the hands of kids
around the world.

We ship the XO with our own "Sugar" operating environment (based on
Linux/Fedora). We also include a number of activities (applications).

One of the most popular activities is Record:
http://wiki.laptop.org/go/Record
It is a gstreamer-based Python application which allows the user to take
photos and record audio/video. Most of the kids who the laptops go to
have never been near any camera so this really is a novel item for them.
This activity is definitely one of the most popular that we ship, kids
love it.

Now for the problems.. we recently updated from an old version of Fedora
7 to Fedora 9, including a significant gstreamer update, and our Record
activity stopped working somewhere along the way. The webcam video feed
freezes when you run it and none of the capture functionality works. On
IRC, Mike Smith commented that the gstreamer pipeline we use there are
broken and was surprised that it ever worked.

I went about cleaning up and reworking the Record activity to get it
working again, and I was somewhat successful: most of the functionality
is working. However we are left with significant regressions which are
release blockers for us:

1. As a result of the gstreamer upgrade, when taking webcam input from
v4l2src and displaying on-screen (or recording to file) there is a
significant increase in delay - the video is lagged. This impacts
lip-sync when recording a video with audio, because the audio is not
lagged.
 http://dev.laptop.org/ticket/7609
I have not had time to dig further yet.

2. A segfault condition
 http://dev.laptop.org/ticket/7887
Have not had time to investigate

3. The biggie: our Record activity can now only record one video. When
you try and record the 2nd, the gstreamer pipeline freezes without
recording anything. This is a really big regression.
http://dev.laptop.org/ticket/7452

I have spent many hours working on this, I've made progress on (3) but
the bug is still there as it was before.

I first isolated the problem to a simple test app:
http://marc.info/?l=gstreamer-devel&m=121562099110189&w=2
After a lack of response I got more acquainted with gstreamer than I
would have liked and fixed a bug(?) in gstoggmux that was preventing
this from working:
http://marc.info/?l=gstreamer-devel&m=121804618419812&w=2

Even after that fix, the bug still exists :(

Tim-Philipp Mueller pointed out some bad behaviour in my app.

Even after that fix, the bug still exists :(

I re-isolated the problem to a new test app.
http://marc.info/?l=gstreamer-devel&m=121848539729018&w=2
I have unexplainable results here and don't know where to start fixing
this. I can't even pinpoint the faulty component.


We have "solved" this issue by restoring our old gstreamer builds from
Fedora 7 and by reverting to our messy pipeline that should never have
worked. Well, it works, and we are now as good as we were before. We'll
be shipping gstreamer-0.10.12 with gst-plugins-base-0.10.12 and
gst-plugins-good-0.10.5

I am unhappy with this solution and hope that we won't be stuck with
those old versions for much longer. But I've also spent many hours on
this and so far have failed to get things working properly, and I don't
see any other options for our immediate release timeframe.

So here is my plea for help to get this fixed for the next release
timeframe. What steps can I take to get this fixed?
Are there gstreamer developers or experts who would be interested in
looking at this? We can easily provide XO laptops free of charge to
developers. I can tutor people getting up to scratch with
XO/Sugar/Fedora development.

Thanks,
Daniel






More information about the gstreamer-devel mailing list