[Bug 734058] New: [basesrc] pad task started before start_complete when seeking

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jul 31 08:49:01 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=734058
  GStreamer | gstreamer (core) | 1.x

           Summary: [basesrc] pad task started before start_complete when
                    seeking
    Classification: Platform
           Product: GStreamer
           Version: 1.x
        OS/Version: All
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: andrew at adoakley.name
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=282178)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=282178)
Simple test case

To reproduce this you need to:
* create a basesrc based source element
* gst_base_src_set_async(src, TRUE)
* gst_element_set_state(src, GST_STATE_PLAYING)
* send a seek event at the pad

The task is now started without having called gst_base_src_start_complete. 
This means resource allocation in the start callback may not be complete.

It isn't clear what the plugin could do to handle this other than return
failure from the fill function (or similar).  Blocking in the fill function at
this point leads to deadlocks.

Looking around gstbasesrc.c it appears there are other ways to trigger this
issue.  I suspect that some checks for GST_BASE_SRC_IS_STARTED are required
with appropriate locking.

A test case is attached - it shouldn't assert.

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