Mac OS 10.10
GStreamer 1.6.1 Xcode 6.4 Hello, can anyone point me to any sample code (C/C++) showing how to display video on the Mac, in a window owned by the application (rather than GStreamer creating a window for the video)? I have written code (using wxWidgets as it happens) which works fine on Linux/GTK and on Windows. I have a top-level window containing a child control in which I want the video to appear. I get a handle like this: #ifdef __WXGTK__ GtkWidget *gtk_widget = m_wxwindow; GdkWindow *gdk_window = gtk_widget_get_window(gtk_widget); gdk_window_ensure_native(gdk_window)); m_video_window_handle = GDK_WINDOW_XID(gdk_window); #endif #ifdef __WXMSW__ m_video_window_handle = (gulong)GetHWND(); #endif #ifdef __WXMAC__ NSView *nsv = GetPeer()->GetWXWidget(); m_video_window_handle = (gulong)nsv; #endif The wxWidgets people assure me that this will obtain a NSView* on Mac. Then in the bus_sync_callback I do: GstVideoOverlay *overlay = GST_VIDEO_OVERLAY(GST_MESSAGE_SRC(msg)); gst_video_overlay_set_window_handle(overlay, m_video_window_handle); As I say, this works on Windows & Linux. But on Mac the place where the video should be, is blank. If I omit the call to gst_video_overlay_set_window_handle then GStreamer creates a new window and displays the video in it. But I want the video to appear in my already-existing window. So maybe I am passing the wrong thing to gst_video_overlay_set_window_handle. But if so then I don't know what I am doing wrong so if anyone can suggest anything, or point me to an example which works, I'd be most grateful. Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mi, 2016-01-06 at 17:33 +0000, Andy Robinson wrote:
> Mac OS 10.10 > GStreamer 1.6.1 > Xcode 6.4 > > Hello, can anyone point me to any sample code (C/C++) showing how to > display video on the Mac, in a window owned by the application > (rather than GStreamer creating a window for the video)? > > I have written code (using wxWidgets as it happens) which works fine > on Linux/GTK and on Windows. > > I have a top-level window containing a child control in which I want > the video to appear. I get a handle like this: > > #ifdef __WXMAC__ > NSView *nsv = GetPeer()->GetWXWidget(); > m_video_window_handle = (gulong)nsv; > #endif > > The wxWidgets people assure me that this will obtain a NSView* on > Mac. > > Then in the bus_sync_callback I do: > GstVideoOverlay *overlay = > GST_VIDEO_OVERLAY(GST_MESSAGE_SRC(msg)); > gst_video_overlay_set_window_handle(overlay, > m_video_window_handle); > > As I say, this works on Windows & Linux. But on Mac the place where > the video should be, is blank. that contains the actual video. Can you try without wxWidgets in a plain OSX application if you have the same problem? Also which video sink is actually used here? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On Fr, 2016-01-08 at 15:37 +0200, Sebastian Dröge wrote:
> This seems all correct, assuming the NSView can accept a child view > that contains the actual video. What basically happens is that we call addSubview on whatever NSView you provide there -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
In reply to this post by Sebastian Dröge-3
On 08/01/16 13:37, Sebastian Dröge wrote:
> On Mi, 2016-01-06 at 17:33 +0000, Andy Robinson wrote: >> Mac OS 10.10 >> GStreamer 1.6.1 >> Xcode 6.4 >> >> Hello, can anyone point me to any sample code (C/C++) showing how to >> display video on the Mac, in a window owned by the application >> (rather than GStreamer creating a window for the video)? >> >> I have written code (using wxWidgets as it happens) which works fine >> on Linux/GTK and on Windows. >> >> I have a top-level window containing a child control in which I want >> the video to appear. I get a handle like this: >> >> #ifdef __WXMAC__ >> NSView *nsv = GetPeer()->GetWXWidget(); >> m_video_window_handle = (gulong)nsv; >> #endif >> >> The wxWidgets people assure me that this will obtain a NSView* on >> Mac. >> >> Then in the bus_sync_callback I do: >> GstVideoOverlay *overlay = >> GST_VIDEO_OVERLAY(GST_MESSAGE_SRC(msg)); >> gst_video_overlay_set_window_handle(overlay, >> m_video_window_handle); >> >> As I say, this works on Windows & Linux. But on Mac the place where >> the video should be, is blank. > > This seems all correct, assuming the NSView can accept a child view > that contains the actual video. > > Can you try without wxWidgets in a plain OSX application if you have > the same problem? > > Also which video sink is actually used here? Thanks for this - I'm still wrestling with it. I was using autovideosink but your question prompted me to use gst-inspect to see what else is available and I found osxvideosink. This doesn't work too well - it displays a green screen or a freeze frame of the first frame of the video, and the pipeline doesn't want to go into a PAUSE state, but, the green screen rectangle is in the right place in my parent window, which encourages me to think that the NSView* I am giving to gst_video_overlay_set_window_handle is indeed the right thing. You mentioned that addSubview is used so I also added a diagnostic to report how many subviews my NSView has, and it said 1 as we would expect. So I switched back to autovideosink and the diagnostic now reports 0 subviews. So the video subview is somehow not being added to the NSView I provide. From inside the program, autovideosink seems to be working perfectly - I can set the video playing and query its current position, which advances just as it should. But nothing is displayed. I agree that writing a plain OSX application would be good. I've only ever programmed the Mac using wxWidgets so it would be very helpful for me if there were any simple example programs using GStreamer on Mac for me to use as a starting point. Are there any such samples? I think I've seem samples mentioned in the GStreamer docs, but I've not found the samples themselves. Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On So, 2016-01-10 at 16:42 +0000, Andy Robinson wrote:
> Thanks for this - I'm still wrestling with it. I was using > autovideosink but your question prompted me to use gst-inspect to see what else is > available and I found osxvideosink. This doesn't work too well - it > displays a green screen or a freeze frame of the first frame of the > video, and the pipeline doesn't want to go into a PAUSE state, but, the > green screen rectangle is in the right place in my parent window, which > encourages me to think that the NSView* I am giving to > gst_video_overlay_set_window_handle is indeed the right thing. Try using glimagesink, it generally works better than osxvideosink and also has more features. Does that work better? > I agree that writing a plain OSX application would be good. I've only > ever programmed the Mac using wxWidgets so it would be very helpful for > me if there were any simple example programs using GStreamer on Mac for > me to use as a starting point. Are there any such samples? I think I've > seem samples mentioned in the GStreamer docs, but I've not found the > samples themselves. Unfortunately I'm not aware of a plain OSX application that uses the GstVideoOverlay interface, only GTK+ applications and plain OSX applications using the CoreAnimation sink. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On 11/01/16 21:07, Sebastian Dröge wrote:
> Try using glimagesink, it generally works better than osxvideosink and > also has more features. Does that work better? This behaves the same as autovideosink - if I omit the call to gst_video_overlay_set_window_handle then it displays the video in a separate window. When I include the call to gst_video_overlay_set_window_handle then I get no video at all, and my NSView has no subviews. Although from inside the program, everything seems to be working smoothly. > Unfortunately I'm not aware of a plain OSX application that uses the > GstVideoOverlay interface, only GTK+ applications and plain OSX > applications using the CoreAnimation sink. So are you saying that nobody uses this feature on Mac? Is it possible that it simply doesn't work? I don't know what CoreAnimation sink is, it doesn't seem to be installed on my system (a "full install" of 1.6.1). Is it something I could use for displaying video in a NSView owned by my app (which is all I want to do)? I would really like to find a solution. Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On 12/01/16 14:40, Andy Robinson wrote:
> On 11/01/16 21:07, Sebastian Dröge wrote: >> Try using glimagesink, it generally works better than osxvideosink and >> also has more features. Does that work better? > > This behaves the same as autovideosink - if I omit the call to > gst_video_overlay_set_window_handle then it displays the video in a > separate window. When I include the call to > gst_video_overlay_set_window_handle then I get no video at all, and my > NSView has no subviews. Although from inside the program, everything > seems to be working smoothly. > >> Unfortunately I'm not aware of a plain OSX application that uses the >> GstVideoOverlay interface, only GTK+ applications and plain OSX >> applications using the CoreAnimation sink. > > So are you saying that nobody uses this feature on Mac? Is it possible > that it simply doesn't work? I don't know what CoreAnimation sink is, it > doesn't seem to be installed on my system (a "full install" of 1.6.1). > Is it something I could use for displaying video in a NSView owned by my > app (which is all I want to do)? > > I would really like to find a solution. > > Regards, > Andy Robinson, Seventh String Software, www.seventhstring.com And P.S. could it have anything to do with the fact that autovideosink and glimagesink are BINs rather than single elements (and they fail to add the necessary subview) while osxvideosink is a single element (and does add the necessary subview)? _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Andy Robinson
On Di, 2016-01-12 at 14:40 +0000, Andy Robinson wrote:
> On 11/01/16 21:07, Sebastian Dröge wrote: > > Try using glimagesink, it generally works better than osxvideosink > > and > > also has more features. Does that work better? > > This behaves the same as autovideosink - if I omit the call to > gst_video_overlay_set_window_handle then it displays the video in a > separate window. When I include the call to > gst_video_overlay_set_window_handle then I get no video at all, and > my NSView has no subviews. Although from inside the program, > everything seems to be working smoothly. here https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer and include a example application (plus instructions how to build it). > > Unfortunately I'm not aware of a plain OSX application that uses > > the GstVideoOverlay interface, only GTK+ applications and plain OSX > > applications using the CoreAnimation sink. > > So are you saying that nobody uses this feature on Mac? Is it > possible that it simply doesn't work? It was definitely working a longer time ago but I wouldn't be surprised if nobody is using the GstVideoOverlay interface on OSX nowadays as there are better ways for native OSX applications now. However we should make it work again, but probably should first of all check if it works in a non-wxwidgets OSX application :) > I don't know what CoreAnimation sink is, it doesn't seem to be > installed on my system (a "full install" of 1.6.1). > Is it something I could use for displaying video in a NSView owned by > my app (which is all I want to do)? No, it's something that is integrating into Apple's CoreAnimation API. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On 13/01/16 20:34, Sebastian Dröge wrote:
> It was definitely working a longer time ago but I wouldn't be surprised > if nobody is using the GstVideoOverlay interface on OSX nowadays as > there are better ways for native OSX applications now. I would be very grateful if you would tell me what these better ways are. All I want to do is use GStreamer to display video in the right place within a window on Mac OSX - surely this is a very normal thing to do? Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Do, 2016-01-14 at 11:24 +0000, Andy Robinson wrote:
> On 13/01/16 20:34, Sebastian Dröge wrote: > > It was definitely working a longer time ago but I wouldn't be > > surprised > > if nobody is using the GstVideoOverlay interface on OSX nowadays as > > there are better ways for native OSX applications now. > > I would be very grateful if you would tell me what these better ways > are. > > All I want to do is use GStreamer to display video in the right place > within a window on Mac OSX - surely this is a very normal thing to > do? can probably not use it when you're using wxwidgets (it depends on what wxwidgets allows you to do). It works by setting the CALayer of a view to what the sink is providing. Independent of all that, we should nonetheless make sure that the GstVideoOverlay interface of glimagesink works on OSX. So if you can provide a testcase for the problem there, that would be great. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
In reply to this post by Andy Robinson
On Do, 2016-01-14 at 11:24 +0000, Andy Robinson wrote:
> On 13/01/16 20:34, Sebastian Dröge wrote: > > It was definitely working a longer time ago but I wouldn't be > > surprised > > if nobody is using the GstVideoOverlay interface on OSX nowadays as > > there are better ways for native OSX applications now. > > I would be very grateful if you would tell me what these better ways > are. > > All I want to do is use GStreamer to display video in the right place > within a window on Mac OSX - surely this is a very normal thing to > do? http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gl/cocoa Try if this one works for you and let us know! There's also this example: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/avsamplesink The CoreAnimation sink would be used the same way, you can find it in the "opengl" plugin as caopengllayersink. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On 15/01/16 21:51, Sebastian Dröge wrote:
> There's also this example: > http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/avsamplesink > > The CoreAnimation sink would be used the same way, you can find it > in the "opengl" plugin as caopengllayersink. Thanks for this, it's great. The example works as it is, then I switched it from avsamplebufferlayersink to caopengllayersink and it worked the same, then I put a smaller view within the window and put the layer there, still fine. So then I incorporated it into my wxWidgets app, using caopengllayersink: CALayer *layer; g_object_get(m_videosink, "layer", &layer, NULL); NSView *nsv = GetPeer()->GetWXWidget(); [nsv setWantsLayer:YES]; [nsv setLayer:layer]; and it works! Fantastic, thank you. Possibly the documentation for GstVideoOverlay should indicate that that's not really the way to do it on Mac these days. > I just noticed that we also have a Cocoa example using GstVideoOverlay: > http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/gl/cocoa I did look briefly at this but it wouldn't compile - various problems - and the copyright message in the file is 2009 so maybe it needs updating (or dumping). Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Sa, 2016-01-16 at 14:11 +0000, Andy Robinson wrote:
> [...] > and it works! Fantastic, thank you. Possibly the documentation for > GstVideoOverlay should indicate that that's not really the way to do > it on Mac these days. It depends a bit on your use case, but there are still valid use cases for GstVideoOverlay and it's supposed to work :) > > I just noticed that we also have a Cocoa example using > > GstVideoOverlay: > > http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/ex > > amples/gl/cocoa > > I did look briefly at this but it wouldn't compile - various problems > - > and the copyright message in the file is 2009 so maybe it needs > updating (or dumping). How does it fail to compile? From shortly looking over the code it looks all good and was just updated in the middle of last year. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On 18/01/16 14:04, Sebastian Dröge wrote:
>>> I just noticed that we also have a Cocoa example using >>> GstVideoOverlay: >>> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/ex >>> amples/gl/cocoa >> >> I did look briefly at this but it wouldn't compile - various problems >> - >> and the copyright message in the file is 2009 so maybe it needs >> updating (or dumping). > > How does it fail to compile? From shortly looking over the code it > looks all good and was just updated in the middle of last year. I have a test project in which the avsamplebufferlayersink compiles and runs with no problems. When I try the same with the GstVideoOverlay example I get: /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:278:49: 'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:288:9: 'release' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:288:9: ARC forbids explicit message send of 'release' /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:319:3: 'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:323:30: 'NSAutoreleasePool' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:359:3: Implicit conversion of Objective-C pointer type 'MainWindow *' to C pointer type 'gpointer' (aka 'void *') requires a bridged cast /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:360:3: Implicit conversion of Objective-C pointer type 'MainWindow *' to C pointer type 'gpointer' (aka 'void *') requires a bridged cast /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:361:3: Implicit conversion of Objective-C pointer type 'MainWindow *' to C pointer type 'gpointer' (aka 'void *') requires a bridged cast /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:362:69: Implicit conversion of Objective-C pointer type 'MainWindow *' to C pointer type 'gpointer' (aka 'void *') requires a bridged cast /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:366:34: Implicit conversion of Objective-C pointer type 'MainWindow *' to C pointer type 'gpointer' (aka 'void *') requires a bridged cast /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:382:11: 'release' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:382:11: ARC forbids explicit message send of 'release' /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:384:9: 'release' is unavailable: not available in automatic reference counting mode /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:384:9: ARC forbids explicit message send of 'release' Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Di, 2016-01-19 at 14:49 +0000, Andy Robinson wrote:
> On 18/01/16 14:04, Sebastian Dröge wrote: > > > > I just noticed that we also have a Cocoa example using > > > > GstVideoOverlay: > > > > http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/test > > > > s/ex > > > > amples/gl/cocoa > > > > > > I did look briefly at this but it wouldn't compile - various > > > problems > > > - > > > and the copyright message in the file is 2009 so maybe it needs > > > updating (or dumping). > > > > How does it fail to compile? From shortly looking over the code it > > looks all good and was just updated in the middle of last year. > > I have a test project in which the avsamplebufferlayersink compiles > and runs with no problems. When I try the same with the > GstVideoOverlay example I get: > > /Users/andy/Temp2/vidsinktest/vidsinktest/main.m:278:49: > 'NSAutoreleasePool' is unavailable: not available in automatic > reference counting mode counting). It's using explicit reference counting. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
On 19/01/16 15:03, Sebastian Dröge wrote:
> You have to compile the sample without ARC (automatic reference > counting). It's using explicit reference counting. And it works, using GstVideoOverlay. Also when I create a subview occupying just part of the window it works. So it's a mystery to me why it didn't work, doing the same thing in the context of a wxWidgets app. But anyway, the caopengllayersink & CALayer method does work in wxWidgets so that seems to be the solution. Thanks again for your help. Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
This post was updated on .
Hi, Andy. Could you share the include part of your code? And how do you installed GDK on OS X? Because I can't find <gdk/gdkx.h> and I can't find how to install GDK on OS X. Maybe you used quartz, so where can I find <gdk/gdkquartz.h> in /GStreamer.framework/? Thanks! |
On 07/03/16 01:37, doon wrote:
> Andy Robinson wrote >> On 19/01/16 15:03, Sebastian Dröge wrote: >>> You have to compile the sample without ARC (automatic reference >>> counting). It's using explicit reference counting. >> >> And it works, using GstVideoOverlay. Also when I create a subview >> occupying just part of the window it works. So it's a mystery to me why >> it didn't work, doing the same thing in the context of a wxWidgets app. >> But anyway, the caopengllayersink & CALayer method does work in >> wxWidgets so that seems to be the solution. Thanks again for your help. >> >> Regards, >> Andy Robinson, Seventh String Software, www.seventhstring.com >> _______________________________________________ >> gstreamer-devel mailing list > >> gstreamer-devel@.freedesktop > >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > Hi, Andy. > Could you share the include part of your code? And how do you installed GDK > on OS X? Because I can't find <gdk/gdkx.h> and I can't find how to install > GDK on OS X. > Thanks! > Hi Doon, I didn't install GDK... here is the message I posted to the wxWidgets group about how to do it: It seems that if you want to use GStreamer to display video on Mac (in a wxWidgets window) then GstVideoOverlay is *not* the way to do it. Instead: See: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/tests/examples/avsamplesink which should work as it is. Then switch it from avsamplebufferlayersink to caopengllayersink (Sebastian recommends this choice) and it should work the same. You can then get the same effect in your wxWidgets app like this, using caopengllayersink (this happens within a subclass of wxControl, which is positioned at the place in the window where we want the video to appear): CALayer *layer; g_object_get(m_videosink, "layer", &layer, NULL); NSView *nsv = GetPeer()->GetWXWidget(); [nsv setWantsLayer:YES]; [nsv setLayer:layer]; Regards, Andy Robinson, Seventh String Software, www.seventhstring.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by doon
On So, 2016-03-06 at 17:37 -0800, doon wrote:
> > Hi, Andy. > Could you share the include part of your code? And how do you > installed GDK on OS X? Because I can't find <gdk/gdkx.h> and I can't > find how to install GDK on OS X. Do you want to use GDK/GTK with the X11 backend on OSX? Probably not. In that case you want gdk/gdkquartz.h See this for a GTK2 example: https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials/basic-tutorial-5.c Look for GDK_WINDOWING_QUARTZ. This part is the same on GTK3, other parts there might be different. Search for GDK_WINDOWING_QUARTZ in here for a GTK3 example, but that's a more complex application: https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/tests/examples/playback/playback-test.c -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Ok, I built gst-plugins-base and checked that. So I added «/usr/local/Cellar/gtk+/2.24.29/include/gtk-2.0/» path to «Header Search Paths»(I installed gtk via homebrew) and added #include <gdk/gdkquartz.h> in my .h. After that I got many errors in «NSObjCRuntime.h», «NSZone.h», and «NSObject.h» like: «/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:437:19: Unknown type name 'NSString'» I think it’s because gdkquartz uses some Objective-C headers. So is it right? How can I solve these errors? By the way, if I add #include <gdk/gdk.h> instead of gdkquartz.h, then I get «’gdkconfig.h' file not found». |
Free forum by Nabble | Edit this page |