using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using skyscraper5.Dvb.Psi.Model; using skyscraper5.Mpeg2; using skyscraper5.Nordig.Descriptor; using skyscraper5.Skyscraper; using skyscraper5.Skyscraper.Plugins; namespace skyscraper5.PrivateDataSpecifiers.Nordig { internal class NordigBatHook : DescriptorPluginBatHandler { public void HandleBat(BatTransportStream outputTs, TsDescriptor unpackedDescriptor) { byte descId = unpackedDescriptor.GetDescriptorId(); switch (descId) { case 0x83: LogicalChannelDescriptor lcd = (LogicalChannelDescriptor)unpackedDescriptor; if (outputTs.LCNs == null) outputTs.LCNs = new List(); outputTs.LCNs.AddRange(lcd.LogicalChannels); break; default: throw new NotImplementedException(String.Format("{0:X2}", descId)); } } } }