[Gstreamer-bugs] [Bug 141906] New: - hang on removing ximagesink from a pipeline
bugzilla-daemon at widget.gnome.org
bugzilla-daemon at widget.gnome.org
Wed May 5 06:36:20 PDT 2004
http://bugzilla.gnome.org/show_bug.cgi?id=141906
GStreamer | gst-plugins | Ver: 0.8.1
Summary: hang on removing ximagesink from a pipeline
Product: GStreamer
Version: 0.8.1
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins
AssignedTo: gstreamer-maint at bugzilla.gnome.org
ReportedBy: zaheerabbas at merali.org
QAContact: gstreamer-maint at bugzilla.gnome.org
This function:
int stop_visualisation_substream(struct stream_details* sd)
{
if (sd->sub_stream_status[3]) {
#ifdef GST_06
gst_pad_disconnect (gst_element_get_pad (sd->pe->color,"src"),
#else
gst_x_overlay_set_xwindow_id(GST_X_OVERLAY(sd->pe->vsink),0);
gst_pad_disconnect (gst_element_get_pad (sd->pe->color,"src"),
#endif
gst_element_get_pad (sd->pe->vsink,"sink"));
gst_pad_disconnect (gst_element_get_pad (sd->pe->queue,"src"),
gst_element_get_pad (sd->pe->color,"sink"));
gst_pad_disconnect (gst_element_get_pad (sd->pe->vis,"src"),
gst_element_get_pad (sd->pe->queue,"sink"));
gst_pad_disconnect (gst_element_get_pad (sd->pe->s2m,"src"),
gst_element_get_pad (sd->pe->vis,"sink"));
gst_pad_disconnect(sd->pe->tee1_src3,
gst_element_get_pad (sd->pe->s2m, "sink"));
gst_bin_remove (GST_BIN (sd->pe->vis_thread), sd->pe->queue);
gst_bin_remove (GST_BIN (sd->pe->vis_thread), sd->pe->color);
gst_bin_remove (GST_BIN (sd->pe->vis_thread), sd->pe->vsink);
gst_bin_remove (GST_BIN (sd->pe->pipeline), sd->pe->s2m);
gst_bin_remove (GST_BIN (sd->pe->pipeline), sd->pe->vis);
gst_bin_remove (GST_BIN (sd->pe->pipeline), sd->pe->vis_thread);
gst_element_release_request_pad(sd->pe->tee, sd->pe->tee1_src3);
sd->sub_stream_status[3]=0;
return 0;
}
return -1;
}
That function hangs on gst_bin_remove (GST_BIN (sd->pe->vis_thread),
sd->pe->vsink);. The pipeline state is PAUSED and vis_thread is a GstThread.
Here is the last debug output:
DEBUG GST_PARENTAGE(24432) gstbin.c(579):gst_bin_remove: [visthread]: trying
to remove child vsink
DEBUG GST_SCHEDULING(24432) gstbin.c(360):gst_bin_unset_element_sched: removing
element "vsink" from its sched 0x81e4ac0
DEBUG scheduler(24432)
gstoptimalscheduler.c(1761):gst_opt_scheduler_remove_element:<GstOptScheduler at 0x81e4ac0>
removing element "vsink"
DEBUG GST_PARENTAGE(24432)
gstelement.c(3210):gst_element_set_scheduler:<vsink> setting scheduler to (nil)
INFO GST_PARENTAGE(24432) gstbin.c(544):gst_bin_remove_func:<visthread>
removed child "vsink"
DEBUG scheduler(24432)
gstoptimalscheduler.c(1439):gst_opt_scheduler_state_transition: element
"visthread" state change 1025
INFO GST_REFCOUNTING(24432) gstelement.c(2980):gst_element_dispose:<vsink> dispose
INFO GST_STATES(24432) gstelement.c(2684):gst_element_set_state:<vsink>
setting state from PAUSED to NULL
DEBUG GST_STATES(24432) gstelement.c(2703):gst_element_set_state:<vsink>
intermediate: setting state from PAUSED to READY
DEBUG GST_CAPS(24432)
gstelement.c(2816):gst_element_clear_pad_caps:<vsink> clearing pad caps
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
You are the QA contact for the bug, or are watching the QA contact.
More information about the Gstreamer-bugs
mailing list