gstreamer issueshttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues2021-09-24T11:10:58Zhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/101queue: Add property to allow pushing all queued buffers together2021-09-24T11:10:58ZBugzilla Migration Userqueue: Add property to allow pushing all queued buffers together## Submitted by Jose Antonio Santos Cadenas
**[Link to original bug (#746524)](https://bugzilla.gnome.org/show_bug.cgi?id=746524)**
## Description
Created attachment 299946
queue: Add property to allow pushing all queued buffers t...## Submitted by Jose Antonio Santos Cadenas
**[Link to original bug (#746524)](https://bugzilla.gnome.org/show_bug.cgi?id=746524)**
## Description
Created attachment 299946
queue: Add property to allow pushing all queued buffers together
Attached patch adds a property that allows queue to send a buffer list with all the
queued buffers currently in the queue. If there are other kind of data in the queue order is preserved I mean, buffer list only contains buffers up to an event or a query.
~~**Patch 299946**~~, "queue: Add property to allow pushing all queued buffers together":
[0001-queue-Add-property-to-allow-pushing-all-queued-buffe.patch](/uploads/61fe2cbbf12d2ecaa921030735cfa91e/0001-queue-Add-property-to-allow-pushing-all-queued-buffe.patch)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/98[2.0] allocation query: Minimum should become global to the query rather then...2022-04-19T06:37:32ZBugzilla Migration User[2.0] allocation query: Minimum should become global to the query rather then per pool## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#746213)](https://bugzilla.gnome.org/show_bug.cgi?id=746213)**
## Description
The minimum as found in allocation pool is the minimum buffer required by a segment...## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#746213)](https://bugzilla.gnome.org/show_bug.cgi?id=746213)**
## Description
The minimum as found in allocation pool is the minimum buffer required by a segment of a pipeline to function. Having this minimum spread across the allocation pool array is inconvenient. In 2.0 we should most likely make this field global to the query so updating it is easier.
Version: 2.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/97allocation query: Add API to increase and update the minimum require buffers2022-04-07T06:00:01ZBugzilla Migration Userallocation query: Add API to increase and update the minimum require buffers## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#746212)](https://bugzilla.gnome.org/show_bug.cgi?id=746212)**
## Description
As it goes, the minimum buffers in an allocation pool has a special meaning. It rep...## Submitted by Nicolas Dufresne `@ndufresne`
**[Link to original bug (#746212)](https://bugzilla.gnome.org/show_bug.cgi?id=746212)**
## Description
As it goes, the minimum buffers in an allocation pool has a special meaning. It represent the minimum amount of buffers required in order for a segment of a pipeline to function. Element that retain buffers must update this value in order to ensure the pool will function.
Unfortunately this value is not exposed globally, but rather per allocation pool. This means that to update/increase this value, one need to iterate over the pool list, remove pool which have a maximum too small and update minimum. In order to make this task easier, we could add utilities in the core API. Currently this is implemented by videorate only, but queues with minimum threshold should implement that too, deinterlace element, and many others may also need to do so.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/92gst-plugin-scanner should show the plugin emitting errors and warnings2021-09-24T11:11:05ZBugzilla Migration Usergst-plugin-scanner should show the plugin emitting errors and warnings## Submitted by Pacho Ramos
**[Link to original bug (#744134)](https://bugzilla.gnome.org/show_bug.cgi?id=744134)**
## Description
Created attachment 296333
build.log
On Gentoo we run compilations inside a sandbox system to p...## Submitted by Pacho Ramos
**[Link to original bug (#744134)](https://bugzilla.gnome.org/show_bug.cgi?id=744134)**
## Description
Created attachment 296333
build.log
On Gentoo we run compilations inside a sandbox system to prevent unwanted access to files and devices from "real" system. That way, we are getting now errors as gst-plugin-scanner wants to access to /dev/video0 directly.
Probably this access is due to a plugin loaded by gst-plugin-scanner but, as it doesn't show any more output than:
(gst-plugin-scanner:23320): Clutter-CRITICAL **: Unable to initialize Clutter: Unable to open display ':0'
(gst-plugin-scanner:23320): GStreamer-CRITICAL **: gst_structure_new_empty: assertion 'gst_structure_validate_name (name)' failed
* ACCESS DENIED: open_wr: /dev/video0
It's near impossible to know what plugin is causing this issue
The attached full build.log is from farstream-0.2.6, whose building calls gst-plugin-scanner and hits this problem
Thanks a lot
**Attachment 296333**, "build.log":
[farstream-0.2.6_20150207-171549.log](/uploads/793dc610dc437c8b596b22ebb20a1f13/farstream-0.2.6_20150207-171549.log)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/88Add new control binding GstAppControlBinding2022-11-10T09:20:45ZBugzilla Migration UserAdd new control binding GstAppControlBinding## Submitted by Heinrich Fink `@heinrich.fink`
**[Link to original bug (#743248)](https://bugzilla.gnome.org/show_bug.cgi?id=743248)**
## Description
Created attachment 295004
patch
GstAppControlBinding is a new GstControlBin...## Submitted by Heinrich Fink `@heinrich.fink`
**[Link to original bug (#743248)](https://bugzilla.gnome.org/show_bug.cgi?id=743248)**
## Description
Created attachment 295004
patch
GstAppControlBinding is a new GstControlBinding subclass that emits a signal ('update-value') in order to update the value of its bound property. This allows applications to connect to this signal and to set controllable properties along the time-line, without being tied to GstControlSource / GstDirectControlBinding. A patch of a first implementation, including basic unit tests and documentation is provided.
Example use case:
A live mixing application uses compositor/glvideomixer to animate multiple video layers along an application-defined time-line. This is done by setting the properties xpos/ypos/width/height of compositor's sink pads accordingly. Using GstControlSource / GstDirectControlBinding doesn't work here because:
-) 0..1 sources would be mapped to the full property range. That doesn't really make sense for properties using pixel coordinates (e.g. xpos/ypos/width/height).
-) Since this a *live* mixing application, changes of a video layer's properties (i.e. sink pad's xpos/ypos/width/height properties) need to have immediate effect (e.g. animating a transition based on real-time user input). One could try to just set xpos/ypos/width/height using a single g_object_set call, but since this is not guaranteed to be atomic, this could result in one frame to already have updated xpos/ypos values, but not yet updated width/height values, resulting in undesired animation artefacts. Using GstAppControlBinding, the application simply binds to xpos/ypos/width/height, which results in the signal being emitted before each rendered frame for all bound properties. The application could then make sure that the right xpos/ypos/width/height tuple is used for the requested render time.
Further remarks:
(1) Since GstAppControlBinding does have to map GstControlSource's 0..1 value to something useful (like GstDirectControlBinding does), we could support further PARAM_SPEC types (like strings, chars, whatever). However, until a good use case for this comes up, GstAppControlBinding only supports the same types as GstDirectControlBinding.
(2) The performance of the installed signal ('update-value') might be improved by passing more advanced flags to g_signal_new (accumulators, etc). Out of my lacking experience with this, I have only installed a basic signal for now.
(3) If GstAppControlBinding is asked for an array of values, it is currently emitting multiple signals, for each time-sample of the requested array, in order to fill the array. This could be optimized by using another signal that returns an array of GValues instead of just a single GValue.
(4) The GValue instance returned by the 'update-value' signal is currently expected to hold the same type as the bound property. Alternatively, type conversion could be attempted, if supported.
(5) Similar to GstDirectControlBinding, GstAppControlBinding does not set the target property, if the value hasn't changed.
(6) I tried to extend the documentation to document GstAppControlBinding, I hope I haven't missed anything :)
(7) Credits: I have added Stefan Sauer (ensonic) to the license headers, because most of the code was based on his GstDirectControlBinding implementation, and I have also added Sebastian Dröge (slomo), because GstAppControlBinding was his idea.
I am looking forward to your feedback!
~~**Patch 295004**~~, "patch":
[0001-gstreamer-Add-new-binding-GstAppControlBinding.patch](/uploads/9fac89dd01b7a11bc423d41955f47456/0001-gstreamer-Add-new-binding-GstAppControlBinding.patch)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/87Permit missing codec installation when GST_REGISTRY_UPDATE=no2022-11-10T09:20:45ZBugzilla Migration UserPermit missing codec installation when GST_REGISTRY_UPDATE=no## Submitted by Michael Catanzaro `@mcatanzaro`
**[Link to original bug (#742617)](https://bugzilla.gnome.org/show_bug.cgi?id=742617)**
## Description
It would be nice for gstreamer to detect the presence of new plugins even when ru...## Submitted by Michael Catanzaro `@mcatanzaro`
**[Link to original bug (#742617)](https://bugzilla.gnome.org/show_bug.cgi?id=742617)**
## Description
It would be nice for gstreamer to detect the presence of new plugins even when running with GST_REGISTRY_UPDATE=no, which we're going to need to use to sandbox the web process in WebKitGTK+. Otherwise, I think we'll need to restart our web processes when a plugin is installed.
slomo: restarting the web process can be prevented with some changes in gstreamer though
slomo: gstreamer/gst/gstregistry.c, gst_update_registry() -> ensure_current_registry() is the interesting part
slomo: basically you need a way to set _gst_disable_registry_cache to FALSE again
slomo: assuming that code can actually be called twice, otherwise that needs to be fixed too
slomo: maybe it should actually be always called again
Version: 1.4.5
### See also
* https://bugs.webkit.org/show_bug.cgi?id=140131
* https://bugs.webkit.org/show_bug.cgi?id=146993https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/85gstpluginfeature: Properly expose the class.2021-09-24T11:11:08ZBugzilla Migration Usergstpluginfeature: Properly expose the class.## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#741260)](https://bugzilla.gnome.org/show_bug.cgi?id=741260)**
## Description
To allow external applications libraries to implement
their own factory.
+ Impl...## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#741260)](https://bugzilla.gnome.org/show_bug.cgi?id=741260)**
## Description
To allow external applications libraries to implement
their own factory.
+ Implements getters and setters for priv->plugin and priv->loaded.
### Blocking
* [Bug 742610](https://bugzilla.gnome.org/show_bug.cgi?id=742610)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/83tests: add unit test to show how a custom buffer pool can insert memory in a ...2022-11-10T09:20:45ZBugzilla Migration Usertests: add unit test to show how a custom buffer pool can insert memory in a buffer## Submitted by Benjamin Gaignard
**[Link to original bug (#740273)](https://bugzilla.gnome.org/show_bug.cgi?id=740273)**
## Description
Created attachment 290866
custom buffer pool unitary test
This unitary test perform the ...## Submitted by Benjamin Gaignard
**[Link to original bug (#740273)](https://bugzilla.gnome.org/show_bug.cgi?id=740273)**
## Description
Created attachment 290866
custom buffer pool unitary test
This unitary test perform the same check than gstbufferpool test but use a custom pool allocation function to add memory in a new buffer.
Nothing revolutionary here but it could be an example of how manage memory insertion in custom buffer pool.
**Patch 290866**, "custom buffer pool unitary test":
[0002-add-custom-buffer-pool.patch](/uploads/4849253f00698ca03e4849756199f1f8/0002-add-custom-buffer-pool.patch)
Version: 1.4.3https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/82baseparse: Add support to skip padding areas in segments2022-11-10T09:20:44ZBugzilla Migration Userbaseparse: Add support to skip padding areas in segments## Submitted by Carlos Rafael Giani
**[Link to original bug (#740196)](https://bugzilla.gnome.org/show_bug.cgi?id=740196)**
## Description
Created attachment 290777
Patch for new adjust_segment vfunc
Useful if the subclass ne...## Submitted by Carlos Rafael Giani
**[Link to original bug (#740196)](https://bugzilla.gnome.org/show_bug.cgi?id=740196)**
## Description
Created attachment 290777
Patch for new adjust_segment vfunc
Useful if the subclass needs to adjust the segment further before it is sent, for example to exclude padding areas.
In particular, this patch will be necessary for another patch in -good for getting gapless playback in the mpegaudioparse working. The information in the LAME tag is used to adjust the segment with this new vfunc.
~~**Patch 290777**~~, "Patch for new adjust_segment vfunc":
[0001-baseparse-add-vfunc-to-adjust-output-segment.patch](/uploads/4a4b8f48fde6beb3159ce2b46b255ad8/0001-baseparse-add-vfunc-to-adjust-output-segment.patch)
### Blocking
* [Bug 620323](https://bugzilla.gnome.org/show_bug.cgi?id=620323)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/78RFC: add API to GstPreset to compare presets2022-11-10T09:20:44ZBugzilla Migration UserRFC: add API to GstPreset to compare presets## Submitted by Stefan Kost `@ensonic`
Assigned to **Stefan Kost `@ensonic`**
**[Link to original bug (#739685)](https://bugzilla.gnome.org/show_bug.cgi?id=739685)**
## Description
Applications using the preset system will e.g. sh...## Submitted by Stefan Kost `@ensonic`
Assigned to **Stefan Kost `@ensonic`**
**[Link to original bug (#739685)](https://bugzilla.gnome.org/show_bug.cgi?id=739685)**
## Description
Applications using the preset system will e.g. show a list of presets and the properties of the element. When selecting a preset the properties get updated. When the user now edits the properties further, the user derives the preset.
It would be nice if the UI could check if the current settings are still equal to what was initially set by the preset and if not how they differ.
One way to do this could be a function in the preset iface that returns the distance between the current settings and a given preset. Patch follows.
Version: 1.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/74debug logging: Print the GstTask name as well as the thread pointer in the de...2022-11-10T09:21:00ZBugzilla Migration Userdebug logging: Print the GstTask name as well as the thread pointer in the debugs## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736402)](https://bugzilla.gnome.org/show_bug.cgi?id=736402)**
## Description
Currently the debug looks like:
0:00:00.487023893 31989 0x1294590 DEBUG ca...## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736402)](https://bugzilla.gnome.org/show_bug.cgi?id=736402)**
## Description
Currently the debug looks like:
0:00:00.487023893 31989 0x1294590 DEBUG category ...
where 0x1294590 is the thread as return by g_thread_self. It would be pretty useful to use the name of the GstTask associated when there is one, leading to something like:
0:00:00.487023893 31989 videotestsrc0:src_0x1294590 DEBUG category ...
What do you think?2.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3117validate: Make it possible to run gst-validate-launcher on embedded device (t...2023-11-09T18:17:09ZBugzilla Migration Uservalidate: Make it possible to run gst-validate-launcher on embedded device (that might not support python)## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736137)](https://bugzilla.gnome.org/show_bug.cgi?id=736137)**
## Description
The gst-validate-launcher is written in python, we should make sure that the tests...## Submitted by Thibault Saunier `@thiblahute`
**[Link to original bug (#736137)](https://bugzilla.gnome.org/show_bug.cgi?id=736137)**
## Description
The gst-validate-launcher is written in python, we should make sure that the tests can be run on embedded platforms, and hopefully even the ones that do not support python (android, iOS?).
For that we might want to launch the test through ssh?https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/72[Proposal] adjustment of rank by command line option2021-09-24T11:11:16ZBugzilla Migration User[Proposal] adjustment of rank by command line option## Submitted by Justin Kim `@joykim`
**[Link to original bug (#735443)](https://bugzilla.gnome.org/show_bug.cgi?id=735443)**
## Description
In case of special element with rank zero, there's no way to deploy by gst-launch and autopl...## Submitted by Justin Kim `@joykim`
**[Link to original bug (#735443)](https://bugzilla.gnome.org/show_bug.cgi?id=735443)**
## Description
In case of special element with rank zero, there's no way to deploy by gst-launch and autoplugging.
If ranks can be set by an option, we can do test simply by command line tool even plugins has zero rank.
I suggest "--gst-rank" option for gst_init. However, I failed to find a proper location for this feature so I just modified "gst.c".https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/66queue2: Process SEEKING query2022-11-10T09:20:44ZBugzilla Migration Userqueue2: Process SEEKING query## Submitted by Jan Alexander Steffens `@heftig`
**[Link to original bug (#733351)](https://bugzilla.gnome.org/show_bug.cgi?id=733351)**
## Description
Created attachment 281085
patch
In order to seek FLV streams, flvdemux cr...## Submitted by Jan Alexander Steffens `@heftig`
**[Link to original bug (#733351)](https://bugzilla.gnome.org/show_bug.cgi?id=733351)**
## Description
Created attachment 281085
patch
In order to seek FLV streams, flvdemux creates a seek index;
however, this index is not created if upstream is not seekable.
gst_flv_demux_check_seekability was copied nearly verbatim from
GstBaseParse.
This commit adds QUERY_SEEKING handling to queue2, so RTMP live
streams become seekable when a queue2 in download or ringbuffer
mode is inserted:
rtmpsrc ! queue2 ! flvdemux
Alternatively, flvdemux could be altered to not require
seekability. I am unsure what is the best approach.
~~**Patch 281085**~~, "patch":
[0001-queue2-Process-SEEKING-query.patch](/uploads/df33bc06c04b65b6738288e18ea70f7c/0001-queue2-Process-SEEKING-query.patch)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/64review debugging env vars2023-02-03T20:16:28ZBugzilla Migration Userreview debugging env vars## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#733188)](https://bugzilla.gnome.org/show_bug.cgi?id=733188)**
## Description
Current debug-log env vars
GST_DEBUG_FILE (defaults to stderr)
when not set log t...## Submitted by Stefan Kost `@ensonic`
**[Link to original bug (#733188)](https://bugzilla.gnome.org/show_bug.cgi?id=733188)**
## Description
Current debug-log env vars
GST_DEBUG_FILE (defaults to stderr)
when not set log to stderr, when set points to path for the debug log
GST_DEBUG_COLOR_MODE (defaults to color) (deprecated)
when set use ansi color codes, otherwise plain text
GST_DEBUG_NO_COLOR ("on", "auto", "off", "disable", "unix")
on = auto: platform specific color codes
off = disabled: no color codes
unix = force ansi
Proposed env vars
GST_DEBUG_CHANNEL (defaults to stderr)
stderr
fd://stderr, fd://stdout
file:///path/to/file (or /path/to/file , file)
tcp://`<ip>`:`<port>` (or just `<ip>`:`<port>`)
mem://`<size>`
Log to the given channel.
Alternative names GST_DEBUG_{STREAM,OUT,METHOD,....}
GST_DEBUG_FORMAT (default to text/auto-color)
text/plain (plain text)
text/auto-color (platform specific color codes)
text/ansi (ansi color coded)
binary/ctf (see babeltrace (Common Trace Format (CTF), e.g. used by lttng)
These could be sort-of mime-types.
We also could discuss if we just want to have one at a time, or even allow multiple pairs. The ater makes it tricky for the variables though.
Another alternative would be to merge CHANNEL+FORMAT as a uri:
GST_DEBUG_OUT=fd://stderr#format=text/plain&option1=value&option2=value
Version: 1.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/63gst_element_state_* functions should read gst_state_*2021-09-24T11:11:20ZBugzilla Migration Usergst_element_state_* functions should read gst_state_*## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#733088)](https://bugzilla.gnome.org/show_bug.cgi?id=733088)**
## Description
It is inconsistent with respects to the rest of the API, it seems more intuitive to me...## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#733088)](https://bugzilla.gnome.org/show_bug.cgi?id=733088)**
## Description
It is inconsistent with respects to the rest of the API, it seems more intuitive to me to write gst_state_get_name (GstState state);
That was my nitpick of the day :)
Version: 2.xhttps://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/60Specify, design and implement a base class for demuxers2021-09-24T11:11:20ZBugzilla Migration UserSpecify, design and implement a base class for demuxers## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#732616)](https://bugzilla.gnome.org/show_bug.cgi?id=732616)**
## Description
I open that bug report so we can gather requirements and design ideas for a base demux...## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#732616)](https://bugzilla.gnome.org/show_bug.cgi?id=732616)**
## Description
I open that bug report so we can gather requirements and design ideas for a base demuxer class, hopefully it will end up RESOLVED FIXED :)
I don't have many ideas, only two requirements that I will detail in the following comment.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/59bytereader: SIMD-based optimization to find start code on H.264 and H.265 str...2021-09-24T11:11:21ZBugzilla Migration Userbytereader: SIMD-based optimization to find start code on H.264 and H.265 streams## Submitted by Sungho Bae
**[Link to original bug (#730783)](https://bugzilla.gnome.org/show_bug.cgi?id=730783)**
## Description
Created attachment 277253
001_gstbytereader_neon_improvement_patch
In the parse phase for video...## Submitted by Sungho Bae
**[Link to original bug (#730783)](https://bugzilla.gnome.org/show_bug.cgi?id=730783)**
## Description
Created attachment 277253
001_gstbytereader_neon_improvement_patch
In the parse phase for video streams, bytescanning is performed to find the start and end of each NAL unit. This implementation is to improve the performance of bytescanning for start code using both ARM NEON instructions and pointer access instead of indexed access.
The advantages are to reduce CPU usage and to enhance the scanning performance.
This patch assumes that '0x0000' is unlikely to appear and the zeros are part of the start code, that is, '0x010000'.
Our proposed idea is based on the assumption.
If we quickly know whether or not there exists '0x0000' in the scanning area to find the start code, we can skip the scanning process for the start code.
We thus implemented the preprocessing to know whether or not there exists '0x0000'.
Because the probability of zeros to appear is low, its performance dramatically improved.
~~**Patch 277253**~~, "001_gstbytereader_neon_improvement_patch":
[001_bytereader_improve_v1.0_baver.bae.patch](/uploads/bee61bab7bf965d77351d3c59ae5b818/001_bytereader_improve_v1.0_baver.bae.patch)https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/58check: add chain list function on sinkpad2021-09-24T11:11:21ZBugzilla Migration Usercheck: add chain list function on sinkpad## Submitted by Guillaume Desmottes `@gdesmott`
**[Link to original bug (#730639)](https://bugzilla.gnome.org/show_bug.cgi?id=730639)**
## Description
In order to easily test their "chain_list" code path it would be useful to add a ...## Submitted by Guillaume Desmottes `@gdesmott`
**[Link to original bug (#730639)](https://bugzilla.gnome.org/show_bug.cgi?id=730639)**
## Description
In order to easily test their "chain_list" code path it would be useful to add a chain_list hook on the test sink pad.https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/55Core could be more helpful with respect to event ordering2021-09-24T11:11:22ZBugzilla Migration UserCore could be more helpful with respect to event ordering## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#728138)](https://bugzilla.gnome.org/show_bug.cgi?id=728138)**
## Description
A precise sequence of events need to be sent before starting data flow. There's alread...## Submitted by Mathieu Duponchelle `@meh`
**[Link to original bug (#728138)](https://bugzilla.gnome.org/show_bug.cgi?id=728138)**
## Description
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 :)