From a4186c2d7bd0c587421d7e42f00825007ffd3185 Mon Sep 17 00:00:00 2001 From: homuler Date: Sat, 19 Dec 2020 15:37:02 +0900 Subject: [PATCH] fix: hangs if resource files not found --- .../ResourceManager/LocalAssetManager.cs | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/Assets/MediaPipe/Examples/Scripts/ResourceManager/LocalAssetManager.cs b/Assets/MediaPipe/Examples/Scripts/ResourceManager/LocalAssetManager.cs index a83052d0b..3bbd5cb38 100644 --- a/Assets/MediaPipe/Examples/Scripts/ResourceManager/LocalAssetManager.cs +++ b/Assets/MediaPipe/Examples/Scripts/ResourceManager/LocalAssetManager.cs @@ -32,21 +32,27 @@ protected override string CacheFileFromAsset(string assetPath) { } protected override bool ReadFile(string path, IntPtr dst) { - var localPath = CacheFileFromAsset(path); - var asset = File.ReadAllBytes(localPath); - - using (var srcStr = new StdString(asset)) { - srcStr.Swap(new StdString(dst, false)); + try { + Debug.Log(path); + var localPath = CacheFileFromAsset(path); + var asset = File.ReadAllBytes(localPath); + + using (var srcStr = new StdString(asset)) { + srcStr.Swap(new StdString(dst, false)); + } + + return true; + } catch (Exception e) { + Debug.Log($"Failed to read file `{path}`: ${e.ToString()}"); + return false; } - - return true; } private string GetAssetName(string assetPath) { var assetName = Path.GetFileNameWithoutExtension(assetPath); var extension = Path.GetExtension(assetPath); - return extension == ".tflite" ? $"{assetName}.bytes" : $"{assetName}.txt"; + return (extension == ".tflite" || extension == ".bytes") ? $"{assetName}.bytes" : $"{assetName}.txt"; } private string GetLocalFilePath(string assetName) {