After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 776172 - videoconverters, videotestsrc, etc: Wrongly claim to do multiview-mode conversion
videoconverters, videotestsrc, etc: Wrongly claim to do multiview-mode conver...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-12-16 16:11 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 11:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
videotestsrc: Publish multiview-mode info in the caps (2.04 KB, patch)
2017-03-16 00:30 UTC, Jan Schmidt
committed Details | Review
videodecoder: Output mono multiview caps if none specified (2.01 KB, patch)
2017-03-24 01:01 UTC, Jan Schmidt
committed Details | Review

Description Sebastian Dröge (slomo) 2016-12-16 16:11:52 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.
Comment 1 Jan Schmidt 2016-12-18 16:29:01 UTC
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.
Comment 2 Jan Schmidt 2017-03-16 00:30:27 UTC
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.
Comment 3 Jan Schmidt 2017-03-16 14:31:34 UTC
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
Comment 4 Sebastian Dröge (slomo) 2017-03-17 10:14:56 UTC
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.
Comment 5 Jan Schmidt 2017-03-24 01:01:04 UTC
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 6 Jan Schmidt 2017-05-19 16:03:52 UTC
Comment on attachment 348628 [details] [review]
videodecoder: Output mono multiview caps if none specified

Pushed the videodecoder change to 1.13
Comment 7 GStreamer system administrator 2018-11-03 11:52:29 UTC
-- 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.