GNOME Bugzilla – Bug 647293
Fix pad callbacks so they handle when parent goes away
Last modified: 2011-04-13 15:43:42 UTC
Created attachment 185596 [details] [review] patch 1) We need to lock and get a strong ref to the parent, if still there. 2) If it has gone away, we need to handle that gracefully. This is necessary in order to safely modify a running pipeline. Has been observed when a streaming thread is doing a buffer_alloc() while an application thread sends an event on a pad further downstream, and from within a pad probe (holding STREAM_LOCK) carries out the pipeline plumbing while the streaming thread has its buffer_alloc() in progress.
Not really a blocker, since it's not a regression and a long-standing issue.
Would be nice to get it in, since a couple of similar fixes got in a couple of days ago.
(In reply to comment #1) > Not really a blocker, since it's not a regression and a long-standing issue. My bad, I asked Haakon to post as blocker, following the "get yer attention before release"-schema. So you take it out on me Tim! :)
Created attachment 185760 [details] [review] improved patch
Pushed this patch as three patches (for ghostpad, base and elements). Thanks :)