public Cgw.SmcError.SmcErr StopReceiveVideoByPipe(string cameraNo)
{
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
logEx.Trace("Enter: CgwMonitorManageAdapter.StopReceiveVideoByPipe");
Cgw.SmcError.SmcErr err = new Cgw.SmcError.SmcErr();
try
{
//if (serviceControl.MonitorServiceRun() && client.State == CommunicationState.Opened)
if(serviceControl.MonitorServiceRun())
{
client = new MonitorManageServiceClient();
CgwMonitorManageServiceReference.SmcErr serviceErr = client.StopReceiveVideoByPipe(cameraNo);
client.Close();
if (serviceErr.ErrNo != Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_SUCCESS)
{
logEx.Error("CgwMonitorManageAdapter.StopReceiveVideoByPipe failed. ErrNo = {0} ", serviceErr.ErrNo);
err = SetCgwErrNo(serviceErr);
}
else
{
VideoPipe videoPipe = VideoPipeManage.Instance().DeleteVideoPipe(cameraNo);
if (videoPipe != null)
{
videoPipe.Stop();
logEx.Info("CgwMonitorManageAdapter.StopReceiveVideoByPipe Success. cameraNo = {0} ", cameraNo);
}
else
{
logEx.Error("CgwMonitorManageAdapter.StopReceiveVideoByPipe failed. ErrNo = {0} ", serviceErr.ErrNo);
}
}
}
else
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
}
}
catch (System.Exception ex)
{
err.SetErrorNo(Cgw.SmcError.CgwError.ERR_MONITOR_MANAGE_SERVICE_RESTARTING);
logEx.Error("CgwMonitorManageServiceReference.StopReceiveVideoByPipe failed. Exception is {0} ", ex.ToString());
logEx.Error("CameraNo:" + cameraNo);
}
return err;
}