[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".

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=9638c71a2d212b932a785d7effb5eef7c42a7198
---

 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
--- a/src/video_output/vout_intf.c
+++ b/src/video_output/vout_intf.c
@@ -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;
 
+#if 0
+    /* 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 p_window;
+#else
+   return NULL;
+#endif
 }
 
 void vout_ReleaseWindow( vout_thread_t *p_vout, void *p_window )




More information about the vlc-devel mailing list