public override List <ChapterInfo> GetStreams(string location) { List <ChapterInfo> mpls = new List <ChapterInfo>(); string path = Path.Combine(Path.Combine(location, "BDMV"), "PLAYLIST"); if (!Directory.Exists(path)) { throw new FileNotFoundException("Could not find PLAYLIST folder on BluRay disc."); } ChapterExtractor ex = new BDInfoExtractor(); ex.StreamDetected += (sender, args) => OnStreamDetected(args.ProgramChain); ex.ChaptersLoaded += (sender, args) => OnChaptersLoaded(args.ProgramChain); foreach (string file in Directory.GetFiles(path, "*.mpls")) { ChapterInfo pl = ex.GetStreams(file)[0]; pl.SourceName = Path.GetFileName(file); mpls.Add(pl); } mpls = mpls.OrderByDescending(p => p.Duration).ToList(); OnExtractionComplete(); return(mpls); }
public override List <ChapterInfo> GetStreams(string location) { List <ChapterInfo> mpls = new List <ChapterInfo>(); string path = FileUtil.GetBlurayPath(location); if (!Directory.Exists(path)) { return(mpls); } ChapterExtractor ex = new BDInfoExtractor(); ex.StreamDetected += (sender, args) => OnStreamDetected(args.ProgramChain); ex.ChaptersLoaded += (sender, args) => OnChaptersLoaded(args.ProgramChain); foreach (string file in Directory.GetFiles(path, "*.mpls")) { ChapterInfo pl = ex.GetStreams(file)[0]; if (pl == null) { continue; } pl.SourceFilePath = file; pl.SourceType = "Blu-Ray"; mpls.Add(pl); } mpls = mpls.OrderByDescending(p => p.Duration).ToList(); OnExtractionComplete(); return(mpls); }