waylandsink: Error when trying to playback 348x240 in I420
@ndufresne
Submitted by Nicolas Dufresne Link to original bug (#796565)
Description
There is an error when trying to playback 348x240. This was reported in a comment here:
https://bugzilla.gnome.org/show_bug.cgi?id=790057#c28
The issue is that the code currently assumes that the GStreamer default strides will match the validation code. But this is not true for I420, since GStreamer will round up by 4 the U and the V stride. So we endup with strides:
Gst: 348 176 176
Validate: 348 174 174
I've looked into Weston code, it seems to expect the validated value. Which we means the failure is correct, we do have an incompatible SHM based wl_buffer. The following is an attempt to try and allocate the SHM based wl_buffer with the following data. Though, it does not render properly in Weston. I have spent quite some time to figure-out why, but could not. Here's the WIP branch:
https://gitlab.collabora.com/nicolas/gst-plugins-bad/commits/wayland-pool-fix