fix nil interface bug

This commit is contained in:
Drew Weymouth
2024-06-01 10:32:52 -07:00
parent 82d4546096
commit 3d6bd910f2
2 changed files with 9 additions and 5 deletions
+3 -2
View File
@@ -170,7 +170,7 @@ type MediaItem interface {
Copy() MediaItem
}
func (t Track) Metadata() MediaItemMetadata {
func (t *Track) Metadata() MediaItemMetadata {
return MediaItemMetadata{
Type: MediaItemTypeTrack,
ID: t.ID,
@@ -183,12 +183,13 @@ func (t Track) Metadata() MediaItemMetadata {
Duration: t.Duration,
}
}
func (t *Track) Copy() MediaItem {
new := *t
return &new
}
func (r RadioStation) Metadata() MediaItemMetadata {
func (r *RadioStation) Metadata() MediaItemMetadata {
return MediaItemMetadata{
Type: MediaItemTypeRadioStation,
ID: r.ID,
+6 -3
View File
@@ -84,10 +84,13 @@ func FindMediaItemByID(id string, items []mediaprovider.MediaItem) mediaprovider
}
func MediaItemIDOrEmptyStr(item mediaprovider.MediaItem) string {
if item == nil {
return ""
if tr, ok := item.(*mediaprovider.Track); ok && tr != nil {
return tr.ID
}
return item.Metadata().ID
if rd, ok := item.(*mediaprovider.RadioStation); ok && rd != nil {
return rd.ID
}
return ""
}
func AlbumIDOrEmptyStr(track *mediaprovider.Track) string {