Ejemplo n.º 1
0
 public void PlaybackHalted(PlayerQueueEntry entry, int index)
 {
     if (entry == queue.Head)
     {
         listener.PlaybackHalted();
     }
 }
Ejemplo n.º 2
0
 public void PlaybackResumed(PlayerQueueEntry entry, int index, int diff)
 {
     if (entry == queue.Head)
     {
         listener.PlaybackResumedFromHalt(diff);
     }
 }
Ejemplo n.º 3
0
        public void Remove([NotNull] PlayerQueueEntry entry)
        {
            if (Head == null)
            {
                return;
            }

            bool removed;

            if (Head == entry)
            {
                var tmp = Head;
                Head = tmp.Next;
                tmp?.Dispose();
                removed = true;
            }
            else
            {
                removed = Head.Remove(entry);
            }

            if (removed)
            {
                Debug.WriteLine("{0} removed from queue.", entry);
            }
        }
Ejemplo n.º 4
0
 public void FinishedLoading(PlayerQueueEntry entry, TrackOrEpisode metadata)
 {
     Debug.WriteLine("{0} finished loading.", entry);
     if (entry == queue.Head)
     {
         listener.FinishedLoading(metadata);
     }
 }
Ejemplo n.º 5
0
 public void StartedLoading(PlayerQueueEntry entry)
 {
     Debug.WriteLine("{0} started loading.", entry);
     if (entry == queue.Head)
     {
         listener.StartedLoading();
     }
 }
Ejemplo n.º 6
0
        public async Task PlaybackEnded(PlayerQueueEntry entry)
        {
            listener.TrackPlayed(entry.PlaybackId,
                                 entry.EndReason, 0);

            if (entry == queue.Head)
            {
                await Advance(Reason.trackdone);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Creates and adds a new entry to the queue.
        /// </summary>
        /// <param name="playable"></param>
        /// <param name="preloaded"></param>
        private void Add([NotNull] IPlayableId playable,
                         bool preloaded,
                         int initialSeek)
        {
            var entry = new PlayerQueueEntry(sink, playable, preloaded, this, initialSeek);

            queue.Add(entry);
            if (queue.Next() == entry)
            {
                var head = queue.Head;
            }
        }
Ejemplo n.º 8
0
        public void Add([NotNull] PlayerQueueEntry entry)
        {
            if (Head == null)
            {
                Head = entry;
            }
            else
            {
                Head.SetNext(entry);
            }
            //executorService.execute(entry);

            Debug.WriteLine("{0} added to queue.", entry);
        }
Ejemplo n.º 9
0
        public bool Advance()
        {
            if (Head?.Next == null)
            {
                return(false);
            }

            var tmp = Head.Next;

            Head.Next = null;
            Head.Prev = null;
            if (!Head.CloseIfUseless)
            {
                tmp.Prev = Head;
            }
            Head = tmp;
            return(true);
        }
Ejemplo n.º 10
0
 public void LoadingError(PlayerQueueEntry entry, Exception ex, bool retried)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 11
0
 public void InstantReached(PlayerQueueEntry entry, int callbackId, int exactTime)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 12
0
 public void PlaybackError(PlayerQueueEntry entry, Exception ex)
 {
     throw new NotImplementedException();
 }