diff --git a/api.go b/api.go index 5a0dba1..d285daa 100644 --- a/api.go +++ b/api.go @@ -214,6 +214,8 @@ func (a *API) listen() { if err = a.queue.AddTrack(e, false); err == nil { result.Success = true result.QueueId = e.QueueIdentifier + } else { + log.Printf("track addition error: \"%s\"", err) } } } @@ -242,6 +244,8 @@ func (a *API) listen() { if err = a.queue.AddTrack(e, true); err == nil { result.Success = true result.QueueId = e.QueueIdentifier + } else { + log.Printf("track addition error: \"%s\"", err) } } } diff --git a/queue.go b/queue.go index d29e42f..74d45b4 100644 --- a/queue.go +++ b/queue.go @@ -277,7 +277,14 @@ func (q *Queue) AddTrack(entry *QueueTrackEntry, tail bool) error { func (q *Queue) HandleQueue() { if q.audioQueue.GetQueueSize() == 0 { - q.AddTrack(<-q.QueueEmpty, true) + if err := q.AddTrack(<-q.QueueEmpty, true); err != nil { + log.Printf("track addition error: \"%s\"", err) + + //TODO: maybe fail after n tries + time.Sleep(time.Second) + + q.HandleQueue() + } } }