public VideoPipe AddVideoPipe(string cameraNO)
{
if (listVideoPipeOperateLock.TryEnterWriteLock(CgwConst.ENTER_PIPE_LOCK_WAIT_TIME))
{
try
{
int index = listVideoPipe.FindIndex((x) => { return x.CameraNo == cameraNO ? true : false; });
if (index == -1)
{
string pipeName = GetVideoPipeName(cameraNO);
VideoPipe pipe = new VideoPipe(pipeName);
pipe.PipeName = pipeName;
pipe.CameraNo = cameraNO;
if (pipeName != string.Empty)
{
listVideoPipe.Add(pipe);
return pipe;
}
}
}
finally
{
listVideoPipeOperateLock.ExitWriteLock();
}
}
return null;
}