<div dir="ltr"><div>With all this said, I'd like to propose a different take on how to get bluray's integrated into Kodi in a better way without menu support, that you might want to pursue.</div><div><br></div><div>We know that kodi can't play java menus on android (or any env where it doesn't have a jvm). We also know that kodi can enumerate all the playlists that are available on the bluray ("bd-lite" some refer to it as). But this isn't that uesful, as the playlists don't convey any information to the end user. What if instead of just enumerating all the playlists, kodi could take an index file that mapped playlist #s to a text string ("Main Movie" "Featurette" "Deleted Scenes". Or even beyond that to include chapter metadata). Then end users copy drop the index file into the directory with their iso or BDMV fs and kodi could enumerate just what's defined, making it much more friendly to the end user.<br><br></div><div>I implemented a proof of concept of this a while back as an attempt to convince the plex, emby, jellyfin people that they should support libbluray based playback. <a href="https://github.com/sjpotter/bluray-http-server">https://github.com/sjpotter/bluray-http-server</a> (it's not just an http server, the fuse file system might be the more interesting part). This is a total hack, as it should be built into the playback software, not me trying to hack it at the file system level, but might provide you some inspiration into a better way for kodi to do it. <br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 24, 2021 at 5:55 PM Shaya Potter <<a href="mailto:spotter@gmail.com">spotter@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>as I said, reach out to them to get the source code and put the work into building it with the ndk that kodi uses. One can also look at phoneme (as petri mentioned)</div><div><br></div><div><a href="https://github.com/nikita36078/phoneME-android" target="_blank">https://github.com/nikita36078/phoneME-android</a> (example, don't know if this is the most uptodate version of the phoneme / android code floating around)<br></div><div><br></div><div>this is a java me environment and while not what libbluray is commonly used with today, should be all that's needed for blurays to run. With that said, I don't know what limitations it has and how its graphic drawing capabilities will work with libbluray. <br></div><div><br></div><div>getting it to build with the ndk that kodi uses is probably going to be a bit of work (perhaps an understatement), but if you do, all these linking problems should hopefully disappear. (in the case of java me, it's no longer the jvm binary, but the cvm binary that you will be using)<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 24, 2021 at 5:45 PM Vitor Dall'Acqua <<a href="mailto:veggav@gmail.com" target="_blank">veggav@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Today I tried with the 32bits build of Kodi with the arm build of that java for termux, now that I know how to add files to the apk, it was much easier. <div><br></div><div>So, the files for java need to be in the lib folder of the apk and adding subfolders break the jarsigner. </div><div>This means some files will be overwritten and I used the JRE ones to do so. </div><div><br></div><div>with the 64bits version the error is always the same ELF TLS DT entry is failing, with some google skills this seem like something about improperly linking the libs and this would only be possible to overcome with the source and the possibility to build our own java for android.</div><div><br></div><div>Next the 32bits, first it failed because of ld-linux-armhf.so.3 not found. This isn't part of the package so I grabbed it from arm-linux-gnueabihf.</div><div>$ sudo apt-get install libc6-armhf-cross </div><div>and it was found in usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3</div><div><br></div><div>so, after that the error is:</div><div>2021-01-24 13:32:26.058 T:18658 DEBUG <general>: CBlurayCallback::Logger - dl_posix.c:54: can't open library 'libjvm.so': dlopen failed: unknown reloc type 17 @ 0x981984c8 (65342)<br></div><div><br></div><div>If you guys know anything else I would be happy to try but... <br></div><div>beyond that I have no idea what can be done.</div><div>I'm throwing the towel and giving up. </div><div><br></div><div>It would be outstanding to have full blurays and blurays uhd on Android. As Shaya said it is the holy grail because it's a much better experience than having a computer running windows and CoreElec is very hardware restricted. </div><div><br></div><div></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 23, 2021 at 9:02 PM Vitor Dall'Acqua <<a href="mailto:veggav@gmail.com" target="_blank">veggav@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">I managed to insert everything into the apk, here's how:<div><br></div><div>use sdk command lines tool aapt and do:</div><div>$aapt add -v apkname.apk files/*</div><div><br></div><div>sign with </div><div>jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore apkname.apk androiddebugkey<br></div><div><br></div><div>ok, now that we have everything inside the apk and unpaking the way we want here's the new problem:</div><div>2021-01-23 21:58:03.326 T:30186 DEBUG <general>: CBlurayCallback::Logger - dl_posix.c:54: can't open library 'libjvm.so': dlopen failed: unsupported ELF TLS DT entry in "/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/app/org.xbmc.kodi19DV-ZUB_1OMT4YBiycijbgSzvA==/lib/arm64/libjvm.so"<br></div><div><br></div><div>so, is this a game over without the source code?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 23, 2021 at 7:53 PM Vitor Dall'Acqua <<a href="mailto:veggav@gmail.com" target="_blank">veggav@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Ok 10 hours of work is enough for a day. I'll be back tomorrow. <div><br></div><div>And from what I see we actually need the files inside </div><div>/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/app/org.xbmc.kodi19DV-<br>BHAaVSj7u8lhvDk_OSQttQ==/<br></div><div><br></div><div>looking clearly now it's no == the path actually has 2 =</div><div><br></div><div>I already know how to pack stuff using Kodi make apk, I'm adding here:</div><div>build/tools/android/packaging/xbmc/build/intermediates/stripped_native_libs/debugUnsigned/out/lib/arm64-v8a/<br></div><div><br></div><div>and when compiling those are showing up.. but for some reason.. the *so.6 isn't going.. probably because it is a link...</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jan 23, 2021 at 7:37 PM Petri Hintukainen <<a href="mailto:phintuka@users.sourceforge.net" target="_blank">phintuka@users.sourceforge.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">la, 2021-01-23 kello 23:38 +0200, Shaya Potter kirjoitti:<br>
> On Sat, Jan 23, 2021, 11:32 PM Petri Hintukainen <<br>
> <a href="mailto:phintuka@users.sourceforge.net" target="_blank">phintuka@users.sourceforge.net</a>> wrote:<br>
> > la, 2021-01-23 kello 17:43 -0300, Vitor Dall'Acqua kirjoitti:<br>
> > > Well, I'm no expert but when I tried to add it along with other<br>
> > > libraries it ended up in the same folder along with all other<br>
> > libs.<br>
> > <br>
> > Then, it should find libjvm.so from there without any path ? If<br>
> > JAVA_HOME is unset, first probed library is "libjvm.so" without any<br>
> > path added to it.<br>
> > <br>
> > If not, you could try adding following snippet to<br>
> > bdj.c:_load_jvm(),<br>
> > before "java_home = getenv("JAVA_HOME")" line:<br>
> > <br>
> > handle = dl_dlopen("/lib/arm64/libjvm.so", NULL);<br>
> > if (handle) {<br>
> > return handle;<br>
> > }<br>
> > <br>
> > But JVM probably won't find other files it needs if those are<br>
> > inside<br>
> > the apk.<br>
> <br>
> I was arguing that the whole jvm needs to be in the apk, see the<br>
> phoneme apk I linked to. It includes cvm in /assets/<br>
<br>
Yes, that seems to allow keeping the directory structure. libjvm.so<br>
probably looks for the other files using paths relative to it's<br>
location. But how are files in assets accessed? If those are not<br>
accessible from "normal" filesystem it doesn't work.<br>
<br>
Can we use something similar to this:<br>
/mnt/expand/cab01563-bcca-48fa-a0bf-0fbddaf9b192/app/org.xbmc.kodi19DV-<br>
BHAaVSj7u8lhvDk_OSQttQ==/lib/arm64/libkodi.so<br>
<br>
If not, those files need to be extracted somewhere in the filesystem.<br>
<br>
> _______________________________________________<br>
> libbluray-devel mailing list<br>
> <a href="mailto:libbluray-devel@videolan.org" target="_blank">libbluray-devel@videolan.org</a><br>
> <a href="https://mailman.videolan.org/listinfo/libbluray-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/libbluray-devel</a><br>
<br>
<br>
_______________________________________________<br>
libbluray-devel mailing list<br>
<a href="mailto:libbluray-devel@videolan.org" target="_blank">libbluray-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/libbluray-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/libbluray-devel</a><br>
</blockquote></div>
</blockquote></div>
</blockquote></div>
_______________________________________________<br>
libbluray-devel mailing list<br>
<a href="mailto:libbluray-devel@videolan.org" target="_blank">libbluray-devel@videolan.org</a><br>
<a href="https://mailman.videolan.org/listinfo/libbluray-devel" rel="noreferrer" target="_blank">https://mailman.videolan.org/listinfo/libbluray-devel</a><br>
</blockquote></div>
</blockquote></div>