Commit graph

7 commits

Author SHA1 Message Date
Tim-Philipp Müller 3273714e0a xvimagesink: only error out if the allocated memory is too small
https://bugzilla.gnome.org/show_bug.cgi?id=767712
2016-07-18 14:20:11 +01:00
Duncan Palmer f00bbd2ea5 xvimageallocator: const correctness in gst_xvimage_allocator_alloc().
https://bugzilla.gnome.org/show_bug.cgi?id=767712
2016-07-18 14:17:09 +01:00
Duncan Palmer 4e83e894df xvimagesink: error out on buffer size sanity check failure.
If sanity checks on the buffer size allocated by XvShmCreateImage() fail,
call on g_set_error(), rather than just logging a warning, as this
failure is fatal.

Add a sanity check on buffer size when the video format is RGB. This adds to
existing checks on various YUV pixel formats.

https://bugzilla.gnome.org/show_bug.cgi?id=767712
2016-07-18 14:15:10 +01:00
Vincent Penquerc'h 964ea678da xvimagsink: fix failure to allocate large shared memory blocks
A previous patch increased allocations by 15 bytes in order to ensure
16 byte alignment for g_malloc blocks. However, shared memory is
already block aligned, and this extra 15 bytes caused allocation
to fail when we were already allocating to the shared memory limit,
which is a lot smaller than typical available RAM.

Fix this by removing the alignment slack when allocating shared
memory.

https://bugzilla.gnome.org/show_bug.cgi?id=706066
2015-04-03 11:18:46 +01:00
Tim-Philipp Müller d960a25a19 xvimage: fix crash when outputting debug log
Can't print a GstMemory via GST_PTR_FORMAT, it will crash
inside GObject checking if it's a GObject, and we can't
check generically whether it's a derived GstMemory type,
as boxed types don't allowe derivation.
2014-08-10 17:27:14 +01:00
Josep Torra 3b10871a87 xvimagesink: fix debug message printf format compiler warning 2013-03-30 09:39:32 +01:00
Wim Taymans 0cf392837d xvimagesink: use xvcontext for allocation
Make a new refcounted xvcontext object that handles the X connection.
Use the xvcontext to allocate images and windows. Move some code
around so that all X calls are made from the xvcontext object.
Make a GstXvImageAllocator object that allocates images from the xvcontext. We
can implement a copy function now for these memory objects now.
Make the bufferpool use the xvimageallocator object for its images.
2013-03-13 11:51:12 +01:00