GNOME Bugzilla – Bug 383043
Videomixer can crash when adding/removing pads while playing
Last modified: 2006-12-16 16:21:44 UTC
The videomixer has a list of sinkpads and some other misc data dependant on the pads it has and uses this inside it's _collected function. Unfortunately adding or removing a pad while in the playing state can change this lists while the _collected function uses them. Which leads to unexpected things (such as crashes)
Created attachment 77831 [details] [review] Introduce some locking around the videomixer state
Patch by: Sjoerd Simons <sjoerd at luon dot net> * gst/videomixer/videomixer.c: (gst_videomixer_pad_set_property), (gst_videomixer_set_master_geometry), (gst_videomixer_pad_sink_setcaps), (gst_videomixer_collect_free), (gst_videomixer_reset), (gst_videomixer_init), (gst_videomixer_finalize), (gst_videomixer_request_new_pad), (gst_videomixer_release_pad), (gst_videomixer_collected), (gst_videomixer_change_state): Introduce some locking around the videomixer state so that it does not crash when adding/removing pads. Fixes #383043.