glImagesink changing windows?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

glImagesink changing windows?

Levi Pope
I have an application that needs to change the window that the video is being displayed on using the glimagesink.
 
The way I acomplish this with all of the other video sinks is I send a null to the xoverlay interface and then send
the new window pointer once I create the new window. This works fine on xvimagesink, directdrawimagesink, and most others.
 
But with the glimage sink the video never transfers to the new window.
 
I have looked through the gl code but I am new to opengl and could easily be missing something.
 
Can anyone give me sugestions on how to fix this?
Or am I doing this the wrong way?
 
Thanks
Levi

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: glImagesink changing windows?

Filippo
On Fri, May 29, 2009 at 6:09 PM, Levi Pope <[hidden email]> wrote:
> I have an application that needs to change the window that the video is
> being displayed on using the glimagesink.
>
> The way I acomplish this with all of the other video sinks is I send a null
> to the xoverlay interface and then send
> the new window pointer once I create the new window. This works fine on
> xvimagesink, directdrawimagesink, and most others.

Do you send a NULL window with set_xwindow_id? Did you try to change
the window directly? IIRC glimagesink reparents its window into the
xoverlay one. If you send a null window it's likely that when you set
a new window it tries to reparent it to null. I'm not sure if this
reparenting thing is right, other sinks create a new context with the
new window. Anyway, if what I'm guessing is right, glimagesink should
at least check for the xid to be non null.

Filippo

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: glImagesink changing windows?

Filippo
On Sat, May 30, 2009 at 10:03 AM, Filippo Argiolas
<[hidden email]> wrote:
> new window. Anyway, if what I'm guessing is right, glimagesink should
> at least check for the xid to be non null.

Uhm, no, forget it. Apparently it does that check.

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: glImagesink changing windows?

Julien Isorce
In reply to this post by Levi Pope
Hi,

2009/5/29 Levi Pope <[hidden email]>
I have an application that needs to change the window that the video is being displayed on using the glimagesink.
 
The way I acomplish this with all of the other video sinks is I send a null to the xoverlay interface and then send
the new window pointer once I create the new window. This works fine on xvimagesink, directdrawimagesink, and most others.

Could you write a mininal test to reproduce the problem ?

You want to call gst_x_overlay_set_xwindow_id several times right ?
The first call is working ?

I am sure you have read this page, but in case not:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-gstxoverlay.html#gst-x-overlay-prepare-xwindow-id

Anyway if it works with other video sinks then this is certainly a bug.
You can file a bug here: http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer

Julien
 
 
Thanks
Levi


------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: glImagesink changing windows?

Levi Pope
In reply to this post by Filippo

Thanks for looking into that for me.
I will file a bug for that issue.

 

Another thing I was looking at is the navigation interface.

I think xv is the only other sink that implements it.

I modified glimagesink to do it for my testing I was wondering if that was going

To be added any time soon?
 
Again thanks for the help.
Levi


On Sat, May 30, 2009 at 3:03 AM, Filippo Argiolas <[hidden email]> wrote:
On Fri, May 29, 2009 at 6:09 PM, Levi Pope <[hidden email]> wrote:
> I have an application that needs to change the window that the video is
> being displayed on using the glimagesink.
>
> The way I acomplish this with all of the other video sinks is I send a null
> to the xoverlay interface and then send
> the new window pointer once I create the new window. This works fine on
> xvimagesink, directdrawimagesink, and most others.

Do you send a NULL window with set_xwindow_id? Did you try to change
the window directly? IIRC glimagesink reparents its window into the
xoverlay one. If you send a null window it's likely that when you set
a new window it tries to reparent it to null. I'm not sure if this
reparenting thing is right, other sinks create a new context with the
new window. Anyway, if what I'm guessing is right, glimagesink should
at least check for the xid to be non null.

Filippo

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, &
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
OpenSolaris 2009.06 is a cutting edge operating system for enterprises
looking to deploy the next generation of Solaris that includes the latest
innovations from Sun and the OpenSource community. Download a copy and
enjoy capabilities such as Networking, Storage and Virtualization.
Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel