Problem with GStreamer 1.0, EOS and set_locked_state

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem with GStreamer 1.0, EOS and set_locked_state

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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problem with GStreamer 1.0, EOS and set_locked_state

Felix Krull
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
_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel