diff --git a/src/IF.Lastfm.Core/Objects/LastTrack.cs b/src/IF.Lastfm.Core/Objects/LastTrack.cs index 6d0ee30..3dc8400 100644 --- a/src/IF.Lastfm.Core/Objects/LastTrack.cs +++ b/src/IF.Lastfm.Core/Objects/LastTrack.cs @@ -88,7 +88,6 @@ internal static LastTrack ParseJToken(JToken token) { t.IsLoved = Convert.ToBoolean(lovedToken.Value()); } - var attrToken = token.SelectToken("@attr"); if (attrToken != null && attrToken.HasValues) { @@ -97,10 +96,15 @@ internal static LastTrack ParseJToken(JToken token) } // api returns milliseconds when track.getInfo is called directly - var secs = token.Value("duration"); - if (Math.Abs(secs - default(double)) > double.Epsilon) + var secsStr = token.Value("duration"); + double secs; + + if (double.TryParse(secsStr, out secs)) { - t.Duration = TimeSpan.FromMilliseconds(secs); + if (Math.Abs(secs - default(double)) > double.Epsilon) + { + t.Duration = TimeSpan.FromMilliseconds(secs); + } } return t;