<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1477514766835_336563"><span id="yui_3_16_0_ym19_1_1477514766835_338866">I've been poking this a bit more in gdb ..</span></div><div id="yui_3_16_0_ym19_1_1477514766835_338756"><span><br></span></div><div id="yui_3_16_0_ym19_1_1477514766835_338867"><span>Whenever I try and access any of the fields on "foreign_window" I get 'Cannot access memory'</span></div><div id="yui_3_16_0_ym19_1_1477514766835_338891"><span><br></span></div><div dir="ltr" id="yui_3_16_0_ym19_1_1477514766835_338943"><span id="yui_3_16_0_ym19_1_1477514766835_338932">Program received signal SIGSEGV, Segmentation fault.<br id="yui_3_16_0_ym19_1_1477514766835_338903">[Switching to Thread 0x728ff460 (LWP 3822)]<br id="yui_3_16_0_ym19_1_1477514766835_338904">0x75f873dc in gst_gl_window_dispmanx_egl_set_window_handle (window=0x552080, handle=557726721)<br id="yui_3_16_0_ym19_1_1477514766835_338905">    at gstglwindow_dispmanx_egl.c:193<br id="yui_3_16_0_ym19_1_1477514766835_338906">193      window_egl->native.element = window_egl->foreign.element = foreign_window->element;<br id="yui_3_16_0_ym19_1_1477514766835_338907"></span><span></span></div><div dir="ltr" id="yui_3_16_0_ym19_1_1477514766835_338947"><span id="yui_3_16_0_ym19_1_1477514766835_338944"><br></span></div><div dir="ltr" id="yui_3_16_0_ym19_1_1477514766835_338948"><span id="yui_3_16_0_ym19_1_1477514766835_338944">(</span><span id="yui_3_16_0_ym19_1_1477514766835_338944">gdb) print foreign_window.element <br id="yui_3_16_0_ym19_1_1477514766835_338812">Cannot access memory at address 0x213e3c01</span></div><div id="yui_3_16_0_ym19_1_1477514766835_336577"> </div><div class="signature" id="yui_3_16_0_ym19_1_1477514766835_336578">S++</div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" style="display: block;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> On Friday, October 28, 2016 12:54 PM, Stuart Axon <stuaxo2@yahoo.com> wrote:<br></font></div> <blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; margin-top: 5px; padding-left: 5px;"> <br><br> <div class="y_msg_container"><div id="yiv2317735018"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179114">I'm getting a SIGSEGV trying to use set_window_handle with a dispmanx element -<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176951"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176925">Program received signal SIGSEGV, Segmentation fault.<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176919" clear="none">[Switching to Thread 0x728ff460 (LWP 2084)]<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176920" clear="none">0x75f873dc in gst_gl_window_dispmanx_egl_set_window_handle (window=0x551080, handle=555404289)<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176921" clear="none">    at gstglwindow_dispmanx_egl.c:193<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176922" clear="none">193      window_egl->native.element = window_egl->foreign.element = foreign_window->element;<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176923" clear="none">(gdb) <br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176924" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_178980"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179078"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179368">Minimal code to reproduce<br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_178986"><a rel="nofollow" shape="rect" class="yiv2317735018" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_178985" target="_blank" href="https://gist.github.com/stuaxo/3009b761cba1085ac5730c7485506ee4">https://gist.github.com/stuaxo/3009b761cba1085ac5730c7485506ee4</a><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179108"><br clear="none"></div><div dir="ltr">I'm new to a lot of these things, so highly likely I'm passing in something wrong.</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179511"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179512"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_179579">I call set_window_handle before starting the pipeline, should this mater (code was adapted from an example for set_window_handle + Gtk)<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_174935"><span></span></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_174944"> </div><div class="yiv2317735018signature" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_176883">S++</div> <div class="yiv2317735018qtdSeparateBR"><br clear="none"><br clear="none"></div><div class="yiv2317735018yqt9585596876" id="yiv2317735018yqt48366"><div class="yiv2317735018yahoo_quoted" style="display:block;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"><font size="2" face="Arial"> On Thursday, October 27, 2016 4:07 PM, Stuart Axon <stuaxo2@yahoo.com> wrote:<br clear="none"></font></div> <blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;margin-top:5px;padding-left:5px;"> <br clear="none"><br clear="none"> <div class="yiv2317735018y_msg_container"><div id="yiv2317735018"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_20845">Cheers for the info, I'm having a play now.<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_18951"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_74756"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_18952">To get it to play on raspbian I had to make a couple of changes to configure.ac [see below "Edit configure.ac"]</div><div><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_74788"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_22849">For me or anyone else in the future, here is what I did to get it working with gst-uninstalled on Raspbian -<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_55045"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_55046"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_52896">Raspbian jessie was missing "bcm_host.pc" and "egl.pc" so grab those<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_28794"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_26735">$ git clone <a rel="nofollow" shape="rect" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_74760" target="_blank" href="https://stuaxo/raspberrypi-pkgconfig">https://stuaxo/raspberrypi-pkgconfig</a></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_53117"><a rel="nofollow" shape="rect" target="_blank" href="https://stuaxo/raspberrypi-pkgconfig"><br clear="none"></a></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_52996">Install .pc files</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_53137"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_53118">$ sudo cp raspberrypi-pkgconfig/pkgconfig/*.pc /usr/local/lib/pkgconfig<br clear="none"></div><br clear="none"><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_20852">- install "gst-uninstalled"</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_20899">- activate gst-uninstalled (everything from here will run under it)<br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_26670"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57246"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57247" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57248">- download and extract player_test from the bugzilla repo: <a rel="nofollow" shape="rect" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57249" target="_blank" href="https://bugzilla.gnome.org/show_bug.cgi?id=772608">https://bugzilla.gnome.org/show_bug.cgi?id=772608</a><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57250" clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57251"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57252" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57253"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57254" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57255">Edit configure.ac:</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_59392"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57256" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57257">Change this line:<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57258" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57259">OSS_GTK_REQUIRED=2.24.27</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57260"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57261" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57262">to:<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57263" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57264">OSS_GTK_REQUIRED=2.24.25</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57284">    <br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57504"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57286">Change these lines:</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57475">AM_INIT_AUTOMAKE([foreign])<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57425" clear="none">AM_SILENT_RULES([yes])<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57426" clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57474"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57505">to:</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57537">m4_ifdef([AM_INIT_AUTOMAKE], [AM_INIT_AUTOMAKE([foreign])])<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57539" clear="none">m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57540"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_72730"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_72731">Add gst-uninstalled .pc files to pkg-configs path:</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70741"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70742">$ export PKG_CONFIG_PATH=~/gst/master/gstreamer/pkgconfig<br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_65128"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_61265">I had quite a bit of trouble working out the right incantation for autoconf, libtool etc - this seemed to work:</div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_61285"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_74870">$ autoreconf -fiv<br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70744"><br clear="none"></div><div dir="ltr" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70858">Only managed to get it compiling setting these environment variables:<br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_20851"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70777" clear="none">$ export CFLAGS=`~/gst/gst-master pkg-config --cflags gstreamer-plugins-base-1.0-uninstalled egl`<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70778" clear="none">$ export OSS_GSTREAMER_BASE_CFLAGS=$CFLAGS<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70779" clear="none"><br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70780" clear="none">~/gst/gst-master ./configure<br id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_70781" clear="none">~/gst/gst-master make    <br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_57285"><br clear="none"></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_74936"><br clear="none"></div><div id="yiv2317735018"><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_4175"><div id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_4174" style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div id="yiv2317735018yui_3_16_0_ym19_1_1477514766835_13554"><span></span></div><div id="yiv2317735018yui_3_16_0_ym19_1_1477514766835_25257"> </div><div class="yiv2317735018signature" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_4227">S++</div> <div class="yiv2317735018qtdSeparateBR" id="yiv2317735018yui_3_16_0_ym19_1_1477566408997_4206"><br clear="none"><br clear="none"></div></div></div></div><div> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div class="yiv2317735018qtdSeparateBR"><br clear="none"><br clear="none"></div><div class="yiv2317735018yqt8195848688" id="yiv2317735018yqtfd58337"><div class="yiv2317735018yqt7016392641" id="yiv2317735018yqtfd59047"><div dir="ltr"><font size="2" face="Arial"> On Monday, October 24, 2016 8:35 AM, munez bn <munezbn.dev@gmail.com> wrote:<br clear="none"></font></div> <blockquote style="border-left:2px solid rgb(16, 16, 255);margin-left:5px;margin-top:5px;padding-left:5px;"> <br clear="none"><br clear="none"> <div class="yiv2317735018y_msg_container"><div id="yiv2317735018"><div><div dir="ltr">The Native scaling function using set_render_rectangle didnt work for me. It was not playing smoothly for some reason. So this is what I did<div><br clear="none"></div><div>1] Create a dismpanx window based on video resolution. ( This part may be missing in example code. I had hard-coded to  my test video resolution)</div><div>2] Set this window using set_window_hanlde ( refer to example code in the bug)</div><div>3] Once this happens you have complete control over the window, you can scale it, move it using dispmanx API  vc_dispmanx_element_change_attributes()</div><div><br clear="none"></div><div>The attached example is not optimized but enough for you to understand how to scale and move(change dest rect  x, y value)..</div><div><br clear="none"></div><div>Thanks & Regards</div><div>Munez<br clear="none"><div><br clear="none"></div></div></div><div class="yiv2317735018gmail_extra"><br clear="none"><div class="yiv2317735018yqt8418260613" id="yiv2317735018yqtfd38720"><div class="yiv2317735018gmail_quote">On Mon, Oct 24, 2016 at 12:44 PM, Sebastian Dröge <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:sebastian@centricular.com" target="_blank" href="mailto:sebastian@centricular.com">sebastian@centricular.com</a>></span> wrote:<br clear="none"><blockquote class="yiv2317735018gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">On Thu, 2016-10-20 at 10:56 +0000, Stuart Axon wrote:<br clear="none">
> Hi,<br clear="none">
>    I'm building a player on raspberry pi, but want to be able to move<br clear="none">
> / scale the window.<br clear="none">
> Is there an example somewhere to do this ?<br clear="none">
><br clear="none">
> I saw the patch here<br clear="none">
> <a rel="nofollow" shape="rect" target="_blank" href="https://bugzilla.gnome.org/show_bug.cgi?id=772608">https://bugzilla.gnome.org/ show_bug.cgi?id=772608</a><br clear="none">
><br clear="none">
><br clear="none">
> But I'm pretty new to coding opengl es, so not sure how to create the<br clear="none">
> window to pass into this API.<br clear="none">
><br clear="none">
> My app is in python, but this part doesn't necessarily need do be in<br clear="none">
> python.<br clear="none">
<br clear="none">
That bug also contains a test application as an attachment. Please take<br clear="none">
a look at that.<br clear="none">
<br clear="none">
It's nothing GL specific in this case, but RPi specific. You pass a<br clear="none">
dispmanx element there.<br clear="none">
<span class="yiv2317735018HOEnZb"><font color="#888888"><br clear="none">
--<br clear="none">
Sebastian Dröge, Centricular Ltd · <a rel="nofollow" shape="rect" target="_blank" href="http://www.centricular.com/">http://www.centricular.com</a></font></span><br clear="none">______________________________ _________________<br clear="none">
gstreamer-devel mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists. freedesktop.org</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/ mailman/listinfo/gstreamer- devel</a><br clear="none">
<br clear="none"></blockquote></div><br clear="none"></div></div></div></div><br clear="none">_______________________________________________<br clear="none">gstreamer-devel mailing list<br clear="none"><a rel="nofollow" shape="rect" ymailto="mailto:gstreamer-devel@lists.freedesktop.org" target="_blank" href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br clear="none"><a rel="nofollow" shape="rect" target="_blank" href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><div class="yiv2317735018yqt8418260613" id="yiv2317735018yqtfd22099"><br clear="none"></div><br clear="none"><br clear="none"></div> </blockquote> </div></div></div><div class="yiv2317735018yqt7016392641" id="yiv2317735018yqtfd03323"><div class="yiv2317735018yqt8195848688" id="yiv2317735018yqtfd36615"> </div></div></div><div class="yiv2317735018yqt7016392641" id="yiv2317735018yqtfd77383"><div class="yiv2317735018yqt8195848688" id="yiv2317735018yqtfd40558">  </div></div></div></div></div></div><br clear="none"><br clear="none"></div> </blockquote> </div> </div>  </div></div></div></div></div><br><br></div> </blockquote> </div> </div>  </div></div></body></html>