fix nil interface bug
This commit is contained in:
@@ -170,7 +170,7 @@ type MediaItem interface {
|
|||||||
Copy() MediaItem
|
Copy() MediaItem
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t Track) Metadata() MediaItemMetadata {
|
func (t *Track) Metadata() MediaItemMetadata {
|
||||||
return MediaItemMetadata{
|
return MediaItemMetadata{
|
||||||
Type: MediaItemTypeTrack,
|
Type: MediaItemTypeTrack,
|
||||||
ID: t.ID,
|
ID: t.ID,
|
||||||
@@ -183,12 +183,13 @@ func (t Track) Metadata() MediaItemMetadata {
|
|||||||
Duration: t.Duration,
|
Duration: t.Duration,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Track) Copy() MediaItem {
|
func (t *Track) Copy() MediaItem {
|
||||||
new := *t
|
new := *t
|
||||||
return &new
|
return &new
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r RadioStation) Metadata() MediaItemMetadata {
|
func (r *RadioStation) Metadata() MediaItemMetadata {
|
||||||
return MediaItemMetadata{
|
return MediaItemMetadata{
|
||||||
Type: MediaItemTypeRadioStation,
|
Type: MediaItemTypeRadioStation,
|
||||||
ID: r.ID,
|
ID: r.ID,
|
||||||
|
|||||||
@@ -84,10 +84,13 @@ func FindMediaItemByID(id string, items []mediaprovider.MediaItem) mediaprovider
|
|||||||
}
|
}
|
||||||
|
|
||||||
func MediaItemIDOrEmptyStr(item mediaprovider.MediaItem) string {
|
func MediaItemIDOrEmptyStr(item mediaprovider.MediaItem) string {
|
||||||
if item == nil {
|
if tr, ok := item.(*mediaprovider.Track); ok && tr != nil {
|
||||||
return ""
|
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 {
|
func AlbumIDOrEmptyStr(track *mediaprovider.Track) string {
|
||||||
|
|||||||
Reference in New Issue
Block a user