// Constructor public VsEncodeEventArgs(VsEncode vsEnc) { vsEncode = vsEnc; }
// --------------------------------------------------------------- // 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(); } }
// methodes public VsEncode Clone() { VsEncode encode = null; try { encode = new VsEncode(fileFrom, fileTo); } catch (Exception err) { logger.Log(LogLevel.Error, err.Message + " " + err.Source + " " + err.StackTrace); } return encode; }