private static Media Find(MpdParser.Period p, string language, MediaType type, MediaRole role = MediaRole.Main) { Media res = null; for (int i = 0; i < p.Sets.Length; i++) { if (p.Sets[i].Type.Value != type) { continue; } if (language != null) { if (p.Sets[i].Lang != language) { continue; } } if (p.Sets[i].HasRole(role)) { res = p.Sets[i]; break; } if (p.Sets[i].Roles.Length == 0) { res = p.Sets[i]; break; } } return(res); }