vlc | branch: master | Petri Hintukainen <[email protected]> | Sat Jan 16 14:44:10 2016 +0200| [b0469c761c0906b5b63ed5c38eca7b4be76a6907] | committer: Jean-Baptiste Kempf
bluray: blurayOpen(): use blurayClose() to clean up after an error Signed-off-by: Jean-Baptiste Kempf <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=b0469c761c0906b5b63ed5c38eca7b4be76a6907 --- modules/access/bluray.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/modules/access/bluray.c b/modules/access/bluray.c index 60b7b6c..75a2aa0 100644 --- a/modules/access/bluray.c +++ b/modules/access/bluray.c @@ -500,16 +500,15 @@ static int blurayOpen(vlc_object_t *object) /* If we're passed a block device, try to convert it to the mount point. */ FindMountPoint(&p_sys->psz_bd_path); + vlc_mutex_init(&p_sys->pl_info_lock); + vlc_mutex_init(&p_sys->bdj_overlay_lock); + var_AddCallback( p_demux->p_input, "intf-event", onIntfEvent, p_demux ); + p_sys->bluray = bd_open(p_sys->psz_bd_path, NULL); if (!p_sys->bluray) { - free(p_sys->psz_bd_path); - free(p_sys); - return VLC_EGENERIC; + goto error; } - vlc_mutex_init(&p_sys->pl_info_lock); - vlc_mutex_init(&p_sys->bdj_overlay_lock); - /* Warning the user about AACS/BD+ */ const BLURAY_DISC_INFO *disc_info = bd_get_disc_info(p_sys->bluray); @@ -633,8 +632,6 @@ static int blurayOpen(vlc_object_t *object) if (unlikely(p_sys->p_out == NULL)) goto error; - var_AddCallback( p_demux->p_input, "intf-event", onIntfEvent, p_demux ); - blurayResetParser(p_demux); if (!p_sys->p_parser) { msg_Err(p_demux, "Failed to create TS demuxer"); @@ -672,8 +669,9 @@ static void blurayClose(vlc_object_t *object) * This will close all the overlays before we release p_vout * bd_close(NULL) can crash */ - assert(p_sys->bluray); - bd_close(p_sys->bluray); + if (p_sys->bluray) { + bd_close(p_sys->bluray); + } blurayReleaseVout(p_demux); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
