[gstreamer-bugs] [Bug 629917] New: [output-selector] Recheck pending_pad after pushing a buffer

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Sep 17 06:00:08 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=629917
  GStreamer | gst-plugins-bad | git

           Summary: [output-selector] Recheck pending_pad after pushing a
                    buffer
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: thiago.sousa.santos at collabora.co.uk
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Camerabin uses output-selector to control its multiple internal branches. One
of these branches is the image capture one. This one only wants to receive one
buffer and camerabin uses pad_probes to make output-selector active pad
switching to only allow a single buffer to go through on the image capture
branch.

The problem is that output-selector might push 2 buffers on its chain function
when resend-latest is true. In pseudocode, here's what output-selector does in
its chain:

chain (buf) {
  if (pending_pad_switch) {
    change_active_pad()
    resend_latest_buffer()
  }

  push_new_buffer()
}

As you can see, if we add a buffer probe to the src pad and we change the
active pad on it we will still get a second buffer from the chain function on
the old (now not active) pad.

I was not sure if this is desirable as I see pad probes as a natural way to
control output selector's pads. So I wanted to raise a discussion.

If people agree that this is not a good idea, I'll just do a fix inside
camerabin.

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