Commit graph

53 commits

Author SHA1 Message Date
Stéphane Cerveau fa416b08b7 ximage: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1089>
2021-03-29 15:59:53 +02:00
Guillaume Desmottes f9617bf3f4 x(v)image: use gst_video_meta_set_alignment()
Use the new API to tell buffer consumers about alignment details.

This change is backward compatible as non ported elements can safely
ignore the alignment information and keep processing buffers as they use
to, copying if necessary.
2019-11-02 13:05:43 +01:00
Thibault Saunier 909baa2360 Pass the code through codespell 2019-08-30 13:05:36 +00:00
Sebastian Dröge 67fb3b12ee gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
https://bugzilla.gnome.org/show_bug.cgi?id=743062
2017-05-17 10:40:52 +03:00
Stefan Sauer 923d72d399 x/xv_image_sink: rename for consitency
Insert '_' to match the CamelCase. This is needed so that the plugin docs can
guess the names from the type name.
2015-07-06 17:37:15 +02:00
Vincent Penquerc'h 3fd184da78 ximage: do not allocate extra alignment slack for shared memory
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 is not needed. Since
shared memory limits are low compared to RAM, we remove this waste.

https://bugzilla.gnome.org/show_bug.cgi?id=727236
2015-04-03 11:15:55 +01:00
Song Bing e9c6c833c9 videopool: update video alignment after applying
Video buffer pool will update video alignment to respect stride alignment
requirement. But haven't updated it to video alignment in configure.
Which will cause user get wrong video alignment.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741501
2014-12-22 09:25:04 -05:00
Song Bing 8baf1ec500 videopool: update buffer size after video alignment
Update the new buffer size after alignment in the pool configuration
before calling the parent set_config. This ensures that the parent knows
about the buffer size that we will allocate and makes the size check
work in the release_buffer method.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=741420
2014-12-16 12:14:53 +01:00
Tim-Philipp Müller fb8f53efb7 ximagesink: get rid of unnecessary private struct for pool
This is not exposed as API after all.
2014-09-27 16:21:37 +01:00
Alexander Schrab c32756a9be ximagesink: Fix coompiler error without HAVE_XSHM
https://bugzilla.gnome.org/show_bug.cgi?id=697628
2013-04-09 20:02:08 +02:00
Wim Taymans 470f02d186 ximagesink: don't share memory 2013-03-05 16:41:52 +01:00
Wim Taymans 1056304aad ximagesink: use memory to store XImage info
Store the extra XImage information in the GstMemory instead of metadata.
2013-02-26 16:02:41 +01:00
Tim-Philipp Müller 5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Michael Smith a29c4f9489 meta registration: use g_once functions to register these threadsafely. 2012-10-03 10:44:59 -07:00
Tim-Philipp Müller d6522cf6a6 ximagesink: port to the new GLib thread API 2012-09-10 01:03:52 +01:00
Wim Taymans ee3613da1e X11: add unpadded width/height as videometa
We need to add the real width/height as the values in the video metadata instead
of the padded values.
2012-08-20 16:13:00 +02:00
Wim Taymans bc9c1685c2 X11: use new alignment function
Remove some custom padding and alignment functions and replace with the new
align function from the video library.
2012-08-20 11:19:37 +02:00
Wim Taymans 9b3849db1c x11: fix alignment in non-XSHM case
Align the allocated memory to 16 bytes. When doing XSHM we are already aligned
to a page boundary but without, we use plain g_malloc, which could allocate
aligned on 8 bytes only.

See https://bugzilla.gnome.org/show_bug.cgi?id=680796
2012-08-10 16:58:47 +02:00
Wim Taymans 04a2610444 video: improve frame_flags
Rename the frame_flags to flags. Because they are flags on the frame object it
does not need the redundant frame_ prefix.
Change the order of the metadata constructor so that the flags come before the
format and dimension arguments.
2012-04-19 14:14:35 +02:00
Sebastian Dröge c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Jonathan Lyons 798ce6c0e1 x11: fix build without XSHM
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673327
2012-04-02 11:37:43 +02:00
Wim Taymans 345dc31f20 update for buffer api change 2012-03-30 18:15:30 +02:00
Wim Taymans 18fe3ed9fa videopool: avoid caps copy
Now that the caps from the bufferpool are not returned as const we
can take a ref instead of doing a copy.
2012-03-27 15:44:59 +02:00
Wim Taymans bee3d7b683 update for get_param changes
Remove the const from the GstCaps.
Fix some GstStructure leaks.
2012-03-27 12:44:02 +02:00
Wim Taymans 1e884df1df update for bufferpool changes 2012-03-15 22:10:58 +01:00
Wim Taymans 02dc419aae update for bufferpool api change 2012-03-15 14:06:24 +01:00
Wim Taymans 39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Wim Taymans 502c12f827 update for metadata API changes 2012-02-29 17:25:10 +01:00
Wim Taymans 1c05eeece5 update for metadata tags 2012-02-28 12:10:14 +01:00
Wim Taymans 525f330142 update for metadata changes 2012-02-24 10:26:04 +01:00
Wim Taymans 63f3f27164 update for new memory api 2012-02-22 02:05:24 +01:00
Wim Taymans 3fc48e114b x11: reset alignment 2011-12-21 18:14:45 +01:00
Edward Hervey 3233f09adf ximagebufferpool: Use the default ::free_buffer() implementation
Which does exactly the same thing
2011-11-21 13:04:42 +01:00
Wim Taymans e067e67923 rename meta* -> *meta 2011-11-02 09:04:27 +01:00
Wim Taymans 947b6b3faa ximage: add support for alignment bufferpool option 2011-08-01 19:04:47 +02:00
Wim Taymans 5a85e1d75f base: update for new bufferpool API 2011-07-29 17:15:39 +02:00
Wim Taymans 084eac3a77 x11: call parent set_config
Call the parent set_config method to make it aware of the current config so that
its default methods can do preallocation.
2011-07-18 18:46:01 +02:00
Wim Taymans ddce68a5c2 video: More video helper library improvements
Make a new GstVideoFormatinfo structure that contains the specific information
related to a format such as the number of planes, components, subsampling,
pixel stride etc. The result is that we are now able to introduce the concept of
components again in the API.
Use tables to specify the formats and its properties.
Use macros to get information about the video format description.
Move code to set strides, offsets and size into one function.
Remove methods that are not handled with the structures.
Add methods to retrieve pointers and strides to the components in the video.
2011-07-04 16:01:14 +02:00
Wim Taymans cf91192668 x11: handle new bufferpool metadata api
Provide a method to list the supported metadata apis.
Activate the video metadata on buffers when a downstream element configured the
bufferpool to support that api.
2011-06-20 13:28:12 +02:00
Wim Taymans 5eeb468c75 x11: use GstVideoInfo to parse caps
Use GstVideoInfo to keep track of the configured format.
Add GstMetaVideo to buffers, disabled by default for now until we can have it
enabled with a property on the bufferpool configuration.
2011-06-17 17:54:52 +02:00
Wim Taymans 0d75dc5a0b x11: make function static
Don't export buffer creation function, we need to use the bufferpool
now.
2011-06-17 17:27:22 +02:00
Wim Taymans 9c54ca5254 -base: update for buffer API change 2011-06-13 16:32:56 +02:00
Wim Taymans 1c8324a0d1 update for bufferpool api change 2011-06-11 18:54:44 +02:00
Sebastian Dröge bf08ca7020 Merge branch 'master' into 0.11 2011-05-26 13:54:09 +02:00
Wim Taymans c81b1b8019 -base: remove metadata (des)serialize functions 2011-05-11 19:12:42 +02:00
Wim Taymans c8fee4a4b3 ximage: don't share the memory
We can't share the memory on the buffer with other buffers because the metadata
X(v)Image points to it and we don't want it to go away.
2011-04-07 16:07:57 +02:00
Wim Taymans 1ae67927cc ximage: more fixes 2011-04-06 17:54:28 +02:00
benjamin gaignard 15c49a4d63 xvimagesink: use bufferpool
Improve bufferpool handling in ximagesink.
Implement bufferpool handling on xvimagesink.

Based on patches from benjamin gaignard <benjamin.gaignard@linaro.org>
2011-04-06 12:28:46 +02:00
Wim Taymans 5244770775 plugins: fix for new memory API 2011-03-27 17:16:10 +02:00
Wim Taymans f246c0e97d meta: update for new API 2011-03-08 17:01:41 +00:00