public SmcErr StartReceiveVideoByPipe(string cameraNo, out string pipeName)
{
SmcErr err = new CgwError();
NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
pipeName = string.Empty;
err = CheckSession(currentSessionID);
//调任何接口前 需要判断监控平台是否加载成功
if (err.IsSuccess())
{
err = VideoMonitorManage.Instance().StartReceiveVideo(cameraNo);
//开始监控平台成功、开始通过管道发送数据
if (err.IsSuccess())
{
VideoPipeManage.Instance().DeleteVideoPipe(cameraNo);
VideoPipe videoPipe = VideoPipeManage.Instance().AddVideoPipe(cameraNo);
if (videoPipe != null)
{
pipeName = videoPipe.PipeName;
videoPipe.Run();
logEx.Info("MonitorManageService StartReceiveVideoByPipe Successful,Current Cgw IP is : {0}", CgwConst.ClientIp);
}
else
{
logEx.Error("MonitorManageService AddVideoPipe failed.cameraNo = {0}", cameraNo);
err.SetErrorNo(CgwError.START_RECEIVE_VIDEO_FAILED);
StopReceiveVideoByPipe(cameraNo);
}
}
else
{
logEx.Error("MonitorManageService StartReceiveVideoByPipe failed,ErrNo :{0}", err.ErrNo);
}
}
else
{
logEx.Error("MonitorManageService StartReceiveVideoByPipe failed,ErrNo :{0}", err.ErrNo);
}
return err;
}