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); }
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); }
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"); } } }