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
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.
Add support for the VideoAlignment option in the bufferpool. The extra
configuration options can be used to request special padding and alignment
requirements for the video buffers.
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.
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.
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.
Improve bufferpool handling in ximagesink.
Implement bufferpool handling on xvimagesink.
Based on patches from benjamin gaignard <benjamin.gaignard@linaro.org>