[vlc-devel] [Re: commit: Disable vout_RequestWindow. It has never worked properly ( Rémi Denis-Courmont )]

techfreak 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 

Regards, techfreak

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

> 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;
+   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 mailing list