libbluray | branch: master | hpi1 <[email protected]> | Mon Apr 6 19:07:14 2015 +0300| [4c98726711c1240fd40362d8a92107f5e6cc32f8] | committer: hpi1
Fix caching JAR/ subdirectory from UDF filesystem > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=4c98726711c1240fd40362d8a92107f5e6cc32f8 --- src/libbluray/bdj/java/org/videolan/VFSCache.java | 29 ++++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/libbluray/bdj/java/org/videolan/VFSCache.java b/src/libbluray/bdj/java/org/videolan/VFSCache.java index 47b2184..2bcfbe9 100644 --- a/src/libbluray/bdj/java/org/videolan/VFSCache.java +++ b/src/libbluray/bdj/java/org/videolan/VFSCache.java @@ -159,20 +159,29 @@ class VFSCache { logger.info("cached " + relPath); } - private void copyJarDir(String name) { - /* copy directory from BDMV/JAR/ */ + private void copyJarDir(String name, String[] files) { - File[] files = new File(vfsRoot + jarDir + name).listFiles(); for (int i = 0; i < files.length; i++) { - File file = files[i]; - String relPath = name + File.separator + files[i].getName(); - if (file.isDirectory()) { - copyJarDir(relPath); + String relPath = name + File.separator + files[i]; + String[] subFiles = Libbluray.listBdFiles(relPath, true); + if (subFiles != null) { + copyJarDir(relPath, subFiles); } else { - copyJarFile(relPath); + Libbluray.cacheBdRomFile(relPath, cacheRoot + relPath); } } - logger.info("cached " + name); + } + + private void copyJarDir(String name) { + /* copy directory from BDMV/JAR/ */ + + String relPath = jarDir + name; + String[] files = Libbluray.listBdFiles(relPath, true); + if (files == null) { + return; + } + copyJarDir(relPath, files); + logger.info("cached " + relPath); } /* @@ -281,7 +290,7 @@ class VFSCache { } String relPath = absPath.substring(vfsRootLength); - String[] names = org.videolan.Libbluray.listBdFiles(relPath, true); + String[] names = Libbluray.listBdFiles(relPath, true); if (names != null) { /* this is directory */ return; _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
