From: GStreamer (bugzilla.gnome.org) <bug...@bu...> - 2005-10-06 14:02:46
|
Do not reply to this via email (we are currently unable to handle email responses and they get discarded). You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=3D318116 GStreamer | gstreamer (core) | Ver: HEAD CVS ------- Additional Comments From Wim Taymans 2005-10-06 14:02 ------- Created an attachment (id=3D53113) --> (http://bugzilla.gnome.org/attachment.cgi?id=3D53113&action=3Dview) proposed patch this patch makes sure set_state() never blocks. It can return ASYNC and w= ill then asynchronously move itself to the target state at which point it wil= l post a message. A get_state() call blocks until the desired target state is re= ached. The pending state in the get_state() call now returns the target value of= the state change. A get_state() can thus return current:READY pending:PLAYING= if the element is currently going from READY to PAUSED but was requested to = go to PLAYING after that. Downward state changes also never block and will ignore all intermediate = ASYNC state changes up to the final state. Error conditions are also handled better so that no lockups can occur whe= n trying to recover from an error. ------- You are receiving this mail because: ------- You are the assignee for the bug. You are the QA contact for the bug. |