Friday, August 22, 2008

A gst bug?

I was trying these last two weeks, while I'm working in UI features, to figure out why sometimes my conversion freezes. I debugged a bit and found that, rarely, if I don't put a time.sleep(1) before playing the pipeline, the pipeline goes to READY state instead of going to PLAYING state. Query goes to position 0, and no error message, neither warning, are sent from bus. If I try to change again to PLAYING state, it stays in READY.

I posted a simple example at http://gstreamer.pastebin.com/m4fd1d90e , it's based in the decodebin.py example from pygst but I changed to convert to audio and do it 50 times. You can just run it on a terminal with a video as parameter, and check if all 50 videos passed ok. If they pass ok, try sometimes, it's very rarely to happen on this example, as it's a small program, but on gstms is giving many times. I want to know if this bug just happens on my computer or it's a gst bug - or if I'm forgetting something else. BTW, I'm using Ubuntu 8.04 and last stable gstreamer.

If you want to check the alpha version - which I didn't released yet because of this bug - you can download it from svn.

Thursday, August 14, 2008

Trying to release an alpha version

These last two weeks I tried to release a working version of gst-media-services, but I have a unknown bug: sometime, for some type of streams, the pipeline just got paused. I did some things, suggested from IRC community, but it still bugging rarely. The most strange thing on this part is, if I put a time.sleep of 1 second between the gstreamer pipeline linkage and the pipeline play, it works everytime! It's look as sometimes the construction of pipeline isn't being completed, so, has any way of I wait for the pipeline to be complete functional until I set to play state? Ok, I'll spend more time on this these next days.

Also, I want to release an alpha on the Google Summer of Code deadline, August 18th, so, expect something working on my next post. The interface is working ok, and conversion is going rightly, reading elements and constructing pipeline from EncodingProfiles.