[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