Pipeline state is stuck.

Stirling Westrup swestrup at gmail.com
Thu Jan 10 12:38:27 PST 2013


xvimagesink produces an error in the expected way at the expected
time, so I can't see how to pin the bug on it.

To me, it sounds to me like a bug in state transitions in gst_bin. But
before I attempt a fix, I would need to know, what IS the intended
behaviour of a bin when it is in transition from one state to another,
and gets additional elements that fail to sync to the same state?

Is the gst_bin supposed to only care about the elements it had when it
began the state change?  It would seem so, as all the documentation
says you are responsible for setting the state of the newly introduced
elements (although I have no idea WHY this should be). But if the new
elements fail to set state, should there be an API element for
aborting a state change from within a callback? Is just posting an
error enough?  I really don't know enough of the philosophy behind the
architecture decisions in gstreamer to just go in and start changing
things..


On Thu, Jan 10, 2013 at 3:22 PM, Tim-Philipp Müller <t.i.m at zen.co.uk> wrote:
> On Thu, 2013-01-10 at 15:02 -0500, Stirling Westrup wrote:
>
>> As part of an experiment, I set up a dynamic pipeline and deliberately
>> set an invalid display on xvimagesink, as I wanted to know what sort
>> of error I would get, so I could produce a good diagnostic to the user
>> (who provides the display number) in my application.
>>
>> As expected, the pipeline failed to transition from PAUSED to PLAYING
>> state with xvimagesink producing an error.
>>
>> However, during shutdown, I found that the pipeline was now stuck in
>> its current state. Any attempt to set the pipeline into NULL state
>> would fail. As a consequence, all attempts to unref the pipeline
>> failed.
>>
>> How do I FORCE a pipeline to enter NULL state? Do I really have to
>> write a routine that recursively sets each individual element to NULL
>> and then removes and unrefs it?
>
> It sounds like a bug somewhere. I'd guess in xvimagesink. Would be great
> if you could track it down and put a patch in bugzilla, thanks!
>
> Cheers
>  -Tim
>
>
>
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



-- 
Stirling Westrup
Programmer, Entrepreneur.
https://www.linkedin.com/e/fpf/77228
http://www.linkedin.com/in/swestrup
http://technaut.livejournal.com
http://sourceforge.net/users/stirlingwestrup


More information about the gstreamer-devel mailing list