[gst-devel] Gst-launch lockups

Marco Ballesio gibrovacco at gmail.com
Fri Nov 19 09:07:12 CET 2010


Hi,

a correction to my previous notes..

On Fri, Nov 19, 2010 at 9:44 AM, Marco Ballesio <gibrovacco at gmail.com>wrote:

> Hi,
>
> sorry for the late reply, too much time spent for the MeeGo conference.
>
> On Thu, Nov 11, 2010 at 3:43 PM, TTGator <asorgius at gmail.com> wrote:
>
>>
>> I am experiencing some gst-launch lockups from time to time.  I will try
>> to
>> give a quick overview of the issue in case someone may know something
>> about
>> this, and I can provide more detail if needed.
>>
>> Basically, it seems like there may be a race condition with EOS and
>> SIGUSR2.
>> When the SIGUSR2 signal is delivered to a pipeline that was transitioning
>> due to EOS, I see the indication that the SIGUSR2 was caught, but no
>> further
>> info regarding taking the pipeline to NULL.
>>
>
> Usually when an EOS occurs the pipeline state goes to READY (if you want to
> bring it to NULL, you need to do it i.e. in your bus callback).
>

According to:

http://www.gstreamer.net/data/doc/gstreamer/head/manual/html/section-bus-message-types.html

the pipeline does not actually change state by its own in front of a an EOS
(that is, it remains to PLAYING if it was in such a state before the EOS).
It's up to the application to perform any state changes so, most likely,
your app is not setting the proper state in front of an end of stream. I'm
so used to change state in the bus that I ended up thinking it's automatic
;)

The other observations about your testing hw remain valid.

Regards



>
>
>>
>> After this occurs, a reboot of the system is required to run a new
>> pipeline.
>>
>
> This is pretty strange, most likely due to the HW-specific elements you're
> using (either dmaidec_h264 or omapsink). I suggest you to check your dmesg
> output and your BSP manual to know what's happening and how to restore
> functionality without a reboot.
>
> Are you sure even hw independent pipelines of the like of:
>
> gst-launch audiotestsrc ! fakesink -v
>
> are not working?
>
> Regards
>
>
>>
>>
>> 0:00:32.791748058 12684    0x9e7c0 INFO               TIDmaidec
>> gsttidmaidec.c:1201:gst_tidmaidec_sink_event:<dmaidec_h2640> EOS: draining
>> remaining encoded data
>> 0:00:32.794036876 12684    0x9e7c0 INFO                GST_PADS
>> gstpad.c:3337:gst_pad_event_default_dispatch:<dmaidec_h2640:sink> Sending
>> event 0xb5230 (eos) to all internally linked pads
>> Got EOS from element "pipeline0".
>> Execution ended after 32022827148 ns.
>> Setting pipeline to PAUSED ...
>> 0:00:32.801849376 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<alsasink0> completed state
>> change to PAUSED
>> 0:00:32.802429210 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<alsasink0> posting
>> state-changed PLAYING to PAUSED
>> 0:00:32.803161631 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'alsasink0'
>> changed state to 3(PAUSED) successfully
>> 0:00:32.804595957 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<omapsink0> completed state
>> change to PAUSED
>> 0:00:32.804962168 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<omapsink0> posting
>> state-changed PLAYING to PAUSED
>> 0:00:32.805358897 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'omapsink0'
>> changed state to 3(PAUSED) successfully
>> 0:00:32.805877695 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<mad0> completed state change
>> to PAUSED
>> 0:00:32.806243907 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<mad0> posting state-changed
>> PLAYING to PAUSED
>> 0:00:32.806671153 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'mad0' changed
>> state to 3(PAUSED) successfully
>> 0:00:32.807128917 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<dmaidec_h2640> completed
>> state
>> change to PAUSED
>> 0:00:32.807434093 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<dmaidec_h2640> posting
>> state-changed PLAYING to PAUSED
>> 0:00:32.807830821 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'dmaidec_h2640'
>> changed state to 3(PAUSED) successfully
>> 0:00:32.808319102 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<queue1> completed state
>> change
>> to PAUSED
>> 0:00:32.808593760 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<queue1> posting
>> state-changed
>> PLAYING to PAUSED
>> 0:00:32.809265147 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'queue1' changed
>> state to 3(PAUSED) successfully
>> 0:00:32.809692393 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<queue0> completed state
>> change
>> to PAUSED
>> 0:00:32.809997569 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<queue0> posting
>> state-changed
>> PLAYING to PAUSED
>> 0:00:32.810455332 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'queue0' changed
>> state to 3(PAUSED) successfully
>> 0:00:32.810821543 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<demux> completed state
>> change
>> to PAUSED
>> 0:00:32.811126719 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<demux> posting state-changed
>> PLAYING to PAUSED
>> 0:00:32.812164316 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'demux' changed
>> state to 3(PAUSED) successfully
>> 0:00:32.812713633 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<filesrc0> completed state
>> change to PAUSED
>> 0:00:32.813079843 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<filesrc0> posting
>> state-changed PLAYING to PAUSED
>> 0:00:32.813476572 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'filesrc0'
>> changed
>> state to 3(PAUSED) successfully
>> 0:00:32.814483653 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<pipeline0> completed state
>> change to PAUSED
>> 0:00:32.814849864 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<pipeline0> posting
>> state-changed PLAYING to PAUSED
>> 0:00:32.815429698 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:1692:gst_bin_get_state_func:<pipeline0> getting state
>> Setting pipeline to READY ...
>> 0:00:32.818115244 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<alsasink0> completed state
>> change to READY
>> 0:00:32.818756113 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<alsasink0> posting
>> state-changed PAUSED to READY
>> 0:00:32.819244394 12684    0x150b8 INFO              GST_STATES
>> gstbin.c:2425:gst_bin_change_state_func:<pipeline0> child 'alsasink0'
>> changed state to 2(READY) successfully
>> 0:00:32.820709238 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2238:gst_element_continue_state:<omapsink0> completed state
>> change to READY
>> 0:00:32.821075448 12684    0x150b8 INFO              GST_STATES
>> gstelement.c:2251:gst_element_continue_state:<omapsink0> posting
>> state-changed PAUSED to READY
>> Caught SIGUSR2 - Stop request.
>>
>> --
>> View this message in context:
>> http://gstreamer-devel.966125.n4.nabble.com/Gst-launch-lockups-tp3037845p3037845.html
>> Sent from the GStreamer-devel mailing list archive at Nabble.com.
>>
>>
>> ------------------------------------------------------------------------------
>> Centralized Desktop Delivery: Dell and VMware Reference Architecture
>> Simplifying enterprise desktop deployment and management using
>> Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
>> client virtualization framework. Read more!
>> http://p.sf.net/sfu/dell-eql-dev2dev
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20101119/180debc5/attachment.htm>


More information about the gstreamer-devel mailing list