[Bug 701543] New: v4l2: call VIDIOC_REQBUFS with count = 0 in pool_finalize

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Jun 3 09:51:26 PDT 2013


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

           Summary: v4l2: call VIDIOC_REQBUFS with count = 0 in
                    pool_finalize
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: m.olbrich at pengutronix.de
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=245934)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=245934)
patch

Without this the following sequence fails:

- set_caps()
  - object_stop() (does nothing)
  - set_format() -> VIDIOC_S_FMT
- set_config() -> VIDIOC_REQBUFS with count = N
- set_caps()
  - object_stop()
    - pool_finalize()
  - set_format() -> VIDIOC_S_FMT => EBUSY

Usually the pool is started after set_config(), in which case object_stop()
will result in a pool_stop and therefore VIDIOC_REQBUFS with count = 0 but
that is not guaranteed.
Also calling VIDIOC_REQBUFS with count = 0 in pool_finalize() if necessary
fixes this problem.

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