GNOME Bugzilla – Bug 352958
pad_alloc_buffer and stream lock
Last modified: 2006-08-29 09:58:59 UTC
Were we going to do something about this: ~/gst-ffmpeg/tests/check$ G_DEBUG=fatal_warnings make generic/libavcodec-locking.forever Running suite(s): Pipelines GStreamer-CRITICAL **: gst_caps_ref: assertion `GST_CAPS_REFCOUNT_VALUE (caps) > 0' failed aborting... THREAD 1: ....
+ Trace 71025
Please close if not, just didn't want it to get lost.
ffmpeg is passing GST_PAD_CAPS (ffmpegdec->srcpad) , whereas: _ There's no check as to the pad having caps _ That piece of code doesn't have the lock on the pad, so the caps could change. Maybe we should get the caps at the beginning of that function (via gst_pad_get_caps()) and unref it at the end. I can't reproduce that error though :(
> I can't reproduce that error though :( I can reproduce it very rarely myself, the window for it to happen is very small. Need the -forever checks usually. It does happen on the p5 build bot occasionally though. Might also be the cause for other spurious failures on the fc4 build bot. Ask wtay for more details, we talked about it shortly on IRC, I just filed it so it doesn't get lost.
* gst/gstelement.c: (activate_pads), (clear_caps), (iterator_activate_fold_with_resync), (gst_element_pads_activate): Clear the pad caps when the element shut down all of the pads and is not streaming data that could modify the caps. Fixes #352958.