shorten retry time, clean up logging

This commit is contained in:
Drew Weymouth
2025-03-29 15:15:13 -07:00
parent 9ad40a1c2d
commit ff455528d6
2 changed files with 27 additions and 9 deletions
+23 -5
View File
@@ -65,6 +65,8 @@ type DLNAPlayer struct {
func NewDLNAPlayer(device *device.MediaRenderer) (*DLNAPlayer, error) {
retry := retryablehttp.NewClient()
retry.RetryMax = 3
retry.RetryWaitMin = 100 * time.Millisecond
retry.Logger = retryLogger{}
cli := retry.StandardClient()
avt, err := device.AVTransportClient()
@@ -97,8 +99,6 @@ func (d *DLNAPlayer) GetVolume() int {
func (d *DLNAPlayer) PlayFile(urlstr string, meta mediaprovider.MediaItemMetadata) error {
d.ensureSetupProxy()
log.Println("playing track " + meta.Name)
d.metaLock.Lock()
d.curTrackMeta = meta
d.metaLock.Unlock()
@@ -268,16 +268,13 @@ func (d *DLNAPlayer) addURLToProxy(url string) string {
func (d *DLNAPlayer) setTrackChangeTimer(dur time.Duration) {
if d.timerActive.Swap(true) {
// was active
log.Println("timer was active")
d.resetChan <- dur
log.Println("and reset")
return
}
if dur == 0 {
d.timerActive.Store(false)
return
}
log.Println("starting timer")
d.timer = time.NewTimer(dur)
go func() {
@@ -391,3 +388,24 @@ func (d *DLNAPlayer) handleRequest(w http.ResponseWriter, r *http.Request) {
fmt.Fprintln(os.Stderr, "Error copying response body:", err)
}
}
type retryLogger struct{}
func (retryLogger) Error(msg string, keysAndValues ...interface{}) {
log.Println(msg, keysAndValues)
}
func (retryLogger) Info(msg string, keysAndValues ...interface{}) {
log.Println(msg, keysAndValues)
}
func (retryLogger) Warn(msg string, keysAndValues ...interface{}) {
log.Println(msg, keysAndValues)
}
func (retryLogger) Debug(msg string, keysAndValues ...interface{}) {
// log only retries, not every request
if strings.Contains(msg, "retrying request") {
log.Println(msg, keysAndValues)
}
}