playbin2: fix filter add/remove while paused (bug #499048)
rb_player_playing() isn't enough to determine whether we need to use pad blocking. The playbin2 player needs to use pad blocking when paused (which defers the filter add/remove until next time playback starts) because a streaming thread holds the stream lock when the pipeline is paused, so attempting to remove an element will deadlock. The crossfading player doesn't have this restriction, since when it's paused, the whole output bin (including all filters and tee branches) is in READY state.
parent
cb9f0b64
Please register or sign in to comment