Do not reply to this via email (we are currently unable to handle email
responses and they get discarded). You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=3D338419
GStreamer | gst-plugins-base | Ver: HEAD CVS
Summary: Regression in the handling of files with multiple
audio/subtitle streams
Product: GStreamer
Version: HEAD CVS
Platform: Other
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: gst-plugins-base
AssignedTo: gstreamer-bugs@...
ReportedBy: thaytan@...
QAContact: gstreamer-bugs@...
GNOME version: Unspecified
GNOME milestone: Unspecified
I just discovered a file that refuses to preroll properly in playbin. Aft=
er
investigating, it turns out that the file has 2 audio tracks.=20
Decodebin relies on pad_probes to detect data passing each decoder source=
pad.
In this case, the 2nd audio track never triggers the pad probe because it=
never
outputs a buffer. Instead, it is just performing a buffer-alloc and disco=
vering
that downstream is not linked (It is not the selected track and the
StreamSelector is returning not-linked)
There are 2 solutions:
1) Get decodebin to also detect an attempt at buffer-allocation and mark =
that
pad as prerolled. pad_probes do not get called for buffer-alloc, so this =
will
either need core changes, or decodebin needs changing to block the pads
instead.
2) Restore the old behaviour of StreamSelector to always perform a fallba=
ck
buffer-allocation, even for non-selected pads.=20
Since 2) is less intrusive, and fixes the regression, attaching a patch f=
or
that.
--=20
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=3Demail
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
|