[Bug 750039] Keeping buffers with shared memory alive

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri May 29 11:24:45 PDT 2015


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

--- Comment #9 from Nicolas Dufresne (stormer) <nicolas.dufresne at collabora.co.uk> ---
(In reply to Nicolas Dufresne (stormer) from comment #8)
> I'm looked through this, and gst_buffer_append_region() is really the only
> way to reach this situation. It's the only case we can add a GstMemory to a
> buffer without taking the exclusive lock.
> 
> I think I understand that idea, but the gstbuffer.c is incomplete. It should
> take the lock if the received GstBuffer isn't writable (e.g. you took a ref
> to keep the second buffer). Otherwise not taking this lock is unsafe.

Actually, nevermind, I didn't notice the call to make_writable() initially,
changes everything. I don't see what can lead you to a false positive
writability.

Outside of that, it remains interesting proposal to get release_buffer() called
on pool only when memories are likely to be writeable again (rather then just
the GstBuffer object). Would reduce a lot of cases where the pool becomes void
because we discard everything.

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