[gst-devel] How to flush a bus when removing an element from a pipeline?
wl2776
wl2776 at gmail.com
Fri Apr 23 08:52:24 CEST 2010
My application adds an uridecodebin instance to the pipeline, and then
removes it, if the element doesn't go to the paused state (this can happen,
if a non-media file was supplied to the uridecodebin) and returns
GST_STATE_CHANGE_FAILURE.
I call
gst_object_unref(uridecodebin_inst);
uridecodebin_inst=NULL;
after the removal.
And the problem is that my application sometimes crashes with the system
error message saying, it attempted writing to the location 0x0000010. Or,
the location 0xfeeefef6.
I am using MS Visual Studio 2008, and the latter address is very close to
the 0xfeeefeee - the value, CRT fills the just released memory.
Call stack is useless, it contains only some addresses in the GLib DLL and
in windows system libraries.
I suspect, this is because the bus contains some messages related to the
recently removed uridecodebin.
How can I flush these messages or wait for finishing of all threads, related
to the element removal?
--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-to-flush-a-bus-when-removing-an-element-from-a-pipeline-tp2027847p2027847.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
More information about the gstreamer-devel
mailing list