The `fill_planes()` helper in `gst-plugins-base/gst-libs/gst/video/video-info.c` called from `gst_video_info_align_full()` sets the minimum alignment. Apparently, setting an alignment manually in `GstVideoInfo` can only increase it.
That's true, but I haven't found anything to indicate that we can't set the stride members of GstVideoInfo manually. I haven't found anything in the base video library, or several decoders, that seems to care about "minimum" alignment, and I don't really know why it would.
If I set `plane_align = 1` in `wg_transform_read_data()`, gstreamer still can't fit the output in the buffer.
Because we implement stride by actually adding padding instead. That's arguably not very correct, but maybe there was a reason I've forgotten.