[Bug 747495] gst_base_text_overlay_push_frame() doesn't make memory copy when video buffer's memory is ready only

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Sep 1 20:49:29 PDT 2015


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

--- Comment #6 from Mingke Wang <mingke.wang at freescale.com> ---
Thanks guys.

I finial got time to review my previous codes again and found that
gst_video_frame_map fail is my allocator implementation problem. I copied the
memory flag from source memory into destination memory in mem_copy()
implementation which caused the copied memory is also read only.

but got new problem:
even gst_video_frame_map() can make a writable memory. but it will replace the
original memory in the buffer with the writable memory. that is not acceptable
by our decoder element. we use hardware decoder which require registering
memories before starting decoding. so the memory in a buffer which pushed by
our decoder is not allowed to be replaced. 

what I expected here is that:

if (buffer_is_writable && memory_is_read_only &&
buffer_memory_is_not_replaceable) {
   create_new_buffer_with_new_copied_writable_memory;
   gst_video_frame_map(new_buffer);
}

Any good idea for my case without changing gst_base_text_overlay_push_frame?

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