public void PlaybackHalted(PlayerQueueEntry entry, int index) { if (entry == queue.Head) { listener.PlaybackHalted(); } }
public void PlaybackResumed(PlayerQueueEntry entry, int index, int diff) { if (entry == queue.Head) { listener.PlaybackResumedFromHalt(diff); } }
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); } }
public void FinishedLoading(PlayerQueueEntry entry, TrackOrEpisode metadata) { Debug.WriteLine("{0} finished loading.", entry); if (entry == queue.Head) { listener.FinishedLoading(metadata); } }
public void StartedLoading(PlayerQueueEntry entry) { Debug.WriteLine("{0} started loading.", entry); if (entry == queue.Head) { listener.StartedLoading(); } }
public async Task PlaybackEnded(PlayerQueueEntry entry) { listener.TrackPlayed(entry.PlaybackId, entry.EndReason, 0); if (entry == queue.Head) { await Advance(Reason.trackdone); } }
/// <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; } }
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); }
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); }
public void LoadingError(PlayerQueueEntry entry, Exception ex, bool retried) { throw new NotImplementedException(); }
public void InstantReached(PlayerQueueEntry entry, int callbackId, int exactTime) { throw new NotImplementedException(); }
public void PlaybackError(PlayerQueueEntry entry, Exception ex) { throw new NotImplementedException(); }