public SubExtractResult ExtractSubtitles() { SubExtractResult result = SubExtractResult.OK; FileStream subTempStream = null; BinaryReader subTempReader = null; try { subTempStream = new FileStream(_dumpFilePath, FileMode.Open, FileAccess.Read); subTempReader = new BinaryReader(subTempStream); SByte statCode = (SByte)subTempReader.ReadByte(); bool bOk = true; if (statCode < 0) { if (statCode == -1) { //subtitle not found LogMan.Instance.Log(Resources.ErrSubNotFound, _videoFileName); result = SubExtractResult.NoSubFound; } else { //data connection error LogMan.Instance.Log(Resources.ErrSubDownloadFailed, _videoFileName); result = SubExtractResult.Error; } bOk = false; } else { //sub found LogMan.Instance.Log(Resources.InfoSubFound, _videoFileName, statCode); } if (bOk) { for (int i = 0; i < statCode; i++) { HandleSubPackage(subTempReader); } } } catch (Exception ex) { LogMan.Instance.Log(Resources.ErrSubExtraction, _videoFileName, ex.Message); result = SubExtractResult.Error; } finally { if (subTempReader != null) { subTempReader.Close(); } } return(result); }
public SubExtractResult ExtractSubtitles() { SubExtractResult result = SubExtractResult.OK; FileStream subTempStream = null; BinaryReader subTempReader = null; try { subTempStream = new FileStream(_dumpFilePath, FileMode.Open, FileAccess.Read); subTempReader = new BinaryReader(subTempStream); var statCode = (SByte)subTempReader.ReadByte(); bool bOk = true; if (statCode < 0) { result = statCode == -1 ? SubExtractResult.NoSubFound : SubExtractResult.Error; bOk = false; } if (bOk) { for (int i = 0; i < statCode; i++) { HandleSubPackage(subTempReader); } } } catch (Exception ex) { MessageBox.Show(ex.Message, _videoFileName, MessageBoxButtons.OK, MessageBoxIcon.Error); result = SubExtractResult.Error; } finally { if (subTempReader != null) { subTempReader.Close(); } } return(result); }