aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs58
1 files changed, 49 insertions, 9 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 2ea3309b0..548403347 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -120,9 +120,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
item.ResetPeople();
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -130,6 +131,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
FetchDataFromXmlNode(reader, item);
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -195,9 +200,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
using (var reader = XmlReader.Create(ms, settings))
{
reader.MoveToContent();
+ reader.Read();
// Loop through each element
- while (reader.Read())
+ while (!reader.EOF)
{
cancellationToken.ThrowIfCancellationRequested();
@@ -205,6 +211,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
FetchDataFromXmlNode(reader, item);
}
+ else
+ {
+ reader.Read();
+ }
}
}
}
@@ -944,8 +954,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
private void FetchFromResumeNode(XmlReader reader, T item, UserItemData userData)
{
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -971,14 +983,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
private void FetchFromFileInfoNode(XmlReader reader, T item)
{
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -998,14 +1016,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
private void FetchFromStreamDetailsNode(XmlReader reader, T item)
{
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -1025,14 +1049,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
private void FetchFromVideoNode(XmlReader reader, T item)
{
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -1040,12 +1070,12 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
case "format3d":
{
+ var val = reader.ReadElementContentAsString();
+
var video = item as Video;
if (video != null)
{
- var val = reader.ReadElementContentAsString();
-
if (string.Equals("HSBS", val, StringComparison.OrdinalIgnoreCase))
{
video.Video3DFormat = Video3DFormat.HalfSideBySide;
@@ -1075,6 +1105,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
}
@@ -1091,8 +1125,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
int? sortOrder = null;
reader.MoveToContent();
+ reader.Read();
- while (reader.Read())
+ // Loop through each element
+ while (!reader.EOF)
{
if (reader.NodeType == XmlNodeType.Element)
{
@@ -1143,6 +1179,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
}
+ else
+ {
+ reader.Read();
+ }
}
return new PersonInfo