public LIVE_VIEW_HEADER ParseInfoString(string info) { try { LIVE_VIEW_HEADER header = new LIVE_VIEW_HEADER(); string[] sp1 = info.Split(','); foreach (string s1 in sp1) { string[] sp2 = s1.Split(':'); if (sp2[0].Equals("CN")) { header.cameraName = sp2[1]; } if (sp2[0].Equals("TS")) { header.timeStamp = sp2[1]; } if (sp2[0].Equals("PN")) { header.plateNumber = sp2[1]; } } return(header); } catch (Exception ex) { m_Log.Log("ParseInfoString ex: " + ex.Message, ErrorLog.LOG_TYPE.INFORMATIONAL); return(null); } }
/////////////////////////////////////////////////// /// /// // LIVE VIEW INFO STRING PARSING public string BuildInfoString(LIVE_VIEW_HEADER header) { string info; info = "CN:" + header.cameraName; info += ","; info += "TS:" + header.timeStamp; info += ","; info += "PN:" + header.plateNumber; return(info); }
public void BreakOutJpegHeader(byte[] packet, out LIVE_VIEW_HEADER header) { header = new LIVE_VIEW_HEADER();; LIVE_VIEW_ONLY_PACKET_STRUCT pktHdr = new LIVE_VIEW_ONLY_PACKET_STRUCT(); int size = Marshal.SizeOf(typeof(LIVE_VIEW_ONLY_PACKET_STRUCT)); GCHandle handle = GCHandle.Alloc(packet, GCHandleType.Pinned); pktHdr = (LIVE_VIEW_ONLY_PACKET_STRUCT)Marshal.PtrToStructure(handle.AddrOfPinnedObject(), typeof(LIVE_VIEW_ONLY_PACKET_STRUCT)); handle.Free(); //header.JPEG_LENGTH = (int)pktHdr.JPEG_LENGTH; //header.InfoString = pktHdr.InfoString; header = ParseInfoString(pktHdr.InfoString); header.JPEG_LENGTH = (int)pktHdr.JPEG_LENGTH; }