Skip to content

Commit fe73998

Browse files
Log error on malformed track (#73)
Signed-off-by: Pierre-Emmanuel Jacquier <15922119+pierre-emmanuelJ@users.noreply.github.com>
1 parent 398ce5b commit fe73998

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

pkg/server/server.go

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
package server
2020

2121
import (
22+
"bytes"
2223
"fmt"
24+
"log"
2325
"net/url"
2426
"os"
2527
"strings"
@@ -97,23 +99,25 @@ func (c *Config) playlistInitialization() error {
9799
func (c *Config) marshallInto(into *os.File, xtream bool) error {
98100
into.WriteString("#EXTM3U\n") // nolint: errcheck
99101
for _, track := range c.playlist.Tracks {
100-
into.WriteString("#EXTINF:") // nolint: errcheck
101-
into.WriteString(fmt.Sprintf("%d ", track.Length)) // nolint: errcheck
102+
var buffer bytes.Buffer
103+
104+
buffer.WriteString("#EXTINF:") // nolint: errcheck
105+
buffer.WriteString(fmt.Sprintf("%d ", track.Length)) // nolint: errcheck
102106
for i := range track.Tags {
103107
if i == len(track.Tags)-1 {
104-
into.WriteString(fmt.Sprintf("%s=%q", track.Tags[i].Name, track.Tags[i].Value)) // nolint: errcheck
108+
buffer.WriteString(fmt.Sprintf("%s=%q", track.Tags[i].Name, track.Tags[i].Value)) // nolint: errcheck
105109
continue
106110
}
107-
into.WriteString(fmt.Sprintf("%s=%q ", track.Tags[i].Name, track.Tags[i].Value)) // nolint: errcheck
111+
buffer.WriteString(fmt.Sprintf("%s=%q ", track.Tags[i].Name, track.Tags[i].Value)) // nolint: errcheck
108112
}
109-
into.WriteString(", ") // nolint: errcheck
110113

111114
uri, err := c.replaceURL(track.URI, xtream)
112115
if err != nil {
113-
return err
116+
log.Printf("ERROR: track: %s: %s", track.Name, err)
117+
continue
114118
}
115119

116-
into.WriteString(fmt.Sprintf("%s\n%s\n", track.Name, uri)) // nolint: errcheck
120+
into.WriteString(fmt.Sprintf("%s, %s\n%s\n", buffer.String(), track.Name, uri)) // nolint: errcheck
117121
}
118122

119123
return into.Sync()

0 commit comments

Comments
 (0)