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 771846 - nlesource: Fix dynamic pad handling
nlesource: Fix dynamic pad handling
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-editing-services
unspecified
Other All
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-22 15:55 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 12:53 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2016-09-22 15:55:03 UTC
+++ This bug was initially created as a clone of Bug #771843 +++

Currently all pads must be available when prepare() is called, which is in READY->PAUSED before chaining up to the parent's state change function. This means that elements like uridecodebin (or basically everything with dynamic pads) can't be used easily here.

There is a lot of code in nlesource that is supposed to handle that, but it's not functional due to changes in how nlesource works compared to gnlsource.


What would be needed is to somehow split up prepare() so that if the subclass returns ASYNC on state change, an asynchronous prepared() would happen later where the actual pad is collected. Or something along those lines.

This would not fix other elements though (demuxers), as they don't do an asynchronous state change. So maybe nlesource will have to make the asynchronous state change if no pad is there and there are going to be dynamic pads (basically what uridecodebin and decodebin are also doing).
Comment 1 GStreamer system administrator 2018-11-03 12:53:30 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/gst-editing-services/issues/29.