GNOME Bugzilla – Bug 774950
shmsink, curl*sink, dshowvideosink: Returns flushing on PLAYING->PAUSED if it can block in ->render
Last modified: 2017-12-20 21:33:59 UTC
See #773912 for explanation, they need to call gst_base_sink_wait_preroll() in render instead of returning immediately on unlock().
Created attachment 340634 [details] [review] shmsink: Block in preroll_wait on unlock The correct behaviour of anything stuck in the ->render() function between ->unlock() and ->unlock_stop() is to call gst_base_sink_wait_preroll() and only return an error if this returns an error, otherwise, it must continue where it left off!
Comment on attachment 340634 [details] [review] shmsink: Block in preroll_wait on unlock shmsink is down, curl and dshowvideosink left to do. Attachment 340634 [details] pushed as e19e02d - shmsink: Block in preroll_wait on unlock
I looked through the curl and dshowvideosink elements and it seems that in both cases the current code is fine, so closing this.