[gstreamer-bugs] [Bug 329890] New: gst_element_set_state blocks

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Sat Feb 4 06:15:42 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=329890
 GStreamer | gstreamer (core) | Ver: 0.10.2

           Summary: gst_element_set_state blocks
           Product: GStreamer
           Version: 0.10.2
          Platform: Other
        OS/Version: All
            Status: UNCONFIRMED
          Severity: blocker
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: voltage at c-base.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Please describe the problem:
When calling gst_element_set_state(GST_STATE_NULL) from an event probe callback 
the function blocks the application, if the bin contains a queue element.  

Steps to reproduce:
1. create a bin with a ghost src pad which contains a filesrc and decodebin  
2. add the bin together with an adder element and a audiosink to the pipeline  
3. install an event probe callback on the requested sink pad of the adder  
4. in the event probe callback call gst_element_set_state(GST_STATE_NULL) on  
the bin 

Actual results:
the application blocks in gst_element_set_state. timers are run  

Expected results:
gst_element_set_state does not block 

Does this happen every time?
yes 

Other information:
Backtrace: 
#0  0x00002aaaab7a59ba in pthread_cond_wait@@GLIBC_2.3.2 () 
from /lib/tls/libpthread.so.0 
#1  0x00002aaaab26b324 in gst_task_join () from /usr/lib/libgstreamer-0.10.so.0 
#2  0x00002aaaab25a5d5 in gst_pad_stop_task () 
from /usr/lib/libgstreamer-0.10.so.0 
#3  0x00002aaaae7fb103 in gst_queue_get_type () 
from /usr/lib64/gstreamer-0.10/libgstcoreelements.so 
#4  0x00002aaaab2519c0 in gst_pad_activate_push () 
from /usr/lib/libgstreamer-0.10.so.0 
#5  0x00002aaaab2557a4 in gst_pad_set_active () 
from /usr/lib/libgstreamer-0.10.so.0 
#6  0x00002aaaab2444a3 in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#7  0x00002aaaab24e900 in gst_iterator_fold () 
from /usr/lib/libgstreamer-0.10.so.0 
#8  0x00002aaaab244526 in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#9  0x00002aaaab2445d5 in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#10 0x00002aaaab2449b7 in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#11 0x00002aaaab243b82 in gst_element_continue_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#12 0x00002aaaab2441ad in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#13 0x00002aaaab242dfb in gst_element_set_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#14 0x00002aaaab235e7b in gst_bin_iterate_sorted () 
from /usr/lib/libgstreamer-0.10.so.0 
#15 0x00002aaaae90c30f in ?? () 
from /usr/lib64/gstreamer-0.10/libgstdecodebin.so 
#16 0x00002aaaab243b82 in gst_element_continue_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#17 0x00002aaaab2441ad in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#18 0x00002aaaab242dfb in gst_element_set_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#19 0x00002aaaab235e7b in gst_bin_iterate_sorted () 
from /usr/lib/libgstreamer-0.10.so.0 
#20 0x00002aaaab243b82 in gst_element_continue_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#21 0x00002aaaab2441ad in gst_element_lost_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#22 0x00002aaaab242dfb in gst_element_set_state () 
from /usr/lib/libgstreamer-0.10.so.0 
#23 0x0000000000441439 in gst::Element::setState(GstState) (this=0x612480, 
s=GST_STATE_NULL) at gst_element.h:43 
#24 0x0000000000442788 in StreamPlayer::onEOS(StreamInputBin*) (this=0x5c3740, 
input=0x612480) at /home/voltage/src/c_treamer/src/streammanager.cpp:140 
#25 0x000000000044a144 in 
StreamPipeline::EventProbeCallback::callback(_GstPad*, _GstMiniObject*) 
(this=0x627a00, p=0x628000, obj=0x729460) 
at /home/voltage/src/c_treamer/src/streampipeline.cpp:47 
#26 0x0000000000446d52 in gst::EventProbeCallback::_callback(_GstPad*, 
_GstMiniObject*, gst::EventProbeCallback*) (p=0x628000, obj=0x729460, 
cb=0x627a00) at /home/voltage/src/c_treamer/src/gst_pad.cpp:71 
#27 0x00002aaaab27ed16 in gst_marshal_BOOLEAN__POINTER () 
from /usr/lib/libgstreamer-0.10.so.0 
#28 0x00002aaaab46105a in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 
#29 0x00002aaaab474aca in g_signal_has_handler_pending () 
from /usr/lib/libgobject-2.0.so.0 
#30 0x00002aaaab47603f in g_signal_emitv () from /usr/lib/libgobject-2.0.so.0 
#31 0x00002aaaab25800e in gst_pad_load_and_link () 
from /usr/lib/libgstreamer-0.10.so.0 
#32 0x00002aaaab259770 in gst_pad_send_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#33 0x00002aaaab249419 in gst_proxy_pad_get_type () 
from /usr/lib/libgstreamer-0.10.so.0 
#34 0x00002aaaab259653 in gst_pad_send_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#35 0x00002aaaab259c4d in gst_pad_push_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#36 0x00002aaaab25a236 in gst_pad_event_default () 
from /usr/lib/libgstreamer-0.10.so.0 
#37 0x00002aaaad903f76 in gst_base_transform_set_passthrough () 
from /usr/lib/libgstbase-0.10.so.0 
#38 0x00002aaaab259653 in gst_pad_send_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#39 0x00002aaaab249419 in gst_proxy_pad_get_type () 
from /usr/lib/libgstreamer-0.10.so.0 
#40 0x00002aaaab259653 in gst_pad_send_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#41 0x00002aaaab259c4d in gst_pad_push_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#42 0x00002aaaada10eab in gst_vorbis_dec_get_type () 
from /usr/lib64/gstreamer-0.10/libgstvorbis.so 
#43 0x00002aaaab259653 in gst_pad_send_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#44 0x00002aaaab259c4d in gst_pad_push_event () 
from /usr/lib/libgstreamer-0.10.so.0 
#45 0x00002aaaae7fa0c8 in gst_queue_get_type () 
from /usr/lib64/gstreamer-0.10/libgstcoreelements.so 
#46 0x00002aaaab26a863 in gst_task_get_type () 
from /usr/lib/libgstreamer-0.10.so.0 
#47 0x00002aaaabd42a3c in g_thread_pool_free () from /usr/lib/libglib-2.0.so.0 
#48 0x00002aaaabd40bb6 in g_static_private_free () 
from /usr/lib/libglib-2.0.so.0 
#49 0x00002aaaab7a30fa in start_thread () from /lib/tls/libpthread.so.0 
#50 0x00002aaaacc6da73 in clone () from /lib/tls/libc.so.6


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list