Commit 5f010182 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Qt4: wait until the video output is ready

Except that this still returns an X11 invalid handle
parent 81126aae
...@@ -68,8 +68,14 @@ VideoWidget::VideoWidget( intf_thread_t *_p_i ) : QFrame( NULL ), p_intf( _p_i ) ...@@ -68,8 +68,14 @@ VideoWidget::VideoWidget( intf_thread_t *_p_i ) : QFrame( NULL ), p_intf( _p_i )
plt.setColor( QPalette::Inactive, QPalette::Window , Qt::black ); plt.setColor( QPalette::Inactive, QPalette::Window , Qt::black );
setPalette( plt ); setPalette( plt );
/* The core can ask through a callback to show the video */ /* The core can ask through a callback to show the video.
CONNECT( this, askVideoWidgetToShow(), this, show() ); * NOTE: We need to block the video output core until the window handle
* is ready for use (otherwise an X11 invalid handle failure may occur).
* As a side effect, it is illegal to emit askVideoWidgetToShow from
* the same thread as the Qt4 thread that owns this. */
QObject::connect( this, SIGNAL(askVideoWidgetToShow()), this, SLOT(show()),
Qt::BlockingQueuedConnection );
/* The core can ask through a callback to resize the video */ /* The core can ask through a callback to resize the video */
// CONNECT( this, askResize( int, int ), this, SetSizing( int, int ) ); // CONNECT( this, askResize( int, int ), this, SetSizing( int, int ) );
} }
...@@ -108,6 +114,7 @@ void *VideoWidget::request( vout_thread_t *p_nvout, int *pi_x, int *pi_y, ...@@ -108,6 +114,7 @@ void *VideoWidget::request( vout_thread_t *p_nvout, int *pi_x, int *pi_y,
return NULL; return NULL;
} }
p_vout = p_nvout; p_vout = p_nvout;
msg_Dbg( p_intf, "embedded video handle %p", winId() );
return ( void* )winId(); return ( void* )winId();
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment