vlc/vlc-2.2 | branch: master | Felix Paul Kühne <[email protected]> | Tue May 26 19:50:05 2015 +0200| [8e8ac4a07f3cc1ce3c23ef521777246e21062532] | committer: Felix Paul Kühne
ios vout: fix unexpected termination when app is in background (close #14643) (cherry picked from commit 8d765e169785861bc63fc3234f5d4d16ca4c9940) > http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=8e8ac4a07f3cc1ce3c23ef521777246e21062532 --- modules/video_output/ios2.m | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/video_output/ios2.m b/modules/video_output/ios2.m index 306cdb5..06e9a9f 100644 --- a/modules/video_output/ios2.m +++ b/modules/video_output/ios2.m @@ -334,8 +334,10 @@ static void PictureDisplay(vout_display_t *vd, picture_t *pic, subpicture_t *sub { vout_display_sys_t *sys = vd->sys; sys->has_first_frame = true; - if (likely([sys->glESView isAppActive])) - vout_display_opengl_Display(sys->vgl, &vd->source); + @synchronized (sys->glESView) { + if (likely([sys->glESView isAppActive])) + vout_display_opengl_Display(sys->vgl, &vd->source); + } picture_Release(pic); @@ -410,7 +412,9 @@ static void OpenglESSwap(vlc_gl_t *gl) [self performSelectorOnMainThread:@selector(reshape) withObject:nil waitUntilDone:NO]; [self setAutoresizingMask: UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight]; - _appActive = ([UIApplication sharedApplication].applicationState == UIApplicationStateActive); + @synchronized (self) { + _appActive = ([UIApplication sharedApplication].applicationState == UIApplicationStateActive); + } return self; } @@ -491,7 +495,7 @@ static void OpenglESSwap(vlc_gl_t *gl) vout_display_place_t place; - @synchronized(self) { + @synchronized (self) { if (_voutDisplay) { vout_display_cfg_t cfg_tmp = *(_voutDisplay->cfg); CGFloat scaleFactor = self.contentScaleFactor; @@ -526,12 +530,14 @@ static void OpenglESSwap(vlc_gl_t *gl) - (void)applicationStateChanged:(NSNotification *)notification { + @synchronized (self) { if ([[notification name] isEqualToString:UIApplicationWillResignActiveNotification] || [[notification name] isEqualToString:UIApplicationDidEnterBackgroundNotification] || [[notification name] isEqualToString:UIApplicationWillTerminateNotification]) _appActive = NO; else _appActive = YES; + } } - (void)updateConstraints _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
