浏览代码

post release housecleaning

Luke Pulverenti 10 年之前
父节点
当前提交
ddbbe9ce4e

+ 1 - 1
MediaBrowser.Api/ApiEntryPoint.cs

@@ -296,7 +296,7 @@ namespace MediaBrowser.Api
                 // TODO: Lower this hls timeout
                 // TODO: Lower this hls timeout
                 var timerDuration = job.Type == TranscodingJobType.Progressive ?
                 var timerDuration = job.Type == TranscodingJobType.Progressive ?
                     1000 :
                     1000 :
-                    7200000;
+                    1800000;
 
 
                 if (job.KillTimer == null)
                 if (job.KillTimer == null)
                 {
                 {

+ 1 - 1
MediaBrowser.Api/ConfigurationService.cs

@@ -123,7 +123,7 @@ namespace MediaBrowser.Api
 
 
         public void Post(AutoSetMetadataOptions request)
         public void Post(AutoSetMetadataOptions request)
         {
         {
-            _configurationManager.DisableMetadataService("Media Browser Xml");
+            _configurationManager.DisableMetadataService("Emby Xml");
             _configurationManager.SaveConfiguration();
             _configurationManager.SaveConfiguration();
         }
         }
 
 

+ 1 - 1
MediaBrowser.Api/Playback/TranscodingThrottler.cs

@@ -42,7 +42,7 @@ namespace MediaBrowser.Api.Playback
 
 
             var options = GetOptions();
             var options = GetOptions();
 
 
-            if (options.EnableThrottling && IsThrottleAllowed(_job, options.ThrottleThresholdSeconds))
+            if (/*options.EnableThrottling &&*/ IsThrottleAllowed(_job, options.ThrottleThresholdSeconds))
             {
             {
                 PauseTranscoding();
                 PauseTranscoding();
             }
             }

+ 2 - 13
MediaBrowser.Controller/Channels/Channel.cs

@@ -5,7 +5,6 @@ using System;
 using System.Linq;
 using System.Linq;
 using System.Threading;
 using System.Threading;
 using System.Threading.Tasks;
 using System.Threading.Tasks;
-using MediaBrowser.Model.Users;
 
 
 namespace MediaBrowser.Controller.Channels
 namespace MediaBrowser.Controller.Channels
 {
 {
@@ -15,19 +14,9 @@ namespace MediaBrowser.Controller.Channels
 
 
         public override bool IsVisible(User user)
         public override bool IsVisible(User user)
         {
         {
-            if (user.Policy.BlockedChannels != null)
+            if (!user.Policy.EnableAllChannels && !user.Policy.EnabledChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
             {
             {
-                if (user.Policy.BlockedChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
-                {
-                    return false;
-                }
-            }
-            else
-            {
-                if (!user.Policy.EnableAllChannels && !user.Policy.EnabledChannels.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
-                {
-                    return false;
-                }
+                return false;
             }
             }
             
             
             return base.IsVisible(user);
             return base.IsVisible(user);

+ 0 - 29
MediaBrowser.Controller/Entities/BaseItem.cs

@@ -1219,18 +1219,6 @@ namespace MediaBrowser.Controller.Entities
 
 
         private BaseItem FindLinkedChild(LinkedChild info)
         private BaseItem FindLinkedChild(LinkedChild info)
         {
         {
-            if (!string.IsNullOrWhiteSpace(info.ItemName))
-            {
-                if (string.Equals(info.ItemType, "musicgenre", StringComparison.OrdinalIgnoreCase))
-                {
-                    return LibraryManager.GetMusicGenre(info.ItemName);
-                }
-                if (string.Equals(info.ItemType, "musicartist", StringComparison.OrdinalIgnoreCase))
-                {
-                    return LibraryManager.GetArtist(info.ItemName);
-                }
-            }
-
             if (!string.IsNullOrEmpty(info.Path))
             if (!string.IsNullOrEmpty(info.Path))
             {
             {
                 var itemByPath = LibraryManager.RootFolder.FindByPath(info.Path);
                 var itemByPath = LibraryManager.RootFolder.FindByPath(info.Path);
@@ -1243,23 +1231,6 @@ namespace MediaBrowser.Controller.Entities
                 return itemByPath;
                 return itemByPath;
             }
             }
 
 
-            if (!string.IsNullOrWhiteSpace(info.ItemName) && !string.IsNullOrWhiteSpace(info.ItemType))
-            {
-                return LibraryManager.RootFolder.GetRecursiveChildren(i =>
-                {
-                    if (string.Equals(i.Name, info.ItemName, StringComparison.OrdinalIgnoreCase))
-                    {
-                        if (string.Equals(i.GetType().Name, info.ItemType, StringComparison.OrdinalIgnoreCase))
-                        {
-                            return true;
-                        }
-                    }
-
-                    return false;
-
-                }).FirstOrDefault();
-            }
-
             return null;
             return null;
         }
         }
 
 

+ 2 - 15
MediaBrowser.Controller/Entities/Folder.cs

@@ -334,22 +334,9 @@ namespace MediaBrowser.Controller.Entities
         {
         {
             if (this is ICollectionFolder && !(this is BasePluginFolder))
             if (this is ICollectionFolder && !(this is BasePluginFolder))
             {
             {
-                if (user.Policy.BlockedMediaFolders != null)
+                if (!user.Policy.EnableAllFolders && !user.Policy.EnabledFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
                 {
                 {
-                    if (user.Policy.BlockedMediaFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase) ||
-
-                        // Backwards compatibility
-                        user.Policy.BlockedMediaFolders.Contains(Name, StringComparer.OrdinalIgnoreCase))
-                    {
-                        return false;
-                    }
-                }
-                else
-                {
-                    if (!user.Policy.EnableAllFolders && !user.Policy.EnabledFolders.Contains(Id.ToString("N"), StringComparer.OrdinalIgnoreCase))
-                    {
-                        return false;
-                    }
+                    return false;
                 }
                 }
             }
             }
 
 

+ 0 - 3
MediaBrowser.Controller/Entities/LinkedChild.cs

@@ -9,9 +9,6 @@ namespace MediaBrowser.Controller.Entities
         public string Path { get; set; }
         public string Path { get; set; }
         public LinkedChildType Type { get; set; }
         public LinkedChildType Type { get; set; }
 
 
-        public string ItemName { get; set; }
-        public string ItemType { get; set; }
-
         [IgnoreDataMember]
         [IgnoreDataMember]
         public string Id { get; set; }
         public string Id { get; set; }
 
 

+ 1 - 13
MediaBrowser.Controller/Providers/BaseItemXmlParser.cs

@@ -1404,24 +1404,12 @@ namespace MediaBrowser.Controller.Providers
                 {
                 {
                     switch (reader.Name)
                     switch (reader.Name)
                     {
                     {
-                        case "Name":
-                            {
-                                linkedItem.ItemName = reader.ReadElementContentAsString();
-                                break;
-                            }
-
                         case "Path":
                         case "Path":
                             {
                             {
                                 linkedItem.Path = reader.ReadElementContentAsString();
                                 linkedItem.Path = reader.ReadElementContentAsString();
                                 break;
                                 break;
                             }
                             }
 
 
-                        case "Type":
-                            {
-                                linkedItem.ItemType = reader.ReadElementContentAsString();
-                                break;
-                            }
-
                         default:
                         default:
                             reader.Skip();
                             reader.Skip();
                             break;
                             break;
@@ -1435,7 +1423,7 @@ namespace MediaBrowser.Controller.Providers
                 return linkedItem;
                 return linkedItem;
             }
             }
 
 
-            return string.IsNullOrWhiteSpace(linkedItem.ItemName) || string.IsNullOrWhiteSpace(linkedItem.ItemType) ? null : linkedItem;
+            return null;
         }
         }
 
 
 
 

+ 1 - 1
MediaBrowser.LocalMetadata/BaseXmlProvider.cs

@@ -92,7 +92,7 @@ namespace MediaBrowser.LocalMetadata
         {
         {
             get
             get
             {
             {
-                return "Media Browser Xml";
+                return "Emby Xml";
             }
             }
         }
         }
         
         

+ 0 - 5
MediaBrowser.LocalMetadata/Savers/XmlSaverHelpers.cs

@@ -756,11 +756,6 @@ namespace MediaBrowser.LocalMetadata.Savers
             {
             {
                 builder.Append("<" + singularNodeName + ">");
                 builder.Append("<" + singularNodeName + ">");
 
 
-                if (!string.IsNullOrWhiteSpace(link.ItemType))
-                {
-                    builder.Append("<Type>" + SecurityElement.Escape(link.ItemType) + "</Type>");
-                }
-
                 if (!string.IsNullOrWhiteSpace(link.Path))
                 if (!string.IsNullOrWhiteSpace(link.Path))
                 {
                 {
                     builder.Append("<Path>" + SecurityElement.Escape((link.Path)) + "</Path>");
                     builder.Append("<Path>" + SecurityElement.Escape((link.Path)) + "</Path>");

+ 2 - 3
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -200,7 +200,7 @@ namespace MediaBrowser.Model.Configuration
         public PeopleMetadataOptions PeopleMetadataOptions { get; set; }
         public PeopleMetadataOptions PeopleMetadataOptions { get; set; }
         public bool FindInternetTrailers { get; set; }
         public bool FindInternetTrailers { get; set; }
 
 
-        public string[] InsecureApps8 { get; set; }
+        public string[] InsecureApps9 { get; set; }
 
 
         public bool SaveMetadataHidden { get; set; }
         public bool SaveMetadataHidden { get; set; }
 
 
@@ -257,7 +257,7 @@ namespace MediaBrowser.Model.Configuration
 
 
             PeopleMetadataOptions = new PeopleMetadataOptions();
             PeopleMetadataOptions = new PeopleMetadataOptions();
 
 
-            InsecureApps8 = new[]
+            InsecureApps9 = new[]
             {
             {
                 "Chromecast",
                 "Chromecast",
                 "iOS",
                 "iOS",
@@ -266,7 +266,6 @@ namespace MediaBrowser.Model.Configuration
                 "Media Portal",
                 "Media Portal",
                 "iPad",
                 "iPad",
                 "iPhone",
                 "iPhone",
-                "Roku",
                 "Windows Phone"
                 "Windows Phone"
             };
             };
 
 

+ 0 - 7
MediaBrowser.Model/Configuration/UserConfiguration.cs

@@ -6,12 +6,6 @@ namespace MediaBrowser.Model.Configuration
     /// </summary>
     /// </summary>
     public class UserConfiguration
     public class UserConfiguration
     {
     {
-        /// <summary>
-        /// Gets or sets a value indicating whether this instance is administrator.
-        /// </summary>
-        /// <value><c>true</c> if this instance is administrator; otherwise, <c>false</c>.</value>
-        public bool IsAdministrator { get; set; }
-
         /// <summary>
         /// <summary>
         /// Gets or sets the audio language preference.
         /// Gets or sets the audio language preference.
         /// </summary>
         /// </summary>
@@ -53,7 +47,6 @@ namespace MediaBrowser.Model.Configuration
 
 
         public string[] LatestItemsExcludes { get; set; }
         public string[] LatestItemsExcludes { get; set; }
 
 
-        public bool HasMigratedToPolicy { get; set; }
         public bool HidePlayedInLatest { get; set; }
         public bool HidePlayedInLatest { get; set; }
 
 
         /// <summary>
         /// <summary>

+ 5 - 0
MediaBrowser.Model/Dlna/StreamInfo.cs

@@ -217,6 +217,11 @@ namespace MediaBrowser.Model.Dlna
             return list;
             return list;
         }
         }
 
 
+        public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, string baseUrl, string accessToken)
+        {
+            return GetExternalSubtitles(includeSelectedTrackOnly, false, baseUrl, accessToken);
+        }
+
         public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, bool enableAllProfiles, string baseUrl, string accessToken)
         public List<SubtitleStreamInfo> GetExternalSubtitles(bool includeSelectedTrackOnly, bool enableAllProfiles, string baseUrl, string accessToken)
         {
         {
             List<SubtitleStreamInfo> list = GetSubtitleProfiles(includeSelectedTrackOnly, enableAllProfiles, baseUrl, accessToken);
             List<SubtitleStreamInfo> list = GetSubtitleProfiles(includeSelectedTrackOnly, enableAllProfiles, baseUrl, accessToken);

+ 3 - 2
MediaBrowser.Model/Notifications/NotificationOptions.cs

@@ -1,5 +1,6 @@
 using MediaBrowser.Model.Configuration;
 using MediaBrowser.Model.Configuration;
 using MediaBrowser.Model.Extensions;
 using MediaBrowser.Model.Extensions;
+using MediaBrowser.Model.Users;
 
 
 namespace MediaBrowser.Model.Notifications
 namespace MediaBrowser.Model.Notifications
 {
 {
@@ -106,7 +107,7 @@ namespace MediaBrowser.Model.Notifications
                    !ListHelper.ContainsIgnoreCase(opt.DisabledMonitorUsers, userId);
                    !ListHelper.ContainsIgnoreCase(opt.DisabledMonitorUsers, userId);
         }
         }
 
 
-        public bool IsEnabledToSendToUser(string type, string userId, UserConfiguration userConfig)
+        public bool IsEnabledToSendToUser(string type, string userId, UserPolicy userPolicy)
         {
         {
             NotificationOption opt = GetOptions(type);
             NotificationOption opt = GetOptions(type);
 
 
@@ -117,7 +118,7 @@ namespace MediaBrowser.Model.Notifications
                     return true;
                     return true;
                 }
                 }
 
 
-                if (opt.SendToUserMode == SendToUserType.Admins && userConfig.IsAdministrator)
+                if (opt.SendToUserMode == SendToUserType.Admins && userPolicy.IsAdministrator)
                 {
                 {
                     return true;
                     return true;
                 }
                 }

+ 0 - 2
MediaBrowser.Model/Users/UserPolicy.cs

@@ -32,8 +32,6 @@ namespace MediaBrowser.Model.Users
         public bool EnableUserPreferenceAccess { get; set; }
         public bool EnableUserPreferenceAccess { get; set; }
         public AccessSchedule[] AccessSchedules { get; set; }
         public AccessSchedule[] AccessSchedules { get; set; }
         public UnratedItem[] BlockUnratedItems { get; set; }
         public UnratedItem[] BlockUnratedItems { get; set; }
-        public string[] BlockedMediaFolders { get; set; }
-        public string[] BlockedChannels { get; set; }
         public bool EnableRemoteControlOfOtherUsers { get; set; }
         public bool EnableRemoteControlOfOtherUsers { get; set; }
         public bool EnableSharedDeviceControl { get; set; }
         public bool EnableSharedDeviceControl { get; set; }
 
 

+ 1 - 1
MediaBrowser.Server.Implementations/HttpServer/Security/AuthService.cs

@@ -140,7 +140,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
                 return true;
                 return true;
             }
             }
 
 
-            return _config.Configuration.InsecureApps8.Contains(auth.Client ?? string.Empty,
+            return _config.Configuration.InsecureApps9.Contains(auth.Client ?? string.Empty,
                 StringComparer.OrdinalIgnoreCase);
                 StringComparer.OrdinalIgnoreCase);
         }
         }
 
 

+ 3 - 23
MediaBrowser.Server.Implementations/Library/UserManager.cs

@@ -166,11 +166,6 @@ namespace MediaBrowser.Server.Implementations.Library
 
 
             var users = Users.ToList();
             var users = Users.ToList();
 
 
-            foreach (var user in users)
-            {
-                await DoPolicyMigration(user).ConfigureAwait(false);
-            }
-
             // If there are no local users with admin rights, make them all admins
             // If there are no local users with admin rights, make them all admins
             if (!users.Any(i => i.Policy.IsAdministrator))
             if (!users.Any(i => i.Policy.IsAdministrator))
             {
             {
@@ -286,10 +281,10 @@ namespace MediaBrowser.Server.Implementations.Library
 
 
                 if (newValue >= maxCount)
                 if (newValue >= maxCount)
                 {
                 {
-                    //_logger.Debug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture));
-                    //user.Policy.IsDisabled = true;
+                    _logger.Debug("Disabling user {0} due to {1} unsuccessful login attempts.", user.Name, newValue.ToString(CultureInfo.InvariantCulture));
+                    user.Policy.IsDisabled = true;
 
 
-                    //fireLockout = true;
+                    fireLockout = true;
                 }
                 }
 
 
                 await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false);
                 await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false);
@@ -366,19 +361,6 @@ namespace MediaBrowser.Server.Implementations.Library
             return users;
             return users;
         }
         }
 
 
-        private async Task DoPolicyMigration(User user)
-        {
-            if (!user.Configuration.HasMigratedToPolicy)
-            {
-                user.Policy.IsAdministrator = user.Configuration.IsAdministrator;
-
-                await UpdateUserPolicy(user, user.Policy, false);
-
-                user.Configuration.HasMigratedToPolicy = true;
-                await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
-            }
-        }
-
         public UserDto GetUserDto(User user, string remoteEndPoint = null)
         public UserDto GetUserDto(User user, string remoteEndPoint = null)
         {
         {
             if (user == null)
             if (user == null)
@@ -953,8 +935,6 @@ namespace MediaBrowser.Server.Implementations.Library
                 user.Policy = userPolicy;
                 user.Policy = userPolicy;
             }
             }
 
 
-            user.Configuration.IsAdministrator = user.Policy.IsAdministrator;
-
             await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
             await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
         }
         }
 
 

+ 1 - 1
MediaBrowser.Server.Implementations/Notifications/NotificationManager.cs

@@ -95,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
                 var config = GetConfiguration();
                 var config = GetConfiguration();
 
 
                 return _userManager.Users
                 return _userManager.Users
-                    .Where(i => config.IsEnabledToSendToUser(request.NotificationType, i.Id.ToString("N"), i.Configuration))
+                    .Where(i => config.IsEnabledToSendToUser(request.NotificationType, i.Id.ToString("N"), i.Policy))
                     .Select(i => i.Id.ToString("N"));
                     .Select(i => i.Id.ToString("N"));
             }
             }
 
 

+ 9 - 9
MediaBrowser.Server.Startup.Common/FFMpeg/FFMpegDownloadInfo.cs

@@ -22,7 +22,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
             var info = new FFMpegDownloadInfo();
             var info = new FFMpegDownloadInfo();
 
 
             // Windows builds: http://ffmpeg.zeranoe.com/builds/
             // Windows builds: http://ffmpeg.zeranoe.com/builds/
-            // Linux builds: http://ffmpeg.gusari.org/static/
+            // Linux builds: http://johnvansickle.com/ffmpeg/
             // OS X builds: http://ffmpegmac.net/
             // OS X builds: http://ffmpegmac.net/
             // OS X x64: http://www.evermeet.cx/ffmpeg/
             // OS X x64: http://www.evermeet.cx/ffmpeg/
 
 
@@ -33,7 +33,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
                 case OperatingSystem.Linux:
                 case OperatingSystem.Linux:
 
 
                     info.ArchiveType = "7z";
                     info.ArchiveType = "7z";
-                    info.Version = "20150124";
+                    info.Version = "20150331";
                     break;
                     break;
                 case OperatingSystem.Osx:
                 case OperatingSystem.Osx:
 
 
@@ -54,7 +54,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
 
 
                     info.FFMpegFilename = "ffmpeg.exe";
                     info.FFMpegFilename = "ffmpeg.exe";
                     info.FFProbeFilename = "ffprobe.exe";
                     info.FFProbeFilename = "ffprobe.exe";
-                    info.Version = "20150110";
+                    info.Version = "20150331";
                     info.ArchiveType = "7z";
                     info.ArchiveType = "7z";
 
 
                     switch (environment.SystemArchitecture)
                     switch (environment.SystemArchitecture)
@@ -83,14 +83,14 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
                         case Architecture.X86_X64:
                         case Architecture.X86_X64:
                             return new[]
                             return new[]
                             {
                             {
-                                "http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20150110-git-4df01d5-win64-static.7z",
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20150110-git-4df01d5-win64-static.7z"
+                                "http://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20150331-git-5cba529-win64-static.7z",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20150331-git-5cba529-win64-static.7z"
                             };
                             };
                         case Architecture.X86:
                         case Architecture.X86:
                             return new[]
                             return new[]
                             {
                             {
-                                "http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20150110-git-4df01d5-win32-static.7z",
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20150110-git-4df01d5-win32-static.7z"
+                                "http://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-20150331-git-5cba529-win32-static.7z",
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/windows/ffmpeg-20150331-git-5cba529-win32-static.7z"
                             };
                             };
                     }
                     }
                     break;
                     break;
@@ -119,12 +119,12 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
                         case Architecture.X86_X64:
                         case Architecture.X86_X64:
                             return new[]
                             return new[]
                             {
                             {
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg-2.5.3-64bit-static.7z"
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg-2.6.1-64bit-static.7z"
                             };
                             };
                         case Architecture.X86:
                         case Architecture.X86:
                             return new[]
                             return new[]
                             {
                             {
-                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg-2.5.3-32bit-static.7z"
+                                "https://github.com/MediaBrowser/MediaBrowser.Resources/raw/master/ffmpeg/linux/ffmpeg-2.6.1-32bit-static.7z"
                             };
                             };
                     }
                     }
                     break;
                     break;

+ 6 - 1
MediaBrowser.Server.Startup.Common/Migrations/RenameXmlOptions.cs

@@ -44,7 +44,12 @@ namespace MediaBrowser.Server.Startup.Common.Migrations
                 {
                 {
                     if (string.Equals(options[i], "Media Browser Legacy Xml", StringComparison.OrdinalIgnoreCase))
                     if (string.Equals(options[i], "Media Browser Legacy Xml", StringComparison.OrdinalIgnoreCase))
                     {
                     {
-                        options[i] = "Media Browser Xml";
+                        options[i] = "Emby Xml";
+                        changed = true;
+                    }
+                    else if (string.Equals(options[i], "Media Browser Xml", StringComparison.OrdinalIgnoreCase))
+                    {
+                        options[i] = "Emby Xml";
                         changed = true;
                         changed = true;
                     }
                     }
                 }
                 }

+ 0 - 10
MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs

@@ -856,16 +856,6 @@ namespace MediaBrowser.XbmcMetadata.Savers
             {
             {
                 writer.WriteStartElement("collectionitem");
                 writer.WriteStartElement("collectionitem");
 
 
-                if (!string.IsNullOrWhiteSpace(link.ItemName))
-                {
-                    writer.WriteElementString("name", link.ItemName);
-                }
-
-                if (!string.IsNullOrWhiteSpace(link.ItemType))
-                {
-                    writer.WriteElementString("type", link.ItemType);
-                }
-
                 if (!string.IsNullOrWhiteSpace(link.Path))
                 if (!string.IsNullOrWhiteSpace(link.Path))
                 {
                 {
                     writer.WriteElementString("path", link.Path);
                     writer.WriteElementString("path", link.Path);