Using GstVideoOverlay on Mac

doon don-prog at mail.ru
Wed Mar 30 03:48:20 UTC 2016


Sebastian Dröge-3 wrote
> On Do, 2016-03-10 at 18:04 -0800, doon wrote:
>> Ok, thanks I will try to debug it. And one more question: I give the
>> "drawingarea1.GdkWindow.Handle" to the native Gstreamer code, but
>> video plays in the full window and over the other widgets. Why?
> 
> Does the drawing area have it's own native window or does it share with
> the other widgets? In GTK+2 it is necessary to call
>   gdk_window_ensure_native()
> on the GdkWindow before getting the handle. Otherwise it might share
> the native window with other widgets.
> 
> -- 
> Sebastian Dröge, Centricular Ltd · http://www.centricular.com
> 
> 
> _______________________________________________
> gstreamer-devel mailing list

> gstreamer-devel at .freedesktop

> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> 
> signature.asc (968 bytes)
> <http://gstreamer-devel.966125.n4.nabble.com/attachment/4676281/0/signature.asc>


1. I debugged my app with gdb and got this output after trying to move my
cursor over the rendering area:
[New Thread 0x2623 of process 524]
[New Thread 0x2703 of process 524]
[New Thread 0x2803 of process 524]
[New Thread 0x2903 of process 524]

Program received signal SIGSEGV, Segmentation fault.
0x00000001060eea29 in find_nsview_at_pos ()
   from
/Library/Frameworks/Mono.framework/Versions/4.2.1/lib/libgdk-quartz-2.0.0.dylib

In the my library I just set window handle and change pipeline state to
playing, without creating another threads, almost same code works on other
operating systems. If I create new thread and run main loop in that thread,
than I get same result.
But when I run main loop in the main function than all everything goes fine.
But I think this is not a good solution for application logic, so I still
need to fix this bug. Maybe it’s due to my Hackintosh OS?

2. About full window playback(instead of playback in drawingarea widget):
when I call gdk_window_ensure_native(drawingarea1.GdkWindow.Handle) function
in GTK# app(before Gstreamer calling) I get: 

Gdk-CRITICAL **: gdk_window_ensure_native: assertion 'GDK_IS_WINDOW
(window)' failed

How can I fix it?



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Using-GstVideoOverlay-on-Mac-tp4675141p4676634.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list