[Bug 772608] rpi/dispmanx: Implement gst_video_overlay_set_window_handle() for dispmanx window

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Sun Oct 9 10:31:02 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=772608

--- Comment #9 from Matthew Waters (ystreet00) <ystreet00 at gmail.com> ---
(In reply to Munez from comment #8)
> (In reply to Matthew Waters (ystreet00) from comment #7)
> > checking as in making sure that the user set variables are not overriden. 
> > What the other backends do is have a seperate variable for the user set
> > window.  You probably also want to do the same thing here.
> > 
> Sorry, If I have understood correctly you are suggesting to 
> 
> 1] add a new member in _GstGLWindowDispmanxEGL structure
>  EGL_DISPMANX_WINDOW_T foreign;
> 
> 2] When set_window_handle is called, assign it to foreign instead of native
> 3] Everywhere in file gstglwindow_dispmanx_egl.c, make check like, if
> foreign != 0 then use foreign else use native ?

More or less.

When we actually need the native window, foreign should be copied to native and
native should be reset when closing.

> > (In reply to Munez from comment #5)
> > > Additionally we may have to remove element added by player before setting
> > > new element, something like below ?
> > > 
> > >     if(window_egl->native.element != 0) {
> > >       GST_DEBUG_OBJECT (window, "Remove existing native element");
> > >       update = vc_dispmanx_update_start(0);
> > >       vc_dispmanx_element_remove(update, window_egl->native.element);
> > >       vc_dispmanx_update_submit_sync(update);
> > >     } 
> > > 
> > > I noticed that even before set_window_handle is called, player adds a window
> > > by calling resize_window(16x16)..
> > 
> > Correct.
> 
> If i use above approach then i dont have to do this but have to make sure
> foreign element is destroyed in cleanup ?

No, that's the application's responsibility.  You don't touch the foreign
window just use it a place to render.

> I am planing to provide a patch all together once it is in good shape :)

The smaller the patches, the better they are ;)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list