[gstreamer-bugs] [Bug 575972] New: [GnlComposition] Switch to using regular segment seeks instead of GST_SEEK_FLAG_SEGMENT

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Thu Mar 19 08:19:47 PDT 2009


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=575972

  GStreamer | gnonlin | Ver: git
           Summary: [GnlComposition] Switch to using regular segment seeks
                    instead of GST_SEEK_FLAG_SEGMENT
           Product: GStreamer
           Version: git
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gnonlin
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bilboed at gmail.com
         QAContact: bilboed at gmail.com
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Currently in GnlComposition, we rely entirely on GST_MESSAGE_SEGMENT_DONE to
know when objects have finished processing the current segment.

The problem is that we might have queues in the give objects/sources/operations
after the element driving the pipeline (like a demuxer or a basesource
element).

This results in the composition receiving the message *before* that given
source/operation has actually pushed out all the buffers/tags/events for that
given segment. This effect is even worse with gnlfilesource (using decodebin(2)
internally) to such a point that for some short files the message will be
received before *any* buffers are outputted.

The proposal is therefore to replace the seeks that GnlComposition is sending
to the contained objects by:
* *NOT* setting the GST_SEEK_FLAG_SEGMENT flag
* putting even_probes on top-level source pads which, when they see EOS events,
discard them and informs the composition
* once all EOS have been received, call update_pipeline with the
segment->start.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=575972.




More information about the Gstreamer-bugs mailing list