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 787394 - glimagesink: should not ignore (x,y) when resize
glimagesink: should not ignore (x,y) when resize
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
1.12.x
Other Linux
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-09-07 02:54 UTC by Haihua Hu
Modified: 2017-09-19 04:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize (1.79 KB, patch)
2017-09-11 08:32 UTC, Haihua Hu
committed Details | Review
gl/viv-fb: transform screen coordinate to viewport coordinate (1.69 KB, patch)
2017-09-11 08:33 UTC, Haihua Hu
committed Details | Review
glimagesink: expose should do redisplay all the time (877 bytes, patch)
2017-09-11 08:33 UTC, Haihua Hu
none Details | Review
glimagesink: expose should do redisplay all the time (version 2) (1.19 KB, patch)
2017-09-14 06:52 UTC, Haihua Hu
committed Details | Review

Description Haihua Hu 2017-09-07 02:54:57 UTC
I notice that glimagesink will ignore (x,y) position when do resize via overlay interface. especially on imx viv fb backend, the frame will always at the left below corner. We should pass x,y to glviewport
Comment 1 Matthew Waters (ystreet00) 2017-09-07 05:27:14 UTC
Look at how osx does this and replicate that for imx.
Comment 2 Haihua Hu 2017-09-11 08:32:35 UTC
Created attachment 359507 [details] [review]
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize

queue_resize viewport coordinate calculate is wrong and force queue_resize when do _set_render_rectangle in case user input pos changed
Comment 3 Haihua Hu 2017-09-11 08:33:05 UTC
Created attachment 359509 [details] [review]
gl/viv-fb: transform screen coordinate to viewport coordinate

In y direction, screen coordinate are opposite to viewport coordinate.
Comment 4 Haihua Hu 2017-09-11 08:33:53 UTC
Created attachment 359510 [details] [review]
glimagesink: expose should do redisplay all the time

when using internal window, window resize should work when pause state, but expose only do redisplay when window_id is valid. So expose should do redisplay all the time.
Comment 5 Haihua Hu 2017-09-13 02:32:35 UTC
Hi Matthew,

Any update?
Comment 6 Matthew Waters (ystreet00) 2017-09-14 05:42:43 UTC
Review of attachment 359510 [details] [review]:

Not quite. The _redisplay() should still be guarded by the if (glimage_sink->display) however the glimage_sink->window_id is not needed.
Comment 7 Haihua Hu 2017-09-14 05:44:14 UTC
(In reply to Matthew Waters (ystreet00) from comment #6)
> Review of attachment 359510 [details] [review] [review]:
> 
> Not quite. The _redisplay() should still be guarded by the if
> (glimage_sink->display) however the glimage_sink->window_id is not needed.

Yes, you are right, I will refine my patch.
Comment 8 Haihua Hu 2017-09-14 06:52:34 UTC
Created attachment 359760 [details] [review]
glimagesink: expose should do redisplay all the time (version 2)
Comment 9 Haihua Hu 2017-09-19 01:32:07 UTC
Any comments?
Comment 10 Matthew Waters (ystreet00) 2017-09-19 04:13:26 UTC
commit b7387745669cfd294a5823dd7018f619d131cf5c
Author: Haihua Hu <jared.hu@nxp.com>
Date:   Mon Sep 11 16:00:24 2017 +0800

    gl/viv-fb: transform screen coordinate to viewport coordinate
    
    In y direction, screen coordinate are opposite to viewport coordinate.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787394

commit 039c983a9f18c5457f4f117128924da39abc8791
Author: Haihua Hu <jared.hu@nxp.com>
Date:   Mon Sep 11 15:12:53 2017 +0800

    gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
    
    queue_resize viewport coordinate calculate is wrong and
    force queue_resize when do _set_render_rectangle in case
    user input pos changed
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787394

commit 5f4ee3909e3618c2f65ea56037f86618ddd11eba
Author: Haihua Hu <jared.hu@nxp.com>
Date:   Mon Sep 11 16:11:19 2017 +0800

    glimagesink: expose should do redisplay all the time
    
    when using internal window, window resize should work
    when pause state, but expose only do redisplay when
    window_id is valid. So expose should do redisplay all
    the time.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=787394