[vlc-devel] commit: Disable vout_RequestWindow. It has never worked properly ( Rémi Denis-Courmont )
git version control
git at videolan.org
Thu Jun 12 22:18:08 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Thu Jun 12 23:19:58 2008 +0300| [9638c71a2d212b932a785d7effb5eef7c42a7198]
Disable vout_RequestWindow. It has never worked properly
Some people should have read some documentation about threading before
they did 1000+ commits. Yes, I am obviously annoyed. I have been fixing
VLC for 18 months because of these "great former developers".
src/video_output/vout_intf.c | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/src/video_output/vout_intf.c b/src/video_output/vout_intf.c
index 27a515f..279bd9f 100644
@@ -107,6 +107,19 @@ void *vout_RequestWindow( vout_thread_t *p_vout,
var_Get( p_vout->p_libvlc, "drawable", &val );
if( val.i_int ) return (void *)(intptr_t)val.i_int;
+ /* FIXME:
+ * This code is utter crap w.r.t. threading. And it has always been.
+ * First, one cannot invoke callbacks from another thread's object.
+ * Not without a well-defined locking convention.
+ * Second, this would need to "wait" for the interface to be ready.
+ * Otherwise, the availability of the embded window would become
+ * time-dependent.
+ * In the past, this kind of things worked by accident. This time is over.
+ * -- Courmisch, 12 Jun 2008
/* Find if the main interface supports embedding */
p_list = vlc_list_find( p_vout, VLC_OBJECT_INTF, FIND_ANYWHERE );
if( !p_list ) return NULL;
@@ -134,6 +147,9 @@ void *vout_RequestWindow( vout_thread_t *p_vout,
else p_vout->p_parent_intf = p_intf;
+ return NULL;
void vout_ReleaseWindow( vout_thread_t *p_vout, void *p_window )
More information about the vlc-devel