diff options
author | Andoni Morales Alastruey <ylatuya@gmail.com> | 2012-05-16 21:52:45 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2012-05-24 14:35:42 +0200 |
commit | a3cf0ab5f5cc1817b651bf9c377ca7b51821a5aa (patch) | |
tree | 1ef593aeea10232d2c3a5cd6711d683b90f5c399 /sys/osxvideo | |
parent | 7cc93e9195475e0b24f8349e3c3b8bdcdc92bf9e (diff) |
osxvideosink: reset the embed property for backward compatilibity
Diffstat (limited to 'sys/osxvideo')
-rw-r--r-- | sys/osxvideo/osxvideosink.h | 1 | ||||
-rw-r--r-- | sys/osxvideo/osxvideosink.m | 22 |
2 files changed, 14 insertions, 9 deletions
diff --git a/sys/osxvideo/osxvideosink.h b/sys/osxvideo/osxvideosink.h index 6c65ee9e2..73906caf4 100644 --- a/sys/osxvideo/osxvideosink.h +++ b/sys/osxvideo/osxvideosink.h @@ -77,6 +77,7 @@ struct _GstOSXVideoSink { NSView *superview; guint cocoa_timeout; gboolean keep_par; + gboolean embed; }; struct _GstOSXVideoSinkClass { diff --git a/sys/osxvideo/osxvideosink.m b/sys/osxvideo/osxvideosink.m index e7de9d4cb..f61e7ae76 100644 --- a/sys/osxvideo/osxvideosink.m +++ b/sys/osxvideo/osxvideosink.m @@ -268,14 +268,18 @@ gst_osx_video_sink_osxwindow_create (GstOSXVideoSink * osxvideosink, gint width, @selector(addToSuperview:), osxvideosink->superview, NO); } else { - /* the view wasn't added to a superview. It's possible that the - * application handled have-ns-view, stored our view internally and is - * going to add it to a superview later (webkit does that now). - */ - gst_osx_video_sink_start_cocoa_event_poller (osxvideosink); - gst_osx_video_sink_call_from_main_thread(osxvideosink->osxvideosinkobject, + if (osxvideosink->embed) { + /* the view wasn't added to a superview. It's possible that the + * application handled have-ns-view, stored our view internally and is + * going to add it to a superview later (webkit does that now). + */ + GST_INFO_OBJECT (osxvideosink, "no superview"); + } else { + gst_osx_video_sink_start_cocoa_event_poller (osxvideosink); + gst_osx_video_sink_call_from_main_thread(osxvideosink->osxvideosinkobject, @selector(createInternalWindow), nil, YES); - GST_INFO_OBJECT (osxvideosink, "no superview"); + GST_INFO_OBJECT (osxvideosink, "No superview, creating an internal window."); + } } } [osxwindow->gstview setNavigation: GST_NAVIGATION(osxvideosink)]; @@ -446,7 +450,7 @@ gst_osx_video_sink_set_property (GObject * object, guint prop_id, switch (prop_id) { case ARG_EMBED: - /* Ignore, just here for backwards compatibility */ + osxvideosink->embed = g_value_get_boolean(value); break; case ARG_FORCE_PAR: osxvideosink->keep_par = g_value_get_boolean(value); @@ -472,7 +476,7 @@ gst_osx_video_sink_get_property (GObject * object, guint prop_id, switch (prop_id) { case ARG_EMBED: - g_value_set_boolean (value, TRUE); + g_value_set_boolean (value, osxvideosink->embed); break; case ARG_FORCE_PAR: g_value_set_boolean (value, osxvideosink->keep_par); |