Пример #1
0
 private void ParseVideoPackage()
 {
     while (this._buffRecvSize > 0u)
     {
         int   num   = 0;
         CSPkg cSPkg = CSPkg.New();
         if (cSPkg.unpack(ref this._recvBuff, (int)this._buffRecvSize, ref num, 0u) != null || num <= 0 || num > (int)this._buffRecvSize)
         {
             break;
         }
         if (cSPkg.stPkgHead.dwMsgID == 1035u)
         {
             SCPKG_FRAPBOOTINFO stFrapBootInfo = cSPkg.stPkgData.get_stFrapBootInfo();
             for (int i = 0; i < (int)stFrapBootInfo.bSpareNum; i++)
             {
                 SCPKG_FRAPBOOT_SINGLE sCPKG_FRAPBOOT_SINGLE = stFrapBootInfo.astSpareFrap[i];
                 CSDT_FRAPBOOT_INFO    cSDT_FRAPBOOT_INFO    = CSDT_FRAPBOOT_INFO.New();
                 int num2 = 0;
                 if (cSDT_FRAPBOOT_INFO.unpack(ref sCPKG_FRAPBOOT_SINGLE.szInfoBuff, (int)sCPKG_FRAPBOOT_SINGLE.wLen, ref num2, 0u) == null && num2 > 0)
                 {
                     this._maxFrameNo = cSDT_FRAPBOOT_INFO.dwKFrapsNo;
                     this._pkgQueue.Enqueue(cSDT_FRAPBOOT_INFO);
                 }
             }
         }
         else
         {
             this._pkgQueue.Enqueue(cSPkg);
         }
         this._buffRecvSize -= (uint)num;
         Buffer.BlockCopy(this._recvBuff, num, this._recvBuff, 0, (int)this._buffRecvSize);
     }
 }
Пример #2
0
 private void ParseVideoPackage()
 {
     while (this._buffRecvSize > 0)
     {
         int   usedSize = 0;
         CSPkg item     = CSPkg.New();
         if (((item.unpack(ref this._recvBuff, (int)this._buffRecvSize, ref usedSize, 0) != TdrError.ErrorType.TDR_NO_ERROR) || (usedSize <= 0)) || (usedSize > this._buffRecvSize))
         {
             break;
         }
         if (item.stPkgHead.dwMsgID == 0x40b)
         {
             SCPKG_FRAPBOOTINFO stFrapBootInfo = item.stPkgData.stFrapBootInfo;
             for (int i = 0; i < stFrapBootInfo.bSpareNum; i++)
             {
                 SCPKG_FRAPBOOT_SINGLE scpkg_frapboot_single = stFrapBootInfo.astSpareFrap[i];
                 CSDT_FRAPBOOT_INFO    csdt_frapboot_info    = CSDT_FRAPBOOT_INFO.New();
                 int num3 = 0;
                 if ((csdt_frapboot_info.unpack(ref scpkg_frapboot_single.szInfoBuff, scpkg_frapboot_single.wLen, ref num3, 0) == TdrError.ErrorType.TDR_NO_ERROR) && (num3 > 0))
                 {
                     this._maxFrameNo = csdt_frapboot_info.dwKFrapsNo;
                     this._pkgQueue.Enqueue(csdt_frapboot_info);
                 }
             }
         }
         else
         {
             this._pkgQueue.Enqueue(item);
         }
         this._buffRecvSize -= (uint)usedSize;
         Buffer.BlockCopy(this._recvBuff, usedSize, this._recvBuff, 0, (int)this._buffRecvSize);
     }
 }
Пример #3
0
        public static void onFrapBootInfoMultipleNtf(CSPkg msg)
        {
            SCPKG_FRAPBOOTINFO stFrapBootInfo = msg.stPkgData.stFrapBootInfo;

            for (int i = 0; i < stFrapBootInfo.bSpareNum; i++)
            {
                if (HandleFraqBootSingle(stFrapBootInfo.astSpareFrap[i]))
                {
                    MonoSingleton <Reconnection> .GetInstance().UpdateCachedLen(msg);

                    break;
                }
            }
            msg.Release();
        }
Пример #4
0
        public static void onFrapBootInfoMultipleNtf(CSPkg msg)
        {
            SCPKG_FRAPBOOTINFO stFrapBootInfo = msg.stPkgData.get_stFrapBootInfo();

            for (int i = 0; i < (int)stFrapBootInfo.bSpareNum; i++)
            {
                if (FrameWindow.HandleFraqBootSingle(stFrapBootInfo.astSpareFrap[i]))
                {
                    MonoSingleton <Reconnection> .GetInstance().UpdateCachedLen(msg);

                    break;
                }
            }
            Singleton <FrameWindow> .GetInstance().SampleFrameSpare((int)stFrapBootInfo.bSpareNum);

            msg.Release();
        }