[Bug 722666] New: avoid decoding not-linked streams
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Jan 20 17:22:49 PST 2014
https://bugzilla.gnome.org/show_bug.cgi?id=722666
GStreamer | gstreamer (core) | git
Summary: avoid decoding not-linked streams
Classification: Platform
Product: GStreamer
Version: git
OS/Version: All
Status: UNCONFIRMED
Severity: enhancement
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: thiago.sousa.santos at collabora.co.uk
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Since the 0.10 -> 1.0 move, the feature that was used to make not-linked
streams skip decoding until linked again is gone.
It was done by input-selector returning not-linked on pad-allocs and the
decoder would drop that buffer and return not-linked. Nothing has replaced this
behavior in 1.0 (yet).
This can be easily demonstrated with the following scenario:
1) Create a test clip with multiple videos:
gst-launch-1.0 videotestsrc num-buffers=500 pattern=0 ! x264enc ! qtmux name=m
! filesink location=3video.mov videotestsrc num-buffers=500 pattern=1 ! x264enc
! m. videotestsrc num-buffers=500 pattern=18 ! x264enc ! m.
2) Play the clip and look at the debug logs for the video decoders:
GST_DEBUG=*videodec*:9,*avdec*:9 gst-launch-1.0 playbin
uri=file:///path/to/3video.mov
A similar scenario is solved in dash/mss demuxers using the not-linked return
and reconfigure events to stop/reactivate those streams. The use case is a bit
different but I guess the mechanism can work the same.
Possible issues:
1) Is this a behavior break?
2) How to avoid dropping buffers that are ahead of the current play position?
It would be better if the decoder would only drop a buffer to avoid decoding
when it knew that this buffer is too late to be used.
3) How does this interfere with the buffer pools and allocation queries?
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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