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 755111 - Regression: glimagesink 3D video handling
Regression: glimagesink 3D video handling
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.5.90
Other Linux
: Normal blocker
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-16 13:40 UTC by Jan Schmidt
Modified: 2015-09-18 03:06 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
glwindow: add API to request a resize event on the next draw (19.79 KB, patch)
2015-09-17 09:53 UTC, Matthew Waters (ystreet00)
committed Details | Review
glimagesink: request a resize on caps/3d mode changes (4.78 KB, patch)
2015-09-17 09:53 UTC, Matthew Waters (ystreet00)
committed Details | Review

Description Jan Schmidt 2015-09-16 13:40:43 UTC
Commit 7ae0dd236130a8ee84f025c0cdf19a4bedf767bb breaks 3D video handling: 

    glimagesink: avoid updating the viewport in the draw loop
    
    Fixes flashes/incorrect aspect ratio when resizing glimagesink on OSX.


This commit makes it so that changing the 3D output mode doesn't take effect immediately any more. Previously, it would resize the render region to take the new logical video size into account, now glimagesink doesn't resize the display region until the window is resized.
Comment 1 Matthew Waters (ystreet00) 2015-09-17 09:53:02 UTC
Created attachment 311534 [details] [review]
glwindow: add API to request a resize event on the next draw

Untested on anything but wayland/x11
Comment 2 Matthew Waters (ystreet00) 2015-09-17 09:53:35 UTC
Created attachment 311535 [details] [review]
glimagesink: request a resize on caps/3d mode changes
Comment 3 Sebastian Dröge (slomo) 2015-09-17 10:11:17 UTC
Looks sensible to me but is quite a big change... should get some testing on other platforms too.
Comment 4 Matthew Waters (ystreet00) 2015-09-17 10:28:19 UTC
commit 557ca6fda5f831be4aba5819bf7b30b296e575cd
Author: Matthew Waters <matthew@centricular.com>
Date:   Thu Sep 17 17:22:47 2015 +1000

    glimagesink: request a resize on caps/3d mode changes
    
    Fixes incorrect aspect ratio on OSX when changing caps or the 3d
    output mode.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755111

commit 3addb6bbf4bffe20c41fd2599153a6ee846a4845
Author: Matthew Waters <matthew@centricular.com>
Date:   Thu Sep 17 17:06:37 2015 +1000

    glwindow: add API to request a resize event on the next draw
    
    - glimagesink needs to be able to resize the viewport on aspect ratio
      changes resulting from either caps changes or 3d output mode changes.
    - Performing a glViewport outside the GstGLWindow::resize callback
      will not have the winsys' stack of viewports required to correctly
      place the output frame.
    
    Provide a function to request a resize on the next draw event from the
    winsys.
    
    Also track size changes inside the base GstGLWindow class rather
    than in each subclass.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755111
Comment 5 Sebastian Dröge (slomo) 2015-09-17 10:36:35 UTC
Let's close this once it's confirmed to not explode on other platforms
Comment 6 Matthew Waters (ystreet00) 2015-09-18 03:06:29 UTC
Tested on win64, OSX, iOS, rpi, x11, wayland and android.