GNOME Bugzilla – Bug 649878
[multiqueue] regression: gst_single_queue_new not MT-safe
Last modified: 2011-05-10 17:08:49 UTC
Created attachment 187566 [details] [review]
multiqueue: ensure MT-safety when adding a pad
gst_single_queue_new creates a single queue and adds this to the multiqueue, but it seems that GST_MULTI_QUEUE_MUTEX_UNLOCK is performed too soon. Specifically, the lock is dropped before various fields of the single queue are setup, most notably the actual ->queue DataQueue, although the single queue is then already added to the list of multiqueue's queues. Particularly the latter field may get accessed in some underrun/overrun callback iterating over all GstSingleQueue (leading to a NULL data queue).
Author: Mark Nauwelaerts <firstname.lastname@example.org>
Date: Tue May 10 11:11:15 2011 +0200
multiqueue: ensure thread safety when adding a pad
This seems to be a regression, and was causing crashes.