Commit a9e9f718 authored by Laurent Aimar's avatar Laurent Aimar

Fixed the last issue with FS (in embedded mode we not always be asked to

release the video).
parent d4de21db
...@@ -690,9 +690,10 @@ void *MainInterface::requestVideo( vout_thread_t *p_nvout, int *pi_x, ...@@ -690,9 +690,10 @@ void *MainInterface::requestVideo( vout_thread_t *p_nvout, int *pi_x,
return ret; return ret;
} }
void MainInterface::releaseVideo( vout_thread_t *p_vout, void *p_win ) void MainInterface::releaseVideo( void *p_win )
{ {
if( fullscreenControls ) fullscreenControls->detachVout(); if( fullscreenControls ) fullscreenControls->detachVout();
if( p_win )
emit askReleaseVideo( p_win ); emit askReleaseVideo( p_win );
} }
......
...@@ -73,7 +73,7 @@ public: ...@@ -73,7 +73,7 @@ public:
void *requestVideo( vout_thread_t *p_nvout, int *pi_x, void *requestVideo( vout_thread_t *p_nvout, int *pi_x,
int *pi_y, unsigned int *pi_width, int *pi_y, unsigned int *pi_width,
unsigned int *pi_height ); unsigned int *pi_height );
void releaseVideo( vout_thread_t *, void * ); void releaseVideo( void * );
int controlVideo( void *p_window, int i_query, va_list args ); int controlVideo( void *p_window, int i_query, va_list args );
void requestLayoutUpdate(); void requestLayoutUpdate();
......
...@@ -417,6 +417,11 @@ static void Init( intf_thread_t *p_intf ) ...@@ -417,6 +417,11 @@ static void Init( intf_thread_t *p_intf )
if (miP) if (miP)
{ {
QMutexLocker locker (&windowLock); QMutexLocker locker (&windowLock);
/* We need to warn to detach from any vout before
* deleting miP (WindowClose will not be called after it) */
p_intf->p_sys->p_mi->releaseVideo( NULL );
val.p_address = NULL; val.p_address = NULL;
var_Set (p_intf, "window_widget", val); var_Set (p_intf, "window_widget", val);
delete miP; delete miP;
...@@ -534,6 +539,6 @@ static void WindowClose (vlc_object_t *obj) ...@@ -534,6 +539,6 @@ static void WindowClose (vlc_object_t *obj)
QMutexLocker locker (&windowLock); QMutexLocker locker (&windowLock);
if (!miP->isNull ()) if (!miP->isNull ())
(*miP)->releaseVideo( wnd->vout, wnd->handle ); (*miP)->releaseVideo( wnd->handle );
delete miP; delete miP;
} }
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