Esempio n. 1
0
        public IVideo[] GetVideos(IVideoRequestType requestType, int timeoutMs, int maxPerPage, int page, out int videosAvailable)
        {
            VideoBuffer buffer = GetBuffer(requestType, timeoutMs, maxPerPage);

            // Insure we have enough videos in the Arraylist to satisfy the request
            int maxRequest = page * maxPerPage;

            buffer.FetchMore(maxRequest - buffer.Videos.Count);

            videosAvailable = buffer.Available;

            int startRequest = (page - 1) * maxPerPage;

            int count = maxPerPage;

            if (startRequest + maxPerPage > buffer.Videos.Count)
            {
                count = buffer.Videos.Count - startRequest;
            }

            // Deal with out of range
            return(buffer.Videos.GetRange(startRequest, count).ToArray());
        }