[Bug 771846] New: nlesource: Fix dynamic pad handling

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Sep 22 15:55:03 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=771846

            Bug ID: 771846
           Summary: nlesource: Fix dynamic pad handling
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: All
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-editing-services
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: slomo at coaxion.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
                CC: slomo at coaxion.net
     GNOME version: ---

+++ 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).

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list