[vlc-devel] [Re: commit: Disable vout_RequestWindow. It has never worked properly ( Rémi Denis-Courmont )]
smile4you at gmx.ch
Mon Jun 16 00:01:02 CEST 2008
Since this change allways a new video window opens when receiving a
video stream from VDR ffnetdev. The video output is never shown inside
of the VLC window.
Prior to this change it worked better but also not properly: When
opening the stream, the video was shown inside the VLC window and only
when changing to another TV channel with different resolution a new
window was opened.
I hope I can help you finding a better solution than entirely disabling
-------- Original-Nachricht --------
Betreff: [vlc-devel] commit: Disable vout_RequestWindow. It has never
worked properly ( Rémi Denis-Courmont )
Datum: Thu, 12 Jun 2008 22:18:08 +0200 (CEST)
Von: git at videolan.org (git version control)
Antwort an: Mailing list for VLC media player developers
<vlc-devel at videolan.org>
An: <vlc-devel at videolan.org>
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 )
vlc-devel mailing list
To unsubscribe or modify your subscription options:
More information about the vlc-devel