[Bug 738102] v4l2bufferpool: cleanly handle streamon failure for output device

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Oct 29 13:54:49 PDT 2014


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

Nicolas Dufresne (stormer) <nicolas.dufresne> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |nicolas.dufresne at collabora.
                   |                            |co.uk
         Resolution|                            |FIXED

--- Comment #15 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> 2014-10-29 20:54:45 UTC ---
Merged in 1.4:
commit f501a9d54aec1a164eba075a82b50693b0da7819
Author: Aurélien Zanelli <aurelien.zanelli at parrot.com>
Date:   Tue Oct 7 15:29:33 2014 +0200

    v4l2bufferpool: cleanly handle streamon failure for output device

    On streamon failure, the queued buffer is not released from the
    bufferpool class point of view because it is queued to the driver and
    the flush logic is not performed since we are not in streaming state.
    It causes the v4l2 bufferpool to always return that stop method failed
    and to leak v4l2 objects and buffers.

commit f501a9d54aec1a164eba075a82b50693b0da7819
Author: Aurélien Zanelli <aurelien.zanelli at parrot.com>
Date:   Tue Oct 7 15:29:33 2014 +0200

    v4l2bufferpool: cleanly handle streamon failure for output device

    On streamon failure, the queued buffer is not released from the
    bufferpool class point of view because it is queued to the driver and
    the flush logic is not performed since we are not in streaming state.
    It causes the v4l2 bufferpool to always return that stop method failed
    and to leak v4l2 objects and buffers.

    This commit solve this by performing the flush logic in error case, ie
    flushing the allocator and restoring queued buffer state to non-queued.

    https://bugzilla.gnome.org/show_bug.cgi?id=738102

commit d953e75c8dc0fc22ac4691ec5f7021020433a409
Author: Aurélien Zanelli <aurelien.zanelli at parrot.com>
Date:   Wed Oct 8 10:31:21 2014 +0200

    v4l2bufferpool: implement dispose method

    Unref objects in dispose method rather than in finalize in order to
    prevent circular reference.

    https://bugzilla.gnome.org/show_bug.cgi?id=738102

commit f6d8d950da7111868898ee7ea9723ea37938a846
Author: Aurélien Zanelli <aurelien.zanelli at parrot.com>
Date:   Wed Oct 8 10:35:14 2014 +0200

    v4l2bufferpool: check that allocator is non null when stopping pool

    Otherwise, we could dereference NULL allocator when the stop method is
    called by the GstBufferPool's finalize method.

    https://bugzilla.gnome.org/show_bug.cgi?id=738102

And in 1.5 as commits 1dcc88 8e9c75 7ed27c

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