protected override StageResult Cleanup() { InputFile.Delete(); L.Debug("Deleted temporary input file {0}.", InputFileName); return(StageResult.SUCCESS); }
public bool Transcode() { bool exclusiveAccess = false; bool RetVal = false; try { FileStream FileTest = InputFile.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None); FileTest.Close(); exclusiveAccess = true; } catch (Exception ex) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Couldn't get exclusive access to " + InputFile.Name + ", Skipping: " + ex.Message); Console.ForegroundColor = ConsoleColor.Gray; } if (!OutputFile.Exists && exclusiveAccess) { MediaFile F = new MediaFile(InputFile.FullName); if (F.HasStreams) { if (F.Video.Count > 0) { string tempBannerRemove = null; string tempAdremove = null; Console.CursorLeft = 0; Console.Write("".PadRight(Console.WindowWidth - 1)); Console.CursorLeft = 0; if (isPlayOnFile()) { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine(InputFile.Name + " is a PlayOn file."); Console.ForegroundColor = ConsoleColor.Gray; if (RemoveAds && hasAds()) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(F.filePath + " has PlayOn Detected Commercials. Removing..."); Console.ForegroundColor = ConsoleColor.Gray; tempAdremove = RemoveCommercials(F); if (tempAdremove != null) { F = new MediaFile(tempAdremove); if (!RemovePlayOnBanner && !h265Transcode) { File.Move(F.filePath, OutputFile.FullName); if (DeleteOriginal) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Deleting " + InputFile.Name); InputFile.Delete(); Console.ForegroundColor = ConsoleColor.Gray; } return(true); } } } if (RemovePlayOnBanner) { Console.ForegroundColor = ConsoleColor.Cyan; Console.WriteLine(F.filePath + " has PlayOn Banner. Removing..."); Console.ForegroundColor = ConsoleColor.Gray; tempBannerRemove = RemoveBanner(F); if (tempBannerRemove != null) { F = new MediaFile(tempBannerRemove); if (tempAdremove != null) { File.Delete(tempAdremove); } if (!h265Transcode) { File.Move(F.filePath, OutputFile.FullName); if (DeleteOriginal) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Deleting " + InputFile.Name); InputFile.Delete(); Console.ForegroundColor = ConsoleColor.Gray; } return(true); } } } } if (h265Transcode) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Transcoding (" + Preset.ToString() + "/" + CRF.ToString() + ") " + F.filePath + " to h.265 format..."); Console.ForegroundColor = ConsoleColor.Gray; RetVal = (ffmpeg_h265_Transcode(F) != null); if (tempAdremove != null && File.Exists(tempAdremove)) { File.Delete(tempAdremove); } if (tempBannerRemove != null && File.Exists(tempBannerRemove)) { File.Delete(tempBannerRemove); } if (RetVal) { Console.CursorLeft = 0; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(("Transcode Complete for " + InputFile.Name + ".").PadRight(Console.WindowWidth - 1)); Console.ForegroundColor = ConsoleColor.Gray; if (DeleteOriginal && File.Exists(OutputFile.FullName)) { Console.ForegroundColor = ConsoleColor.Yellow; Console.CursorLeft = 0; Console.WriteLine(("Deleting " + InputFile.FullName).PadRight(Console.WindowWidth - 1)); InputFile.Delete(); Console.ForegroundColor = ConsoleColor.Gray; } } } else { RetVal = ProcessNonMediaFile(); } } else { RetVal = ProcessNonMediaFile(); } } } else { throw new InvalidOperationException(OutputFile.FullName + " already exists or could not get exclusive access to original"); } return(RetVal); }