vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Dec 1 19:34:48 2015 +0200| [93d6d9494cf45bb783517686a66a2403584e39d9] | committer: Rémi Denis-Courmont
vout: handle pool callback failure (fixes #14908) > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=93d6d9494cf45bb783517686a66a2403584e39d9 --- src/video_output/video_output.c | 4 +++- src/video_output/vout_wrapper.c | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c index 1c62d9b..5df9096 100644 --- a/src/video_output/video_output.c +++ b/src/video_output/video_output.c @@ -940,7 +940,9 @@ static int ThreadDisplayRenderPicture(vout_thread_t *vout, bool is_forced) assert(vout_IsDisplayFiltered(vd) == !sys->display.use_dr); if (sys->display.use_dr && !is_direct) { - picture_t *direct = picture_pool_Get(vout->p->display_pool); + picture_t *direct = NULL; + if (likely(vout->p->display_pool != NULL)) + direct = picture_pool_Get(vout->p->display_pool); if (!direct) { picture_Release(todisplay); if (subpic) diff --git a/src/video_output/vout_wrapper.c b/src/video_output/vout_wrapper.c index ce622b3..10c615e 100644 --- a/src/video_output/vout_wrapper.c +++ b/src/video_output/vout_wrapper.c @@ -133,6 +133,9 @@ int vout_InitWrapper(vout_thread_t *vout) const unsigned display_pool_size = allow_dr ? __MAX(VOUT_MAX_PICTURES, reserved_picture + decoder_picture) : 3; picture_pool_t *display_pool = vout_display_Pool(vd, display_pool_size); + if (display_pool == NULL) + return VLC_EGENERIC; + #ifndef NDEBUG if ( picture_pool_GetSize(display_pool) < display_pool_size ) msg_Warn(vout, "Not enough display buffers in the pool, requested %d got %d", _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
