|
From: Olivier C. <oli...@co...> - 2008-08-25 23:20:19
|
Hello, I just noticed that gst_pad_get_internal_links() is not thread safe. It does not take the object lock while looking up the list of pads and does not reference the pads. So its very possible that it could happen in the middle of a modification of the list (lets say if I add a pad to a tee). Or that the pad could be gone by the time I get to do something with it. I propose deprecating it (since we can't modify it without breaking the ABI) and add a new call get_internal_links_safe() that will returns a list of refed pads. And fixing the default implementation of boths to be thread safe (and probably having the default implementation of the unsafe version call the safe version and unref the pads). -- Olivier Crête oli...@co... Collabora Ltd |