private List <FilterTrackSelectStatement> CreateFilterTracks() // use internal list to create filter tracks { List <FilterTrackSelectStatement> filterTrackSelectStatements = new List <FilterTrackSelectStatement>(); foreach (var track in filtertracks) { FilterTrackSelectStatement filterTrackSelectStatement = new FilterTrackSelectStatement(); filterTrackSelectStatement.PropertyConditions = new List <IFilterTrackPropertyCondition>(); foreach (var condition in track.conditions) { FilterTrackCompareOperator oper = (FilterTrackCompareOperator)Enum.Parse(typeof(FilterTrackCompareOperator), condition.oper); switch (condition.property) { case (FilterProperty.Bitrate): filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackBitrateRangeCondition(ReturnFilterTrackBitrateRangeFromString(condition.value), oper)); break; case (FilterProperty.FourCC): filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackFourCCCondition(condition.value, oper)); break; case (FilterProperty.Language): filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackLanguageCondition(condition.value, oper)); break; case (FilterProperty.Name): filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackNameCondition(condition.value, oper)); break; case (FilterProperty.Type): var mytype = (FilterTrackType)Enum.Parse(typeof(FilterTrackType), condition.value); filterTrackSelectStatement.PropertyConditions.Add(new FilterTrackTypeCondition(mytype, oper)); break; } } filterTrackSelectStatements.Add(filterTrackSelectStatement); } return(filterTrackSelectStatements); }
/// <summary> /// Initilizing FilterTrackFourCCCondition /// </summary> /// <param name="codecFormat">The first element of codecs format, as specified in RFC 6381.</param> /// <param name="filterTrackCompareOperator"><see cref="FilterTrackCompareOperator">FilterTrackCompareOperator</see></param> public FilterTrackFourCCCondition(string codecFormat, FilterTrackCompareOperator filterTrackCompareOperator = FilterTrackCompareOperator.Equal) : base(filterTrackCompareOperator) { Value = codecFormat; }
/// <summary> /// Initilizes FilterTrackLanguageCondition /// </summary> /// <param name="languageValue"></param> /// <param name="filterTrackCompareOperator"><see cref="FilterTrackCompareOperator"/></param> public FilterTrackLanguageCondition(string languageValue, FilterTrackCompareOperator filterTrackCompareOperator = FilterTrackCompareOperator.Equal) : base(filterTrackCompareOperator) { Value = languageValue; }
/// <summary> /// /// </summary> /// <param name="filterTrackBitrateRange">A range of bitrates or a specific bitrate. For example, 0-2427000.</param> /// <param name="filterTrackCompareOperator"><see cref="FilterTrackCompareOperator"/></param> public FilterTrackBitrateRangeCondition(FilterTrackBitrateRange filterTrackBitrateRange, FilterTrackCompareOperator filterTrackCompareOperator = FilterTrackCompareOperator.Equal) : base(filterTrackCompareOperator) { Value = filterTrackBitrateRange; }
public FilterTrackTypeCondition(FilterTrackType type, FilterTrackCompareOperator op = FilterTrackCompareOperator.Equal) : base(op) { Value = type; }
/// <summary> /// Initilize FilterTrackNameCondition /// </summary> /// <param name="trackName">Name of a track</param> /// <param name="filterTrackCompareOperator"><see cref="FilterTrackCompareOperator"/></param> public FilterTrackNameCondition(string trackName, FilterTrackCompareOperator filterTrackCompareOperator = FilterTrackCompareOperator.Equal) : base(filterTrackCompareOperator) { Value = trackName; }
protected FilterTrackPropertyBaseCondition(FilterTrackCompareOperator op) { Operator = op; }