GNOME Bugzilla – Bug 776172
videoconverters, videotestsrc, etc: Wrongly claim to do multiview-mode conversion
Last modified: 2018-11-03 11:52:29 UTC
> gst-launch-1.0 videotestsrc ! videoconvert ! "video/x-raw,multiview-mode=top-bottom" ! fakesink -v Problem here is that basetransform and everything else is doing a caps query downstream, and then intersect. The field not existing in the upstream caps then causes the field to get the downstream value. Which would be no problem if the absence would not mean anything. It however means the same as multiview-mode=mono. So all these elements will have to ensure that they will handle it like mono and never ever output different multiview-mode unless the input had that different multiview-mode already.
We could cover a few of these cases with some logic in GstVideoFilter to ensure multiview modes/flags aren't set on the output unless they're set on the input.
Created attachment 348048 [details] [review] videotestsrc: Publish multiview-mode info in the caps Don't allow downstream to accidentally pretend that the output is anything than a mono or single-eye left/right view.
I think the best thing to do in this case, is to make all video decoders output mono multiview caps unless they have info from the stream or demuxer - ie make the field non-optional in our video caps. Ditto for other video sources. I think we want to test that kind of change extensively though, so shouldn't add it before 1.12
I think having videodecoder base class and others explicitly put mono into the caps is a good thing to do for after 1.12. It should work but it should also get some testing.
Created attachment 348628 [details] [review] videodecoder: Output mono multiview caps if none specified Always put multiview-caps onto the output caps, assuming mono if we've got no other information. It's still easy for downstream elements to override using a capssetter or event probe if desired.
Comment on attachment 348628 [details] [review] videodecoder: Output mono multiview caps if none specified Pushed the videodecoder change to 1.13
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/319.