private bool LoadCacheSceneDetection(string VideoName) { FileInfo info = new FileInfo(VideoName); string cachefile2 = Path.Combine(cacheDir, info.Name + ".cache2"); if (File.Exists(cachefile2)) { try { Config cache = new Config(cachefile2); cache.LoadConfig(); if ((cache.GetValue("FileName") == VideoName) && (int.Parse(cache.GetValue("FrameTotal")) == FrameTotal) && (estiloV4.s2d(cache.GetValue("FrameRate")) == videoInfo.FrameRate)) { videoInfo.KeyFrames = new ArrayList(); ArrayList tempstr = new ArrayList(); int nentradas = int.Parse(cache.GetValue("NumEntries")); for (int i = 0; i < nentradas; i++) tempstr.AddRange(cache.GetValueA("SceneEntry" + i)); foreach (string s in tempstr) videoInfo.KeyFrames.Add(int.Parse(s)); } else return false; } catch { return false; } } else { string cachefile = Path.Combine(cacheDir, info.Name + ".cache"); if (!File.Exists(cachefile)) return false; try { Config cache = new Config(cachefile); cache.LoadConfig(); if ((cache.GetValue("FileName") == VideoName) && (int.Parse(cache.GetValue("FrameTotal")) == FrameTotal) && (estiloV4.s2d(cache.GetValue("FrameRate")) == videoInfo.FrameRate)) { videoInfo.KeyFrames = new ArrayList(); foreach (string val in cache.GetValueA("Scenes")) { videoInfo.KeyFrames.Add(int.Parse(val)); } } else return false; } catch { return false; } } return true; }