Problem with GStreamer 1.0, EOS and set_locked_state

Felix Krull f_krull at gmx.de
Mon Dec 3 07:33:23 PST 2012


Am 20.11.2012 20:44, schrieb Felix Krull:
> Hi all,
>
> I've been porting my GStreamer-using project from 0.10 (using
> python-gst) to 1.0 (using python-gi) (see [1], specifically the gst-1.0
> branch). The basic porting was pretty straightforward but I've run into
> a difference compared to 0.10 that I can't seem to figure out:
> Specifically, I'm creating a single pipeline (with filesrc, rganalysis
> and fakesink elements) that I send a set of files through to calculate
> album ReplayGain data. The catch is that the rganalysis element can
> never go to NULL or READY states after I've started the pipeline for the
> first time (that's also in the documentation [2]). So when I receive an
> EOS event, I lock rganalysis's state, switch the pipeline to READY,
> change the file, unlock rganalysis and go to PLAYING again. With 0.10,
> that worked; with 1.0, it doesn't, the pipeline seems to be stuck and
> doesn't return to PLAYING. I've tried to condense the problem as far as
> possible [3]; the identity element serves as a stand-in for rganalysis
> here. The 0.10 example works as expected (repeatedly printing "eos"),
> the 1.0 example stops after the first "eos". The issue must be somehow
> related to the state locking since the example works without the
> set_locked_state calls.
>
> So ultimately, is this a bug or intended behaviour? And if it is
> intended, how do I work around it?
>
> Regards, Felix
>
> [1] https://bitbucket.org/fk/rgain
> [2]
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--reference-level
> [3] https://gist.github.com/4118838
Sooo ... I hate to just re-post like this, but doesn't anybody on this
list have at least a clue about this?

Regards, Felix


More information about the gstreamer-devel mailing list