[gstreamer-bugs] [Bug 338419] New: Regression in the handling of files with multiple audio/subtitle streams

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Apr 13 22:02:37 PDT 2006


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=338419
 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 at lists.sourceforge.net
        ReportedBy: thaytan at mad.scientist.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


I just discovered a file that refuses to preroll properly in playbin. After
investigating, it turns out that the file has 2 audio tracks. 

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 discovering
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 fallback
buffer-allocation, even for non-selected pads. 

Since 2) is less intrusive, and fixes the regression, attaching a patch for
that.


-- 
Configure bugmail: http://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