streamsynchronizer: avoid pad destruction races.
authorCharlie Turner <cturner@igalia.com>
Fri, 20 Sep 2019 08:48:30 +0000 (09:48 +0100)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 5 Oct 2019 11:04:57 +0000 (12:04 +0100)
commitb2361cb477a9209ee2130536f1aab43ceb5474be
tree6c9617016bd3ee3c95d8be64ada2631b8f0fca91
parent9c955dafeb86a0f1997f29d2a445dd5f7aaa0ed4
streamsynchronizer: avoid pad destruction races.

Due to the use of {set/get}-element_private methods being used to store
the GstSyncStream in the src and sink pads, and the racey nature of pad
destruction, there are numerous ways we can be bitten by race conditions
in the stream synchronizer. Fix that by tying the pads toghether with
references.
gst/playback/gststreamsynchronizer.c