[Bug 773912] basesink: Returns flushing on PLAYING->PAUSED if it can block in ->render

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Nov 4 16:19:08 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=773912

--- Comment #3 from Olivier CrĂȘte <olivier.crete at ocrete.ca> ---
It seems broken in every subclass I looked at that blocks inside render() .
Nicolas mentioned that in some decoding sink a couple years ago, he had to had
some hairy code in the unlock() to figure out if it was a pause or a real
flush. 

I don't mind adding a flag of some kind, but I really don't like the code I'm
adding to every subclass there, so I'm hoping we can do something nicer. Maybe
have some way to make basesink know that it's already prerolled and release the
lock before calling render() or something like that, the state machine there is
horribly hairy and undocumented, so I'm really worried about modifying it.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list