[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