<div dir="ltr"><div>hi,<br><br></div>this change breaks the check for unsupported titles at line 1014 bluray.c:<br> /* mark supported titles */<br><br> if (bd->disc_info.bdj_detected && !bd->disc_info.bdj_handled) {<br> bd->disc_info.num_unsupported_titles = bd->disc_info.num_bdj_titles;<br> }<br><br>since bdj_handled is not yet checked.<br></div><div class="gmail_extra"><br><div class="gmail_quote">2017-06-01 10:27 GMT+02:00 hpi1 <span dir="ltr"><<a href="mailto:git@videolan.org" target="_blank">git@videolan.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">libbluray | branch: master | hpi1 <<a href="mailto:hpi1@anonymous.org">hpi1@anonymous.org</a>> | Thu Jun 1 11:16:17 2017 +0300| [<wbr>6198fe4918b5dee6aa84a19ee87dff<wbr>d1188f3add] | committer: hpi1<br>
<br>
Check BD-J capability on demand, cache results<br>
<br>
> <a href="http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=6198fe4918b5dee6aa84a19ee87dffd1188f3add" rel="noreferrer" target="_blank">http://git.videolan.org/<wbr>gitweb.cgi/libbluray.git/?a=<wbr>commit;h=<wbr>6198fe4918b5dee6aa84a19ee87dff<wbr>d1188f3add</a><br>
---<br>
<br>
src/libbluray/bluray.c | 33 ++++++++++++++++++++----------<wbr>---<br>
1 file changed, 20 insertions(+), 13 deletions(-)<br>
<br>
diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c<br>
index 4b50ff2c..e7cb9beb 100644<br>
--- a/src/libbluray/bluray.c<br>
+++ b/src/libbluray/bluray.c<br>
@@ -926,14 +926,6 @@ static void _fill_disc_info(BLURAY *bd, BD_ENC_INFO *enc_info)<br>
bd->disc_info.bdj_detected = 0;<br>
bd->disc_info.bdj_supported = 1;<br>
<br>
-<br>
- /* Check if jvm + jar can be loaded ? */<br>
- switch (bdj_jvm_available(&bd-><wbr>bdjstorage)) {<br>
- case 2: bd->disc_info.bdj_handled = 1;<br>
- case 1: bd->disc_info.libjvm_detected = 1;<br>
- default:;<br>
- }<br>
-<br>
bd->disc_info.num_titles = 0;<br>
bd->disc_info.titles = NULL;<br>
bd->disc_info.top_menu = NULL;<br>
@@ -944,12 +936,10 @@ static void _fill_disc_info(BLURAY *bd, BD_ENC_INFO *enc_info)<br>
memset(bd->disc_info.bdj_org_<wbr>id, 0, sizeof(bd->disc_info.bdj_org_<wbr>id));<br>
memset(bd->disc_info.bdj_disc_<wbr>id, 0, sizeof(bd->disc_info.bdj_disc_<wbr>id));<br>
<br>
- if (!bd->disc) {<br>
- return;<br>
- }<br>
-<br>
+ if (bd->disc) {<br>
bd->disc_info.udf_volume_id = disc_volume_id(bd->disc);<br>
index = indx_get(bd->disc);<br>
+ }<br>
<br>
if (index) {<br>
INDX_PLAY_ITEM *pi;<br>
@@ -1072,10 +1062,27 @@ static void _fill_disc_info(BLURAY *bd, BD_ENC_INFO *enc_info)<br>
bdid_free(&bdid);<br>
}<br>
}<br>
+<br>
+ if (!bd->disc_info.bdj_handled) {<br>
+ if (!bd->disc || bd->disc_info.bdj_detected) {<br>
+<br>
+ /* Check if jvm + jar can be loaded ? */<br>
+ switch (bdj_jvm_available(&bd-><wbr>bdjstorage)) {<br>
+ case 2: bd->disc_info.bdj_handled = 1;<br>
+ case 1: bd->disc_info.libjvm_detected = 1;<br>
+ default:;<br>
+ }<br>
+ }<br>
+ }<br>
}<br>
<br>
const BLURAY_DISC_INFO *bd_get_disc_info(BLURAY *bd)<br>
{<br>
+ if (!bd->disc) {<br>
+ BD_ENC_INFO enc_info;<br>
+ memset(&enc_info, 0, sizeof(enc_info));<br>
+ _fill_disc_info(bd, &enc_info);<br>
+ }<br>
return &bd->disc_info;<br>
}<br>
<br>
@@ -1391,7 +1398,7 @@ BLURAY *bd_init(void)<br>
int v = (!strcmp(env, "yes")) ? 1 : (!strcmp(env, "no")) ? 0 : atoi(env);<br>
bd->bdjstorage.no_persistent_<wbr>storage = !v;<br>
}<br>
- _fill_disc_info(bd, NULL);<br>
+<br>
BD_DEBUG(DBG_BLURAY, "BLURAY initialized!\n");<br>
<br>
return bd;<br>
<br>
______________________________<wbr>_________________<br>
libbluray-devel mailing list<br>
<a href="mailto:libbluray-devel@videolan.org">libbluray-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/libbluray-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/<wbr>listinfo/libbluray-devel</a><br>
</blockquote></div><br></div>