Example #1
0
        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;
 }
Example #6
0
 /// <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;
 }
 /// <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;
 }
Example #8
0
 /// <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;
 }
Example #9
0
 protected FilterTrackPropertyBaseCondition(FilterTrackCompareOperator op)
 {
     Operator = op;
 }
 /// <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;
 }
 /// <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;
 }
Example #12
0
 public FilterTrackTypeCondition(FilterTrackType type, FilterTrackCompareOperator op = FilterTrackCompareOperator.Equal)
     : base(op)
 {
     Value = type;
 }