playbin: Keep inputselector around until we release its pads
authorSebastian Dröge <sebastian@centricular.com>
Tue, 18 Feb 2014 14:02:57 +0000 (15:02 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 18 Feb 2014 14:06:25 +0000 (15:06 +0100)
commita5918b0ab5c2880244ea75fe7ecafbee455a2daf
tree34918e0c642286a410b3692086e08f7e53375bf5
parent6c6619a66922bac0c343c4a5623d5bdb322f0e92
playbin: Keep inputselector around until we release its pads

Otherwise there's an interesting race condition when we destroy
the inputselector (actually it will be destroyed later when its state
change message gets destroyed) and afterwards release its sinkpad.

This is the code path when the last channel is removed from the
input selector.

Gave this warning sometimes, for chained oggs or whenever else
we change decode groups:
GStreamer-CRITICAL **: Padname '':sink_0 does not belong to element inputselector0 when removing
gst/playback/gstplaybin2.c