/// <summary> /// Wählt eine neue Quellgruppe aus. /// </summary> /// <param name="location">Der Ursprung der Quellgruppe.</param> /// <param name="group">Die eigentliche Quellgruppe.</param> private void PrepareReceiver(TLocationType location, TSourceGroupType group) { // Create once if (Receiver != null) { return; } // Create receiver var receiver = new DataGraph(); try { // Load device data receiver.CaptureInformation = FindFilter(Aspect_CaptureName, Aspect_CaptureMoniker, false); receiver.TunerInformation = FindFilter(Aspect_TunerName, Aspect_TunerMoniker, true); receiver.DisableCIResetOnTuneFailure = m_disableEncryption; receiver.DVBType = DVBType; // Load optional data int value; if (int.TryParse(GetParameter(BDAEnvironment.MiniumPATCountName), out value)) { if (value >= 0) { receiver.Configuration.MinimumPATCount = value; } } if (int.TryParse(GetParameter(BDAEnvironment.MinimumPATCountWaitName), out value)) { if (value >= 0) { receiver.Configuration.MinimumPATCountWaitTime = value; } } // Configure pipeline foreach (var item in Pipeline) { item.CreateExtension <IPipelineExtension>().Install(receiver, Profile, item.SupportedOperations); } // Time to create the graph receiver.Create(location, group); // Activate it receiver.Start(); } catch { // Cleanup receiver.Dispose(); // Forward throw; } // Remember Receiver = receiver; }