[gstreamer-bugs] [Bug 633700] New: [streamsynchronizer] regression: hang when pausing near EOS

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Nov 1 06:30:49 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=633700
  GStreamer | gst-plugins-base | unspecified

           Summary: [streamsynchronizer] regression: hang when pausing
                    near EOS
    Classification: Desktop
           Product: GStreamer
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: mnauw at users.sourceforge.net
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


That is, play (audio and video) until about eos, pause and then change to
playing again, then pipeline might fail to preroll (and as such never reach
playing again).  Specifically, if one the streams has already reached eos,
whereas the other has not, then streamsynchronizer will not forward eos.  So,
one of the sinks will preroll (with regular data), but the other never will (as
it needs the eos that streamsynchronizer will not send since the other stream
is blocked downstream in pause, assuming here any limited downstream queues do
not suffice to compensate).

Not quite sure what to do about this; there are already some ugly
streamsynchronizer hacks that send an empty buffer to trigger/force preroll
(which probably won't be digested well by e.g. xvimagesink).

So, it seems that if we want to do the tricky/advanced stuff as in
streamsynchronizer without breaking the basic stuff (and keep it more or less
clean), we need some "force-preroll-event" (or something like that).  The
latter might also help in some other cases (e.g. handling empty edit in
qtdemux).  Or maybe that is too much 0.11 futuristic and there are other tricks
or different ways to go about what streamsynchronizer/playsink/etc try to
achieve ?

-- 
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