private IEnumerable<SeekPositionItem> GetSeekPoints(Item item, int numPoints)
        {
            var nextChapterIndex = 1;
            var nextChapter = Chapters.Count > nextChapterIndex ? Chapters[nextChapterIndex] : null;

            for (var i = 0; i <= numPoints; i++)
            {
                var pos = RunTimeTicks/numPoints*i;
                var seek = new SeekPositionItem(pos, item);
                if (nextChapter != null && pos >= nextChapter.PositionTicks)
                {
                    seek.PositionTicks = nextChapter.PositionTicks;
                    seek.ChapterIndex = nextChapterIndex;
                    nextChapterIndex++;
                    nextChapter = Chapters.Count > nextChapterIndex ? Chapters[nextChapterIndex] : null;
                }

                yield return seek;
            }
        }
Beispiel #2
0
        private IEnumerable<SeekPositionItem> GetSeekPoints(Item item, int numPoints)
        {
            var nextChapterIndex = 1;
            var nextChapter = Chapters.Count > nextChapterIndex ? Chapters[nextChapterIndex] : null;

            for (var i = 0; i <= numPoints; i++)
            {
                var pos = RunTimeTicks/numPoints*i;
                var seek = new SeekPositionItem(pos, item);
                if (nextChapter != null && pos >= nextChapter.PositionTicks)
                {
                    seek.PositionTicks = nextChapter.PositionTicks;
                    seek.ChapterIndex = nextChapterIndex;
                    nextChapterIndex++;
                    nextChapter = Chapters.Count > nextChapterIndex ? Chapters[nextChapterIndex] : null;
                }

                yield return seek;
            }
        }