public IEnumerable <TMediaMarker> WhereContainedByRange(TimeSpan rangeStart, TimeSpan rangeEnd) { var comparer = new MediaMarkerComparable(rangeStart); var startIndex = SearchForInsertIndex(comparer); return(this.Skip(startIndex).TakeWhile(i => i.IsContainedByRange(rangeStart, rangeEnd))); }
public new void Add(TMediaMarker mediaMarker) { if (mediaMarker is CaptionElement) { var comparable = new CaptionMarkerComparable(mediaMarker.Begin, (mediaMarker as CaptionElement).Index, true); Add(mediaMarker, comparable); } else { var comparable = new MediaMarkerComparable(mediaMarker.Begin); Add(mediaMarker, comparable); } }
public IEnumerable <TMediaMarker> WhereActiveAtPosition(TimeSpan mediaPosition, TimeSpan?searchAfter = null) { var startIndex = 0; if (searchAfter.HasValue) { var comparer = new MediaMarkerComparable(searchAfter.Value); startIndex = SearchForInsertIndex(comparer); } return(this.Skip(startIndex) .TakeWhile(i => i.Begin <= mediaPosition) .Where(i => i.IsActiveAtPosition(mediaPosition)) .ToList()); }
public IEnumerable <TMediaMarker> WhereActiveInRange(TimeSpan rangeStart, TimeSpan rangeEnd, TimeSpan?searchAfter = null) { var startIndex = 0; if (searchAfter.HasValue) { var comparer = new MediaMarkerComparable(searchAfter.Value); startIndex = SearchForInsertIndex(comparer); } return(this.Skip(startIndex) .TakeWhile(i => i.Begin <= rangeEnd) .Where(i => i.IsActiveInRange(rangeStart, rangeEnd)) .ToList()); }
public new void Add(TMediaMarker mediaMarker) { if (!_itemHash.ContainsKey(mediaMarker.Id)) { if (mediaMarker is CaptionElement) { var comparable = new CaptionMarkerComparable(mediaMarker.Begin, (mediaMarker as CaptionElement).Index, true); //var comparable = new MediaMarkerComparable(mediaMarker.End); Add(mediaMarker, comparable); } else { var comparable = new MediaMarkerComparable(mediaMarker.Begin); //var comparable = new MediaMarkerComparable(mediaMarker.End); Add(mediaMarker, comparable); } } }
public new void Add(MediaMarker mediaMarker) { var comparable = new MediaMarkerComparable(mediaMarker.Begin); Add(mediaMarker, comparable); }