Commit graph

40 commits

Author SHA1 Message Date
Alessandro Decina
f20cdcd36b osxvideosink: fix race in starting the runloop thread
Block gst_osx_video_sink_run_cocoa_loop until the loop thread has started and
finished initializing NSApp. Fixes occasional warnings/crashes due to two
threads going inside NSApp before finishLaunching had completed.
2012-05-31 10:26:10 +02:00
Andoni Morales Alastruey
5b3d3b0885 osxvideosink: make sure all selectors are performed on the same thread
When we are using a dedicated thread to run the main run loop we
must make sure that all selectors are performed on this same thread.
For instance if performSelectorOnMainThread is called from the real
main thread, it will not go through the message queue and will be
executed from the real main thread. By forcing the target thread,
we ensure that all functions will be called either from the real
main thread when the main run loop is running or from our thread
spinning the main loop.
2012-05-25 11:07:35 +02:00
Alessandro Decina
57e43aeb21 osxvideosink: start the loop before calling [gstview haveSuperview]
...as haveSuperview requires the mainloop to be running
2012-05-24 14:36:13 +02:00
Alessandro Decina
dc8de54cce osxvideosink: fix indentation 2012-05-24 14:36:09 +02:00
Alessandro Decina
718837d914 osxvideosink: add code to optionally run the cocoa main runloop in a separate thread
Add a little hack to run the cocoa main runloop from a separate thread _when_
the main runloop is not being run (which means that the app doesn't use cocoa).
Runloops are thread specific, so the hack boils down to getting the runloop for
the main thread and setting it as the runloop for our dedicated thread.
2012-05-24 14:35:59 +02:00
Alessandro Decina
e3cba62b7e osxvideosink: reset app_started to FALSE when shutting down 2012-05-24 14:35:55 +02:00
Alessandro Decina
645b37e80a osxvideosink: rename cocoa runloop helper funcs 2012-05-24 14:35:51 +02:00
Alessandro Decina
7f576b923a osxvideosink: don't create application menus 2012-05-24 14:35:46 +02:00
Andoni Morales Alastruey
a3cf0ab5f5 osxvideosink: reset the embed property for backward compatilibity 2012-05-24 14:35:42 +02:00
Andoni Morales Alastruey
7cc93e9195 osxvideosink: fix navigation when force-aspect-ratio is activated 2012-05-24 14:35:37 +02:00
Andoni Morales Alastruey
fd19abf9ee osxvideosink: add force-aspect-ratio property 2012-05-24 14:35:32 +02:00
Andoni Morales Alastruey
9b8bfe9b9e osxvideosink: start internal window if no view is provided 2012-05-24 14:35:27 +02:00
Andoni Morales Alastruey
ba5d55dd69 osxvideosink: implement the navigation interface 2012-05-24 14:35:21 +02:00
Andoni Morales Alastruey
088bc6b056 osvideosink: create, destroy, resize and draw from the main thread 2012-05-24 14:35:16 +02:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Stefan Kost
77b656eec1 various (sys): add a missing G_PARAM_STATIC_STRINGS flags 2010-10-13 17:39:36 +03:00
Philippe Normand
720369c06e osxvideosink: use the new xoverlay APIs
Also bumped -base requirements.
2010-09-21 13:40:33 +02:00
Alessandro Decina
3fdd51952b osxvideosink: allow switching views at runtime. 2010-05-11 22:30:03 +02:00
Alessandro Decina
5f9f71b38e osxvideosink: implement the xoverlay interface. Fixes #618349. 2010-05-11 19:58:00 +02:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Michael Smith
8991a713a7 osxvideosink: Create the video NSView in READY->PAUSED rather than NULL->READY 2009-10-23 18:31:14 -07:00
Edward Hervey
309c651286 osxvideosink: Fix build. Fixes #571038 2009-02-10 08:43:59 +01:00
Michael Smith
b9ca852b51 osxvideosink: remove non-embedded mode and fix memory management.
Remove non-embedded mode. Embed mode becomes default and only mode.
embed property is retained for binary compatibility.
Added autorelease pools around all objc functions that might be called
from a non-main thread.
2009-02-05 15:53:04 -08:00
Stefan Kost
8e462968cf Remove version numbers from a few gst-launch examples.
The majority of the examples doe not use -0.10 and this will also help us to maintain the docs.
2009-01-29 11:07:59 +02:00
Stefan Kost
6335307b97 Update and add documentation for platform specific plugins (sys).
Link to properties. Correct titles for examples. Fix examples.
2009-01-29 10:12:43 +02:00
Michael Smith
e6075940b1 sys/osxvideo/osxvideosink.*: Handle video window resizing more correctly, avoiding crashes when embedding the window ...
Original commit message from CVS:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Handle video window resizing more correctly, avoiding crashes when
embedding the window and resizing it.
2008-11-20 23:59:07 +00:00
Edward Hervey
4511fdb05d sys/osxvideo/osxvideosink.m: Fix minor build issues on macosx.
Original commit message from CVS:
* sys/osxvideo/osxvideosink.m:
Fix minor build issues on macosx.
Fixes #543054
2008-07-17 16:42:53 +00:00
Andy Wingo
f7edc0c690 sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy)
Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* sys/osxvideo/osxvideosink.m
(gst_osx_video_sink_osxwindow_destroy)
(gst_osx_video_sink_osxwindow_new): Actually set a lock on the
task, whoopdee.
(cocoa_event_loop): Pacify the taymans by upping the usleepage to
2 ms.
2008-03-18 15:03:06 +00:00
Andy Wingo
a6267f383e sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy)
Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* sys/osxvideo/osxvideosink.m (gst_osx_video_sink_osxwindow_destroy)
(gst_osx_video_sink_osxwindow_new, cocoa_event_loop):
* sys/osxvideo/osxvideosink.h (struct _GstOSXVideoSink): If we
need to run an event loop, do so in a task instead of assuming
that there will be a GMainLoop. Fixes #523134.
2008-03-18 11:50:08 +00:00
Edward Hervey
c65d017cc5 docs/plugins/Makefile.am: Also look for .m (objectivec) files.
Original commit message from CVS:
* docs/plugins/Makefile.am:
Also look for .m (objectivec) files.
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* sys/osxvideo/osxvideosink.m:
Add documentation for element and properties.
2007-05-22 11:03:30 +00:00
Edward Hervey
0389794224 sys/osxvideo/osxvideosink.*: Remove the event-loop-in-separate-thread modifications, because MacOSX is $#@(*%$# ! For...
Original commit message from CVS:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Remove the event-loop-in-separate-thread modifications, because MacOSX
is $#@(*%$# ! For those wondering, the event handling needs to be done
in the main thread after all..
2007-05-17 10:59:00 +00:00
Edward Hervey
284c7f0ff9 sys/osxvideo/osxvideosink.*: Fix a stupid #if vs #ifdef bug. Should use the proper colorspace now.
Original commit message from CVS:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Fix a stupid #if vs #ifdef bug. Should use the proper colorspace now.
Use a separate thread/task for the cocoa event_loop, else it wouldn't
stop.
2007-05-17 09:41:48 +00:00
Thomas Vander Stichele
96b4ce1692 80 char police
Original commit message from CVS:
80 char police
2007-04-29 13:56:18 +00:00
Edward Hervey
966b66493a sys/osxvideo/osxvideosink.m: Fix previous commit, we want to pass the NSView in the message.
Original commit message from CVS:
* sys/osxvideo/osxvideosink.m:
Fix previous commit, we want to pass the NSView in the message.
2007-03-16 18:38:18 +00:00
Edward Hervey
64c3e76a84 sys/osxvideo/osxvideosink.m: Emit 'have-ns-view' message when working in embedded mode. The message will contain a po...
Original commit message from CVS:
* sys/osxvideo/osxvideosink.m:
Emit 'have-ns-view' message when working in embedded mode. The message
will contain a pointer to the newly created NSView.
2007-03-16 16:27:20 +00:00
Edward Hervey
c209a3f894 sys/osxvideo/: Fix leaks when running a NSApp.
Original commit message from CVS:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Fix leaks when running a NSApp.
Accept any kind of resolutions.
Works in fullscreen. Can maximize.
Only thing left before being able to move this to -good is documentation
and embedded window support.
2007-03-14 16:30:19 +00:00
Christian Schaller
b9820ee991 update copyright statements
Original commit message from CVS:
update copyright statements
2007-02-27 12:02:03 +00:00
Edward Hervey
a471de34bf sys/osxvideo/: Disable the cocoa event loop since it's a huge memory leak. Should only matter if the sink isn't used ...
Original commit message from CVS:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Disable the cocoa event loop since it's a huge memory leak. Should only
matter if the sink isn't used within an NSApp (which has already got
a coca event loop).
Remove all unused code.
2007-02-27 11:30:19 +00:00
Edward Hervey
5d004d2c32 configure.ac: Check for an Objective C compiler
Original commit message from CVS:
* configure.ac:
Check for an Objective C compiler
* sys/Makefile.am:
* sys/osxvideo/Makefile.am:
* sys/osxvideo/cocoawindow.h:
* sys/osxvideo/cocoawindow.m:
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
Port of osxvideo plugin to 0.10. Do NOT consider 100% stable !
Fixes #402470
2007-01-30 17:19:33 +00:00