CgwMonitorManage.Common.VideoPipe.SenderData C# (CSharp) Method

SenderData() public method

开始发送码流数据
public SenderData ( MediaData mediaData ) : void
mediaData MediaData
return void
        public void SenderData(MediaData mediaData)
        {
            NLogEx.LoggerEx logEx = new NLogEx.LoggerEx(log);
            try
            {
                if (pipedStream == null)
                {
                    return;
                }
                //同步写数据
                byte[] byteArray1 = BitConverter.GetBytes(mediaData.Size);
                byte[] byteArray2 = BitConverter.GetBytes((Int32)mediaData.StreamType);
                byte[] byteArray3 = BitConverter.GetBytes((Int32)mediaData.DataType);
                byte[] byteArray4 = BitConverter.GetBytes((Int32)mediaData.FrameType);
                byte[] byteArray5 = mediaData.Data;
                //将数据合并起来
                byte[] byteArray = new byte[byteArray1.Length + byteArray2.Length + byteArray3.Length + byteArray4.Length + byteArray5.Length];

                byteArray1.CopyTo(byteArray, 0);
                byteArray2.CopyTo(byteArray, byteArray1.Length);
                byteArray3.CopyTo(byteArray, byteArray1.Length + byteArray2.Length);
                byteArray4.CopyTo(byteArray, byteArray1.Length + byteArray2.Length + byteArray3.Length);
                byteArray5.CopyTo(byteArray, byteArray1.Length + byteArray2.Length + byteArray3.Length + byteArray4.Length);
                //写入管道
                //pipedStream.BeginWrite(byteArray, 0, byteArray.Length, new AsyncCallback(CallbackFun), null);
                pipedStream.Write(byteArray, 0, byteArray.Length);
            }
            catch (Exception ex)
            {
                logEx.Error(ex.ToString());
                if (ex is System.IO.IOException)
                {
                    this.Stop();
                }
            }
        }