コード例 #1
0
        public Nrsc5Layer1Decoder(float sampleRate)
        {
            //Create resampler and its buffer
            resampler = new ComplexResamplerPipeline(sampleRate, TARGET_SAMPLE_RATE, 2048 * 8, ProcessBlock);

            //Create compnents
            acquire = new Acquire();
            sync    = new Sync();
            decode  = new Decode();
            pids    = new Pids();
            frame   = new Frame();

            //Apply events
            pids.OnPidsFrame += Pids_OnPidsFrame;
            frame.OnAasFrame += Frame_OnAasFrame;
            frame.OnPduFrame += Frame_OnPduFrame;

            //Link components
            acquire.SetComponents(acquire, sync, decode, pids, frame);
            sync.SetComponents(acquire, sync, decode, pids, frame);
            decode.SetComponents(acquire, sync, decode, pids, frame);
            pids.SetComponents(acquire, sync, decode, pids, frame);
            frame.SetComponents(acquire, sync, decode, pids, frame);
        }