Hi,
as i understand the latest osxvideosink now supports the xoverlay interface and i can set the output window via gst_x_overlay_set_xwindow_id(). My app (based on wxwidgets) is running fine on windows and linux, but on osx i dont know how to get the window id to redirect the video to my own window. Is there any example how to do this on osx? Thank you, Thomas |
On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote:
> Hi, > > as i understand the latest osxvideosink now supports the xoverlay interface > and i can set the output window via gst_x_overlay_set_xwindow_id(). > > My app (based on wxwidgets) is running fine on windows and linux, but on osx > i dont know how to get the window id to redirect the video to my own window. > > Is there any example how to do this on osx? > > Thank you, > Thomas The osxvideosink sends a pointer to a NSView to the application via a message containing a have-ns-view structure, small snippet: if (gst_structure_has_name(message->structure, "have-ns-view")) { videoWindow =(NSView*) g_value_get_pointer(gst_structure_get_value(message->structure, "nsview")); Then you can map the NSView to a NSWindow and show it. The message needs to be handled synchronously by the application. If you want a complete example, Alessandro (twi_ on IRC) told me he has one written in Python :) Philippe ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
On 06/23/2010 12:27 PM, Philippe Normand wrote:
> On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote: >> Hi, >> >> as i understand the latest osxvideosink now supports the xoverlay interface >> and i can set the output window via gst_x_overlay_set_xwindow_id(). >> >> My app (based on wxwidgets) is running fine on windows and linux, but on osx >> i dont know how to get the window id to redirect the video to my own window. >> >> Is there any example how to do this on osx? >> >> Thank you, >> Thomas > > The osxvideosink sends a pointer to a NSView to the application via a > message containing a have-ns-view structure, small snippet: > > if (gst_structure_has_name(message->structure, "have-ns-view")) { > videoWindow =(NSView*) > g_value_get_pointer(gst_structure_get_value(message->structure, > "nsview")); > > Then you can map the NSView to a NSWindow and show it. The message needs > to be handled synchronously by the application. > > If you want a complete example, Alessandro (twi_ on IRC) told me he has > one written in Python :) if possible i also like to get that complete example:-) thanks in advance. regards. -- Levente "Si vis pacem para bellum!" ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel |
In reply to this post by Philippe Normand
Hm, atm i do the following
Windows: HWND window = (HWND)MainFrame->EmbeddedVideoWindow->GetHandle(); Linux: Window window = GDK_WINDOW_XWINDOW(GTK_PIZZA(MainFrame->EmbeddedVideoWindow->m_wxwindow)->bin_window); Is there no similar simple thing under OSX for wxMac? Thomas |
In reply to this post by Farkas Levente
On 06/23/2010 06:01 PM, Farkas Levente wrote:
> On 06/23/2010 12:27 PM, Philippe Normand wrote: >> On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote: >>> Hi, >>> >>> as i understand the latest osxvideosink now supports the xoverlay interface >>> and i can set the output window via gst_x_overlay_set_xwindow_id(). >>> >>> My app (based on wxwidgets) is running fine on windows and linux, but on osx >>> i dont know how to get the window id to redirect the video to my own window. >>> >>> Is there any example how to do this on osx? >>> >>> Thank you, >>> Thomas >> >> The osxvideosink sends a pointer to a NSView to the application via a >> message containing a have-ns-view structure, small snippet: >> >> if (gst_structure_has_name(message->structure, "have-ns-view")) { >> videoWindow =(NSView*) >> g_value_get_pointer(gst_structure_get_value(message->structure, >> "nsview")); >> >> Then you can map the NSView to a NSWindow and show it. The message needs >> to be handled synchronously by the application. >> >> If you want a complete example, Alessandro (twi_ on IRC) told me he has >> one written in Python :) > > if possible i also like to get that complete example:-) On Linux and Windows, I simply use: gst.parse_launch(" .. ! .. ! ..") Does this mean that it won't work for osxvideosink now? Will I have to construct the pipeline manually and link the pads, etc Really? Ouch. :( Thanks Antoine > thanks in advance. > regards. > _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
hi
i had the same problem with my app, it s now fixed with the nsview added in pygtk 2.24, don t know for wxwidget...But now i have a bus error when trying to play a video with osxvideosink... i posted 1 week ago on this list but my post is still pending ... good luck... thanks Antoine Martin a écrit : On 06/23/2010 06:01 PM, Farkas Levente wrote:On 06/23/2010 12:27 PM, Philippe Normand wrote:On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote:Hi, as i understand the latest osxvideosink now supports the xoverlay interface and i can set the output window via gst_x_overlay_set_xwindow_id(). My app (based on wxwidgets) is running fine on windows and linux, but on osx i dont know how to get the window id to redirect the video to my own window. Is there any example how to do this on osx? Thank you, ThomasThe osxvideosink sends a pointer to a NSView to the application via a message containing a have-ns-view structure, small snippet: if (gst_structure_has_name(message->structure, "have-ns-view")) { videoWindow =(NSView*) g_value_get_pointer(gst_structure_get_value(message->structure, "nsview")); Then you can map the NSView to a NSWindow and show it. The message needs to be handled synchronously by the application. If you want a complete example, Alessandro (twi_ on IRC) told me he has one written in Python :)if possible i also like to get that complete example:-)+1 On Linux and Windows, I simply use: gst.parse_launch(" .. ! .. ! ..") Does this mean that it won't work for osxvideosink now? Will I have to construct the pipeline manually and link the pads, etc Really? Ouch. :( Thanks Antoinethanks in advance. regards._______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 04/18/2011 06:47 PM, Sylvain LAGUILLAUMIE wrote:
> hi > > i had the same problem with my app, it s now fixed with the nsview added > in pygtk 2.24, Can you expand on that? What is this "nsview" fix? > don t know for wxwidget...But now i have a bus error when > trying to play a video with osxvideosink... i posted 1 week ago on this > list but my post is still pending ... Hah, I also get a bus error, I assumed it was because osxvideosink needed a window or something. Anyone? Thanks Antoine > > good luck... > > thanks > > Antoine Martin a écrit : >> On 06/23/2010 06:01 PM, Farkas Levente wrote: >> >>> On 06/23/2010 12:27 PM, Philippe Normand wrote: >>> >>>> On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote: >>>> >>>>> Hi, >>>>> >>>>> as i understand the latest osxvideosink now supports the xoverlay >>>>> interface >>>>> and i can set the output window via gst_x_overlay_set_xwindow_id(). >>>>> >>>>> My app (based on wxwidgets) is running fine on windows and linux, >>>>> but on osx >>>>> i dont know how to get the window id to redirect the video to my >>>>> own window. >>>>> >>>>> Is there any example how to do this on osx? >>>>> >>>>> Thank you, >>>>> Thomas >>>>> >>>> The osxvideosink sends a pointer to a NSView to the application via a >>>> message containing a have-ns-view structure, small snippet: >>>> >>>> if (gst_structure_has_name(message->structure, "have-ns-view")) { >>>> videoWindow =(NSView*) >>>> g_value_get_pointer(gst_structure_get_value(message->structure, >>>> "nsview")); >>>> >>>> Then you can map the NSView to a NSWindow and show it. The message >>>> needs >>>> to be handled synchronously by the application. >>>> >>>> If you want a complete example, Alessandro (twi_ on IRC) told me he has >>>> one written in Python :) >>>> >>> if possible i also like to get that complete example:-) >>> >> +1 >> >> On Linux and Windows, I simply use: >> gst.parse_launch(" .. ! .. ! ..") >> Does this mean that it won't work for osxvideosink now? >> Will I have to construct the pipeline manually and link the pads, etc >> Really? Ouch. :( >> >> Thanks >> Antoine >> >> >> >> >>> thanks in advance. >>> regards. >>> >>> >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >> > > > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le 18 avr. 2011 à 17:02, Antoine Martin a écrit : Hi > On 04/18/2011 06:47 PM, Sylvain LAGUILLAUMIE wrote: >> hi >> >> i had the same problem with my app, it s now fixed with the nsview added >> in pygtk 2.24, > Can you expand on that? What is this "nsview" fix? I have a gtk.DrawingArea as self.movie_window in my app to embed the videos from gstreamer (i use playbin...) here's my on_sync_message function (with pygtk 2.24) def on_sync_message(self, bus, message): if message.structure is None: return win_id = None message_name = message.structure.get_name() if message_name == "prepare-xwindow-id": if sys.platform == "win32": win_id = self.movie_window.window.handle elif sys.platform == "darwin": print self.window.window.nsview win_id = self.movie_window.window.nsview else: win_id = self.movie_window.window.xid gtk.gdk.threads_enter() self.sink.set_xwindow_id(win_id) gtk.gdk.threads_leave() the nsview now return the window id correctly BUT i can t play any videos... it was working when i builded gtk, gstreamer.... with x11 but now i rebuilded it all with +no_x11 +quartz and now i just have bus_error osx crash report : http://pylonshq.com/pasties/a0d90ebdc8ae993120b6b50dcb075a24 if someone have an idear or know where i can report it... thanks > >> don t know for wxwidget...But now i have a bus error when >> trying to play a video with osxvideosink... i posted 1 week ago on this >> list but my post is still pending ... > Hah, I also get a bus error, I assumed it was because osxvideosink > needed a window or something. > > Anyone? > > Thanks > Antoine > > >> >> good luck... >> >> thanks >> >> Antoine Martin a écrit : >>> On 06/23/2010 06:01 PM, Farkas Levente wrote: >>> >>>> On 06/23/2010 12:27 PM, Philippe Normand wrote: >>>> >>>>> On Sun, 2010-06-13 at 07:30 -0700, Thomas Loewe wrote: >>>>> >>>>>> Hi, >>>>>> >>>>>> as i understand the latest osxvideosink now supports the xoverlay >>>>>> interface >>>>>> and i can set the output window via gst_x_overlay_set_xwindow_id(). >>>>>> >>>>>> My app (based on wxwidgets) is running fine on windows and linux, >>>>>> but on osx >>>>>> i dont know how to get the window id to redirect the video to my >>>>>> own window. >>>>>> >>>>>> Is there any example how to do this on osx? >>>>>> >>>>>> Thank you, >>>>>> Thomas >>>>>> >>>>> The osxvideosink sends a pointer to a NSView to the application via a >>>>> message containing a have-ns-view structure, small snippet: >>>>> >>>>> if (gst_structure_has_name(message->structure, "have-ns-view")) { >>>>> videoWindow =(NSView*) >>>>> g_value_get_pointer(gst_structure_get_value(message->structure, >>>>> "nsview")); >>>>> >>>>> Then you can map the NSView to a NSWindow and show it. The message >>>>> needs >>>>> to be handled synchronously by the application. >>>>> >>>>> If you want a complete example, Alessandro (twi_ on IRC) told me he has >>>>> one written in Python :) >>>>> >>>> if possible i also like to get that complete example:-) >>>> >>> +1 >>> >>> On Linux and Windows, I simply use: >>> gst.parse_launch(" .. ! .. ! ..") >>> Does this mean that it won't work for osxvideosink now? >>> Will I have to construct the pipeline manually and link the pads, etc >>> Really? Ouch. :( >>> >>> Thanks >>> Antoine >>> >>> >>> >>> >>>> thanks in advance. >>>> regards. >>>> >>>> >>> >>> _______________________________________________ >>> gstreamer-devel mailing list >>> [hidden email] >>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >>> >> >> >> >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |