aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--MediaBrowser.Model/Dlna/StreamBuilder.cs6
-rw-r--r--MediaBrowser.Model/Dto/MediaSourceInfo.cs7
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs14
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs14
4 files changed, 34 insertions, 7 deletions
diff --git a/MediaBrowser.Model/Dlna/StreamBuilder.cs b/MediaBrowser.Model/Dlna/StreamBuilder.cs
index b27138b4a..bc9f07d04 100644
--- a/MediaBrowser.Model/Dlna/StreamBuilder.cs
+++ b/MediaBrowser.Model/Dlna/StreamBuilder.cs
@@ -341,7 +341,11 @@ namespace MediaBrowser.Model.Dlna
MediaStream subtitleStream = playlistItem.SubtitleStreamIndex.HasValue ? item.GetMediaStream(MediaStreamType.Subtitle, playlistItem.SubtitleStreamIndex.Value) : null;
MediaStream audioStream = item.GetDefaultAudioStream(options.AudioStreamIndex ?? item.DefaultAudioStreamIndex);
- int? audioStreamIndex = audioStream == null ? (int?)null : audioStream.Index;
+ int? audioStreamIndex = null;
+ if (audioStream != null)
+ {
+ audioStreamIndex = audioStream.Index;
+ }
MediaStream videoStream = item.VideoStream;
diff --git a/MediaBrowser.Model/Dto/MediaSourceInfo.cs b/MediaBrowser.Model/Dto/MediaSourceInfo.cs
index 302d18bc0..8897edcbd 100644
--- a/MediaBrowser.Model/Dto/MediaSourceInfo.cs
+++ b/MediaBrowser.Model/Dto/MediaSourceInfo.cs
@@ -150,7 +150,12 @@ namespace MediaBrowser.Model.Dto
}
}
- return numStreams == 0 ? (int?)null : numMatches;
+ if (numStreams == 0)
+ {
+ return null;
+ }
+
+ return numMatches;
}
public bool? IsSecondaryAudio(MediaStream stream)
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 682175f79..c854f9f4a 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -138,6 +138,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
xml = xml.Substring(0, index + 1);
}
+ else
+ {
+ // If the file is just an Imdb url, handle that
+
+ var imdbId = xml.Split('/')
+ .FirstOrDefault(i => i.StartsWith("tt", StringComparison.OrdinalIgnoreCase));
+
+ if (!string.IsNullOrWhiteSpace(imdbId))
+ {
+ item.SetProviderId(MetadataProviders.Imdb, imdbId);
+ }
+
+ return;
+ }
using (var ms = new MemoryStream())
{
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
index 3224f36bc..5c4319d22 100644
--- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
@@ -153,7 +153,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
return GetLocalSavePath(item);
}
-
+
/// <summary>
/// Gets the save path.
/// </summary>
@@ -184,7 +184,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
public void Save(IHasMetadata item, CancellationToken cancellationToken)
{
var path = GetSavePath(item);
-
+
using (var memoryStream = new MemoryStream())
{
Save(item, memoryStream, path);
@@ -275,6 +275,10 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
}
+ catch (XmlException ex)
+ {
+ Logger.ErrorException("Error reading existng nfo", ex);
+ }
writer.WriteEndElement();
@@ -466,8 +470,8 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
writer.WriteElementString("originaltitle", hasOriginalTitle.OriginalTitle ?? string.Empty);
}
- }
-
+ }
+
var directors = item.People
.Where(i => IsPersonType(i, PersonType.Director))
.Select(i => i.Name)
@@ -978,7 +982,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
writer.WriteElementString("type", person.Type);
}
-
+
if (person.SortOrder.HasValue)
{
writer.WriteElementString("sortorder", person.SortOrder.Value.ToString(UsCulture));