GNOME Bugzilla – Bug 797205
glimagesink last sample orientation
Last modified: 2018-11-03 12:10:26 UTC
Created attachment 373762 [details] test case please take a look at the attached test app, basically glvideoflip ! glimagesink displays the right image but if video flip orientation does not change the image size (for example GST_VIDEO_ORIENTATION_180) the snapshot taken from last-sample has a wrong orientation. I discussed about this issue with ystreey00 today and it seems there isn't a simple solution """ it's one of those edge cases that I'm not sure exactly where to fix it """ I added a workaround in my application (a videoflip element in the snapshot pipeline) but since xvimagesink (and probably d3dvideosink too) works as expected this behaviour should be at least documented. Thanks!
the video directions that produce a snapshot with bad orientation are: - GST_VIDEO_ORIENTATION_180 - GST_VIDEO_ORIENTATION_HORIZ - GST_VIDEO_ORIENTATION_VERT for the other ones the snapshot orientation is the expected one
as pointed by ystreet00, removing this line https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/ext/gl/gstglimagesink.c#n1921 solves the issue, but this is probably a workaround and not a proper solution
Is the affine transform also using a capsfeature? As in this case, you could also workaround with a capsfilter.
I don't think so, here are the caps printed by attached test app snap from sample: 0x562a6f4d9d80 caps: video/x-raw(memory:GLMemory), width=(int)320, height=(int)240, framerate=(fraction)30/1, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, format=(string)RGBA, texture-target=(string)2D the only caps feature seems memory:GLMemory
-- 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/488.