Пример #1
0
        public void AddLogRecord(StreamTypes streamType, ChannelStreamTypes channelStreamType, string info)
        {
            if (!isWritingConnectionLog)
            {
                return;
            }

            string typeOfData = string.Empty;

            switch (channelStreamType)
            {
            case ChannelStreamTypes.MainVideo:
            case ChannelStreamTypes.AlternativeVideo:
                typeOfData = "видео";
                break;

            case ChannelStreamTypes.MainSound:
            case ChannelStreamTypes.AlternativeSound:
                typeOfData = "звук";
                break;

            case ChannelStreamTypes.MotionDetection:
                typeOfData = "детектор движения";
                break;
            }

            string streamTypeName = string.Empty;

            if (streamType == StreamTypes.Main)
            {
                streamTypeName = "основной поток";
            }
            else
            {
                streamTypeName = "альтернативный поток";
            }

            string str = string.Format("[{0}, {1}, {2}] {3}", DateTime.Now.ToLongTimeString(), typeOfData, streamTypeName, info);

            lock (connectionLog)
            {
                connectionLog.Add(str);

                if (connectionLog.Count > maxLinesInConnectionLog)
                {
                    connectionLog.RemoveAt(0);
                }
            }

            //уведомляем хоста о том, что содержимое лога изменилось
            NewLogRecord(this, new EventArgs());
        }
Пример #2
0
 public void StartStream(ChannelStreamTypes streamType)
 {
     try
     {
         if (streamType == ChannelStreamTypes.MainVideo)
         {
             mainVideoThread = new Thread(WorkFunc);
             mainVideoThread.IsBackground = true;
             mainVideoThread.Start();
         }
     }
     catch (Exception ex)
     {
         SampleLogMgr.LogException(ex, string.Empty);
     }
 }
Пример #3
0
 public void StopStream(ChannelStreamTypes streamType)
 {
     try
     {
         if (streamType == ChannelStreamTypes.MainVideo)
         {
             if (mainVideoThread != null)
             {
                 mainVideoThread.Abort();
                 mainVideoThread = null;
             }
         }
     }
     catch (Exception ex)
     {
         SampleLogMgr.LogException(ex, string.Empty);
     }
 }
Пример #4
0
 public bool IsStreamActive(ChannelStreamTypes streamType)
 {
     return(mainVideoThread != null);
 }
Пример #5
0
 public void AddLogRecord(StreamTypes subType, ChannelStreamTypes subChannelType, string format, params object[] args)
 {
     AddLogRecord(subType, subChannelType, string.Format(format, args));
 }