Esempio n. 1
0
        internal static DVBS2HandlerBase GetDVBS2Handler(TuningSpec tuningSpec, IBaseFilter tunerFilter, ITuneRequest tuneRequest, Tuner tuner)
        {
            DVBS2HandlerBase dvbs2Handler = getDVBS2Handler(tunerFilter, tuner);

            if (dvbs2Handler == null)
            {
                Logger.Instance.Write("No DVB-S2 handler available - parameters not set");
                return(null);
            }

            Logger.Instance.Write("Created " + dvbs2Handler.Description + " DVB-S2 handler");

            return(dvbs2Handler);
        }
Esempio n. 2
0
        private static DVBS2HandlerBase getDVBS2Handler(IBaseFilter tunerFilter, Tuner tuner)
        {
            DVBS2HandlerBase dvbs2Handler = createWin7APIHandler(tunerFilter, false);

            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using Win7 API method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createHauppaugeHandler(tunerFilter, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using Hauppauge method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createProfRedHandler(tunerFilter, tuner, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using TBS method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createDigitalEverywhereHandler(tunerFilter, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using DigitalEverywhere method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createTechnoTrendHandler(tunerFilter, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using TechnoTrend method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createTwinhanHandler(tunerFilter, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using Twinhan/TechniSat method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createGenPixHandler(tunerFilter, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using GenPix method");
                return(dvbs2Handler);
            }

            dvbs2Handler = createTBSHandler(tunerFilter, tuner, false);
            if (dvbs2Handler != null)
            {
                Logger.Instance.Write("DVB-S2 processing using TBS method");
                return(dvbs2Handler);
            }

            return(null);
        }
Esempio n. 3
0
        private void setDVBS2Parameters()
        {
            SatelliteFrequency satelliteFrequency = tuningSpec.Frequency as SatelliteFrequency;
            if (satelliteFrequency == null)
                return;

            dvbs2Handler = DVBS2HandlerBase.GetDVBS2Handler(tuningSpec, tunerFilter, tuneRequest, tunerSpec);
            if (dvbs2Handler == null)
                LogMessage("DVB-S2: No handler available");
            else
            {
                if (satelliteFrequency.Pilot == DomainObjects.Pilot.NotSet && satelliteFrequency.RollOff == DomainObjects.RollOff.NotSet)
                {
                    bool parametersCleared = dvbs2Handler.ClearDVBS2Parameters(tuningSpec, tunerFilter, tuneRequest);
                    if (parametersCleared)
                        LogMessage("DVB-S2: Parameters cleared");
                    else
                        LogMessage("DVB-S2: Handler failed to clear DVB-S2 parameters");
                }
                else
                {
                    bool parametersSet = dvbs2Handler.SetDVBS2Parameters(tuningSpec, tunerFilter, tuneRequest);
                    if (!parametersSet)
                        LogMessage("DVB-S2: Handler failed to set parameters");
                }
            }
        }