private void _info_RealtimeInfoEvent(VideoParser.Camera camera, VideoParser.GPS gps) { CCTVDynamicInfo dynamicInfo = getCameraInfo(camera); if (dynamicInfo == null) { dynamicInfo = getGpsInfo(gps); } if (dynamicInfo != null) { ObjectItem <CCTVDynamicInfo> item = new ObjectItem <CCTVDynamicInfo>() { Key = dynamicInfo.VideoId, IsDeleted = false, Item = dynamicInfo, }; _dynamicItemList.Add(item); if (DateTime.Now - _lastUpdateTime > TimeSpan.FromSeconds(0.5)) { _lastUpdateTime = DateTime.Now; _dynamicSync.PutUpdate(_dynamicItemList); _dynamicItemList.Clear(); } } }
CCTVDynamicInfo getGpsInfo(VideoParser.GPS gps) { if (gps != null) { CCTVDynamicInfo dynamicInfo = getDynamicInfo(getNodeId(gps.Id)); dynamicInfo.Latitude = gps.Latitude; dynamicInfo.Longitude = gps.Longitude; dynamicInfo.SOG = gps.SOG; dynamicInfo.COG = gps.COG; return(dynamicInfo); } return(null); }