public override void StopRecord() { if (vsEncoder == null) { return; } // stop counter StopCounter(); // stop timer StopEncoder(); try { // stop encoder vsEncoder.StopRecord(); vsEncoder.Dispose(); vsEncoder = null; } catch (Exception err) { logger.Log(LogLevel.Error, err.Message + " " + err.Source + " " + err.StackTrace); } // send data to database server DataAlert(); // start timer StartEncoder(); }
// --------------------------------------------------------------- // stop encoder public override void StopRecord() { if (vsEncoder != null && vsEncoder.Recording) { // stop timer timer.Stop(); stimer.Stop(); try { // stop encoder vsEncoder.StopRecord(); // already write and can be accessed by another? // convert avi file to wmv VsEncode vsEnc = new VsEncode(rawName, aviName); EncodeOut(this, new VsEncodeEventArgs(vsEnc)); vsEnc.Dispose(); vsEnc = null; // send data to database server DataAlert(); } catch (Exception err) { // error log logger.Log(LogLevel.Error, err.Message + " " + err.Source + " " + err.StackTrace);; // if can't stop // try to free memory if (vsEncoder != null) { vsEncoder.Dispose(); vsEncoder = null; } // and create new encoder if (vsEncoder == null) { try { vsEncoder = new AviEncoder(); } catch (Exception err1) { if (vsEncoder != null) { vsEncoder.Dispose(); vsEncoder = null; } logger.Log(LogLevel.Error, err1.Message + " " + err1.Source + " " + err1.StackTrace);; } } } // start timer timer.Start(); } }