libbluray | branch: master | hpi1 <[email protected]> | Sun Mar 1 14:26:15 2015 +0200| [19529f2b61d05ed2408eb1259e6b67151d5a16d6] | committer: hpi1
Check for NULL > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=19529f2b61d05ed2408eb1259e6b67151d5a16d6 --- src/libbluray/bluray.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c index 3bd2ec7..94a1072 100644 --- a/src/libbluray/bluray.c +++ b/src/libbluray/bluray.c @@ -491,10 +491,12 @@ static void _update_textst_timer(BLURAY *bd) if (cmds.wakeup_time >= bd->st0.clip->in_time && cmds.wakeup_time < bd->st0.clip->out_time) { /* find event position in main path clip */ NAV_CLIP *clip = bd->st0.clip; - uint32_t spn = clpi_lookup_spn(clip->cl, cmds.wakeup_time, /*before=*/1, - bd->title->pl->play_item[clip->ref].clip[clip->angle].stc_id); - if (spn) { - bd->gc_wakeup_pos = (uint64_t)spn * 192L; + if (clip->cl) { + uint32_t spn = clpi_lookup_spn(clip->cl, cmds.wakeup_time, /*before=*/1, + bd->title->pl->play_item[clip->ref].clip[clip->angle].stc_id); + if (spn) { + bd->gc_wakeup_pos = (uint64_t)spn * 192L; + } } } } @@ -503,7 +505,7 @@ static void _update_textst_timer(BLURAY *bd) static void _init_textst_timer(BLURAY *bd) { - if (bd->st_textst.clip) { + if (bd->st_textst.clip && bd->st0.clip->cl) { uint32_t clip_time; clpi_access_point(bd->st0.clip->cl, SPN(bd->st0.clip_block_pos), /*next=*/0, /*angle_change=*/0, &clip_time); bd->gc_wakeup_time = clip_time; @@ -1909,6 +1911,11 @@ static int _preload_textst_subpath(BLURAY *bd) gc_run(bd->graphics_controller, GC_CTRL_PG_RESET, 0, NULL); bd->st_textst.clip = &bd->title->sub_path[textst_subpath].clip_list.clip[textst_subclip]; + if (!bd->st0.clip->cl) { + /* required for fonts */ + BD_DEBUG(DBG_BLURAY | DBG_CRIT, "_preload_textst_subpath(): missing clip data\n"); + return -1; + } if (!_preload_m2ts(bd, &bd->st_textst)) { _close_preload(&bd->st_textst); _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
