|
|
@ -319,6 +319,12 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case "name-credit":
|
|
|
|
case "name-credit":
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (reader.IsEmptyElement)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
reader.Read();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
return ParseArtistNameCredit(subReader);
|
|
|
|
return ParseArtistNameCredit(subReader);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -355,6 +361,12 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
{
|
|
|
|
{
|
|
|
|
case "artist":
|
|
|
|
case "artist":
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (reader.IsEmptyElement)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
reader.Read();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var id = reader.GetAttribute("id");
|
|
|
|
var id = reader.GetAttribute("id");
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
return ParseArtistArtistCredit(subReader, id);
|
|
|
|
return ParseArtistArtistCredit(subReader, id);
|
|
|
@ -457,8 +469,8 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
using var reader = XmlReader.Create(oReader, settings);
|
|
|
|
using var reader = XmlReader.Create(oReader, settings);
|
|
|
|
reader.MoveToContent();
|
|
|
|
await reader.MoveToContentAsync().ConfigureAwait(false);
|
|
|
|
reader.Read();
|
|
|
|
await reader.ReadAsync().ConfigureAwait(false);
|
|
|
|
|
|
|
|
|
|
|
|
// Loop through each element
|
|
|
|
// Loop through each element
|
|
|
|
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
|
|
|
|
while (!reader.EOF && reader.ReadState == ReadState.Interactive)
|
|
|
@ -471,7 +483,7 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (reader.IsEmptyElement)
|
|
|
|
if (reader.IsEmptyElement)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
reader.Read();
|
|
|
|
await reader.ReadAsync().ConfigureAwait(false);
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -481,14 +493,14 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
|
|
|
|
|
|
|
|
default:
|
|
|
|
default:
|
|
|
|
{
|
|
|
|
{
|
|
|
|
reader.Skip();
|
|
|
|
await reader.SkipAsync().ConfigureAwait(false);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|
reader.Read();
|
|
|
|
await reader.ReadAsync().ConfigureAwait(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -755,6 +767,12 @@ namespace MediaBrowser.Providers.Music
|
|
|
|
|
|
|
|
|
|
|
|
case "artist-credit":
|
|
|
|
case "artist-credit":
|
|
|
|
{
|
|
|
|
{
|
|
|
|
|
|
|
|
if (reader.IsEmptyElement)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
reader.Read();
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
using var subReader = reader.ReadSubtree();
|
|
|
|
var artist = ParseArtistCredit(subReader);
|
|
|
|
var artist = ParseArtistCredit(subReader);
|
|
|
|
|
|
|
|
|
|
|
|