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 728138 - Core could be more helpful with respect to event ordering
Core could be more helpful with respect to event ordering
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-04-13 23:40 UTC by Mathieu Duponchelle
Modified: 2018-11-03 12:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mathieu Duponchelle 2014-04-13 23:40:37 UTC
A precise sequence of events need to be sent before starting data flow. There's already code that ensures ordering, could gst instead of throwing warnings and errors when the ordering is not respected provide vmethods in GstElement for handling that ?

ie we can find send_caps, send_stream_start and send_segment boolean fields variations in multiple element methods (videomixer / adder are the ones that come to mind), would be nice to delegate that to GstElement and have vmethods such as get_stream_id, get_segment etc ..

I have no API proposal, just starting the discussion :)
Comment 1 Sebastian Dröge (slomo) 2014-04-14 07:29:05 UTC
I don't think that's a good idea... if this wrong event order happens anywhere in your element, your element is already doing something wrong and such API would just allow to silently fix things after they went wrong... instead of making sure the actual cause is fixed.
Comment 2 Nicolas Dufresne (ndufresne) 2014-04-14 13:11:07 UTC
I'm not sure if you are both saying the same thing. To recap the situation, asynchronous elements need to queue serialized events so they are pushed before the right buffer.

The proposal I see here would be to design helpers (in GstElement and other baseclass) that would make implementation of asynchronous element a little easier in regard to the serialized events handling. Class flags could be used to enabled the desired behavious, and prevent backward compatibility issues.

Is this correct Mathieu ?
Comment 3 Mathieu Duponchelle 2014-04-14 14:15:40 UTC
This is correct, and said better than I did.

The idea is not for core to be forgiving, but simply more helpful.

I think we could design a way to just not let the chance to the element to do anyting wrong with respect to event ordering.
Comment 4 GStreamer system administrator 2018-11-03 12:20:16 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/55.