/// <summary> /// Registers the plugin so that it can be managed. /// </summary> /// <param name="plugin">The plugin to register.</param> /// <param name="priority">The priority of the specified plugin.</param> public void RegisterPlugin(IAdaptiveMediaPlugin plugin, int priority) { if (_settings == null) { _settings = ReadSettings(); } BalancedPriorityGroupMonitor priorityGroup = _priorityGroups.Where(i => i.Priority == priority) .FirstOrDefault(); if (priorityGroup == null) { priorityGroup = new BalancedPriorityGroupMonitor(priority, _settings); priorityGroup.AllowBitrateIncreases = true; _priorityGroups.Add(priorityGroup); } priorityGroup.RegisterPlugin(plugin); }