vlc/vlc-3.0 | branch: master | Francois Cartegnie <[email protected]> | Thu Oct 18 14:57:10 2018 +0200| [2d33086944f7ca64e47c2ccfe195c9a89d169b6e] | committer: Francois Cartegnie
access: bluray: fix BD-J background recursive lock (cherry picked from commit 13ef07ed408f817a2610092172160cd7546ce829) > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=2d33086944f7ca64e47c2ccfe195c9a89d169b6e --- modules/access/bluray.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/modules/access/bluray.c b/modules/access/bluray.c index 38116ab9b6..33631a9c6f 100644 --- a/modules/access/bluray.c +++ b/modules/access/bluray.c @@ -448,13 +448,12 @@ static void blurayReleaseVout(demux_t *p_demux) * BD-J background video *****************************************************************************/ -static void startBackground(demux_t *p_demux) +static es_out_id_t * blurayCreateBackgroundUnlocked(demux_t *p_demux) { demux_sys_t *p_sys = p_demux->p_sys; - if (p_sys->p_dummy_video) { - return; - } + if (p_sys->p_dummy_video) + return p_sys->p_dummy_video; msg_Info(p_demux, "Start background"); @@ -493,6 +492,7 @@ static void startBackground(demux_t *p_demux) out: es_format_Clean(&fmt); + return p_sys->p_dummy_video; } static void stopBackground(demux_t *p_demux) @@ -2572,7 +2572,8 @@ static void blurayHandleOverlays(demux_t *p_demux, int nread) /* Looks like there's no video stream playing. Emit blank frame so that BD-J overlay can be drawn. */ - startBackground(p_demux); + if(blurayCreateBackgroundUnlocked(p_demux) != NULL) + p_sys->p_vout = input_GetVout(p_demux->p_input); } if (p_sys->p_vout != NULL) { _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
