After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 381603 - GstBus should auto-flush on a failed NULL->READY state change
GstBus should auto-flush on a failed NULL->READY state change
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: 2.x
Assigned To: Jan Schmidt
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-12-02 13:52 UTC by Jan Schmidt
Modified: 2018-11-03 12:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch to flush the bus when NULL->READ state change fails (1.09 KB, patch)
2006-12-02 13:53 UTC, Jan Schmidt
rejected Details | Review

Description Jan Schmidt 2006-12-02 13:52:46 UTC
A failure to change state to READY in the pipeline should be handled like a NULL->READY->NULL transition and set the bus to auto-flushing, so that default pipelines don't end up with refcount loops due to messages on the bus.
Comment 1 Jan Schmidt 2006-12-02 13:53:26 UTC
Created attachment 77538 [details] [review]
patch to flush the bus when NULL->READ state change fails
Comment 2 Wim Taymans 2006-12-04 09:17:47 UTC
Does not sound useful since you flush the error messages with the reason for the failed state change...
Comment 3 Jan Schmidt 2006-12-04 10:03:08 UTC
Right, but we've already said that any app that expects messages in NULL should set auto-flush = FALSE on the bus.
Comment 4 Jan Schmidt 2006-12-04 10:04:11 UTC
er, on the pipeline
Comment 5 Jan Schmidt 2007-02-27 17:18:57 UTC
This has been hanging around a while now. Is the consensus that it's not possible, because it would break existing apps that are not setting autoflush=false on the pipeline yet expect messages in NULL?

If so, I'd like to punt it to a 0.11 enhancement, even though I get the feeling the way the bus works will be changing then anyway.
Comment 6 Tim-Philipp Müller 2012-06-27 15:58:42 UTC
Now or never..


Me, I'm undecided. One could also special-case things so that a gst_element_set_state(NULL) will flush the bus if auto-flush isn't set to FALSE (instead of short-cutting due to current_state == target_state). I think most people will still do the set_state() to NULL at the end, because it's the most natural thing to do code-flow wise usually.
Comment 7 Tim-Philipp Müller 2012-09-24 22:59:48 UTC
Guess we missed our chance here.. Jan, what's up with this now?
Comment 8 Jan Schmidt 2012-09-25 03:08:28 UTC
Same as it ever was, I guess, +5.5 years.
Comment 9 Christian Fredrik Kalager Schaller 2012-09-25 11:48:10 UTC
Don't worry Jan we will get this bug fixed for its 15th anniversary, I promise
Comment 10 Tim-Philipp Müller 2014-11-24 01:19:51 UTC
Jan, can we close this?

I think the best way to handle this would be if we could flush the bus on a state change from NULL to NULL , but not sure how/where one would implement this.
Comment 11 Luis de Bethencourt 2014-11-24 10:10:52 UTC
Change from NULL to NULL?
Comment 12 Tim-Philipp Müller 2014-11-27 11:32:30 UTC
Yes.
Comment 13 GStreamer system administrator 2018-11-03 12:12:47 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/7.