예제 #1
0
        public void AddPacket(TsPacket newPacket)
        {
            try
            {
                if (newPacket.TransportErrorIndicator)
                {
                    return;
                }

                switch (newPacket.Pid)
                {
                case (short)PidType.PatPid:
                    _patFactory.AddPacket(newPacket);
                    break;

                case (short)PidType.SdtPid:
                    _sdtFactory.AddPacket(newPacket);
                    break;

                case (short)PidType.EitPid:
                    _eitFactory.AddPacket(newPacket);
                    break;

                case 2048:
                    _sitFactory.AddPacket(newPacket);
                    break;

                default:
                    CheckPmt(newPacket);
                    break;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Exception generated within AddPacket method: " + ex.Message);
            }
        }
예제 #2
0
        public void AddPacket(TsPacket newPacket)
        {
            try
            {
                //if (newPacket.Pid == 16)
                //{
                //    Console.WriteLine("NIT");
                //}


                //if (newPacket.Pid == 17)
                //{
                //    Console.WriteLine("SDT");
                //}

                if (newPacket.TransportErrorIndicator)
                {
                    return;
                }

                switch (newPacket.Pid)
                {
                case (short)PidType.PatPid:
                    _patFactory.AddPacket(newPacket);
                    break;

                case (short)PidType.SdtPid:
                    _sdtFactory.AddPacket(newPacket);
                    break;

                //case (short)PidType.EitPid:
                //    _eitFactory.AddPacket(newPacket);
                //    break;
                case 2048:
                    _sitFactory.AddPacket(newPacket);
                    break;

                case (short)PidType.TdtPid:
                    _tdtFactory.AddPacket(newPacket);
                    break;

                default:
                    CheckPmt(newPacket);
                    break;
                }

                if (newPacket.Pid == 0x1929)
                {
                    if (!_dsmccDictionary.ContainsKey(newPacket.Pid))
                    {
                        _dsmccDictionary[newPacket.Pid] = new DsmccFactory();
                    }

                    Console.WriteLine("Arqiva test carousel PayloadUnitStartIndicator = " + newPacket.PayloadUnitStartIndicator.ToString() + ", ContainsPayload = " + newPacket.ContainsPayload.ToString());
                    _dsmccDictionary[newPacket.Pid].AddPacket(newPacket);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
                Debug.WriteLine("Exception generated within AddPacket method: " + ex.Message);
            }
        }