[gstreamer-bugs] [Bug 641007] New: Pipeline change in PAUSED state leads to stall

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jan 31 00:30:04 PST 2011


https://bugzilla.gnome.org/show_bug.cgi?id=641007
  GStreamer | gstreamer (core) | 0.10.30

           Summary: Pipeline change in PAUSED state leads to stall
    Classification: Desktop
           Product: GStreamer
           Version: 0.10.30
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: 4ernov at gmail.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=179698)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=179698)
Example code on the bug

I have a pipeline with two branch connected using tee:
                 queue -- ximagesink
               /
playbin -- tee 
               \
                 queue -- fakesink

which is dynamically connected to

                 queue -- ximagesink
               /
playbin -- tee 
               \
                 queue -- videomixer -- ffmpegcolorspace --ximagesink

i.e., another video sink is connected instead of fakesink. Doing reconnections
in PLAYING state is well described and works OK now. But if I try to do it in
PAUSED state, the secondary branch is connected (or disconnected) successfully
but as soon as I try to set pipeline to PLAYING state after all the changes it
stalls and don't play anymore until I restart it (set to READY or NULL and
start again). There're a number of problems:
1. The first method we use for PLAYING state, blocking a pad, doesn't work as
it freeze the program on gst_pad_set_blocked and it's right as no buffers are
incoming to release from the function.
2. The method with valve element temporary dropping buffers also doesn't work
even with resettime element (which was also discussed) to insert some necessary
events.

There're also no debug messages about the pipeline from the moment it stalls,
even in DEBUG or LOG level. It seems that it simply can't be set to PLAYING
state, itself, or some of the element.

Testing example code is attached.

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