[Bug 770657] basetransform: Don't disable pool in set_allocation if it is not replaced

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Oct 20 14:34:11 UTC 2016


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

Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #334604|accepted-commit_after_freez |rejected
             status|e                           |

--- Comment #7 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
Review of attachment 334604:
 --> (https://bugzilla.gnome.org/review?bug=770657&attachment=334604)

Sorry, but this case only exist because of a bug in v4l2transform. V4L2
elements still send the same pool over multiple allocation query. This is known
to break certain negotiation. Additionally, ignoring the renegotiation may lead
to buffer stall as the new query would require more buffers. What should
happen:

** v4l2 element should send a new buffer pool instance for every allocation
query **

For this to happen, we need to remove the queue handling (streamon/off) from
the buffer pool. It's really the wrong place, you want the element to keep
control over that. It will also simplify the thread handling a bit. Then, a
v4l2 pool becomes a simple element that wrap the allocator. At activation, the
pool will ask the allocator for new requirement, and the allocator will
figure-out what to do to reply. If the number of buffers is the same, it won't
need to streamoff.

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