瀏覽代碼

beta fixes

Luke Pulverenti 10 年之前
父節點
當前提交
c0aec48a31
共有 23 個文件被更改,包括 134 次插入98 次删除
  1. 1 1
      MediaBrowser.Common.Implementations/BaseApplicationHost.cs
  2. 1 1
      MediaBrowser.Controller/Persistence/IItemRepository.cs
  3. 5 0
      MediaBrowser.Controller/Session/ISessionController.cs
  4. 1 1
      MediaBrowser.Dlna/ContentDirectory/ContentDirectoryBrowser.cs
  5. 4 0
      MediaBrowser.Dlna/PlayTo/PlayToController.cs
  6. 35 36
      MediaBrowser.MediaEncoding/Subtitles/AssParser.cs
  7. 7 7
      MediaBrowser.Model/Dlna/Profiles/DefaultProfile.cs
  8. 3 3
      MediaBrowser.Server.Implementations/Connect/ConnectManager.cs
  9. 1 1
      MediaBrowser.Server.Implementations/EntryPoints/Notifications/Notifications.cs
  10. 4 1
      MediaBrowser.Server.Implementations/HttpServer/Security/SessionContext.cs
  11. 8 3
      MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs
  12. 1 1
      MediaBrowser.Server.Implementations/Localization/Server/server.json
  13. 3 3
      MediaBrowser.Server.Implementations/Notifications/CoreNotificationTypes.cs
  14. 3 8
      MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
  15. 1 1
      MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs
  16. 4 0
      MediaBrowser.Server.Implementations/Session/HttpSessionController.cs
  17. 29 19
      MediaBrowser.Server.Implementations/Session/SessionManager.cs
  18. 16 3
      MediaBrowser.Server.Implementations/Session/WebSocketController.cs
  19. 1 1
      MediaBrowser.Server.Startup.Common/ApplicationHost.cs
  20. 2 2
      MediaBrowser.ServerApplication/ServerNotifyIcon.cs
  21. 2 2
      MediaBrowser.ServerApplication/Splash/SplashForm.Designer.cs
  22. 1 3
      MediaBrowser.WebDashboard/Api/PackageCreator.cs
  23. 1 1
      MediaBrowser.XbmcMetadata/Images/XbmcImageSaver.cs

+ 1 - 1
MediaBrowser.Common.Implementations/BaseApplicationHost.cs

@@ -294,7 +294,7 @@ namespace MediaBrowser.Common.Implementations
 
         public static void LogEnvironmentInfo(ILogger logger, IApplicationPaths appPaths, bool isStartup)
         {
-            logger.LogMultiline("Media Browser", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
+            logger.LogMultiline("Emby", LogSeverity.Info, GetBaseExceptionMessage(appPaths));
         }
 
         protected static StringBuilder GetBaseExceptionMessage(IApplicationPaths appPaths)

+ 1 - 1
MediaBrowser.Controller/Persistence/IItemRepository.cs

@@ -107,7 +107,7 @@ namespace MediaBrowser.Controller.Persistence
         /// </summary>
         /// <param name="type">The type.</param>
         /// <returns>IEnumerable{Guid}.</returns>
-        IEnumerable<BaseItem> GetItemsOfType(Type type);
+        IEnumerable<string> GetItemsOfType(Type type);
 
         /// <summary>
         /// Saves the children.

+ 5 - 0
MediaBrowser.Controller/Session/ISessionController.cs

@@ -115,5 +115,10 @@ namespace MediaBrowser.Controller.Session
         /// <param name="cancellationToken">The cancellation token.</param>
         /// <returns>Task.</returns>
         Task SendMessage<T>(string name, T data, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// Called when [activity].
+        /// </summary>
+        void OnActivity();
     }
 }

+ 1 - 1
MediaBrowser.Dlna/ContentDirectory/ContentDirectoryBrowser.cs

@@ -33,7 +33,7 @@ namespace MediaBrowser.Dlna.ContentDirectory
             var options = new HttpRequestOptions
             {
                 CancellationToken = cancellationToken,
-                UserAgent = "Media Browser",
+                UserAgent = "Emby",
                 RequestContentType = "text/xml; charset=\"utf-8\"",
                 LogErrorResponseBody = true,
                 Url = request.ContentDirectoryUrl

+ 4 - 0
MediaBrowser.Dlna/PlayTo/PlayToController.cs

@@ -47,6 +47,10 @@ namespace MediaBrowser.Dlna.PlayTo
             }
         }
 
+        public void OnActivity()
+        {
+        }
+
         public bool SupportsMediaControl
         {
             get { return IsSessionActive; }

+ 35 - 36
MediaBrowser.MediaEncoding/Subtitles/AssParser.cs

@@ -42,6 +42,9 @@ namespace MediaBrowser.MediaEncoding.Subtitles
 
                     subEvent.StartPositionTicks = GetTicks(sections[headers["Start"]]);
                     subEvent.EndPositionTicks = GetTicks(sections[headers["End"]]);
+
+                    //RemoteNativeFormatting(subEvent);
+                    
                     subEvent.Text = string.Join(",", sections.Skip(headers["Text"]));
                     subEvent.Text = subEvent.Text.Replace(@"\N", ParserValues.NewLine, StringComparison.OrdinalIgnoreCase);
                     subEvent.Text = Regex.Replace(subEvent.Text, @"\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}", string.Empty, RegexOptions.IgnoreCase);
@@ -49,7 +52,6 @@ namespace MediaBrowser.MediaEncoding.Subtitles
                     trackInfo.TrackEvents.Add(subEvent);
                 }
             }
-            RemoteNativeFormatting(trackInfo);
             return trackInfo;
         }
 
@@ -74,46 +76,43 @@ namespace MediaBrowser.MediaEncoding.Subtitles
         /// <summary>
         /// Credit: https://github.com/SubtitleEdit/subtitleedit/blob/master/src/Logic/SubtitleFormats/AdvancedSubStationAlpha.cs
         /// </summary>
-        private void RemoteNativeFormatting(SubtitleTrackInfo subtitle)
+        private void RemoteNativeFormatting(SubtitleTrackEvent p)
         {
-            foreach (var p in subtitle.TrackEvents)
+            int indexOfBegin = p.Text.IndexOf('{');
+            string pre = string.Empty;
+            while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
             {
-                int indexOfBegin = p.Text.IndexOf('{');
-                string pre = string.Empty;
-                while (indexOfBegin >= 0 && p.Text.IndexOf('}') > indexOfBegin)
+                string s = p.Text.Substring(indexOfBegin);
+                if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an9}", StringComparison.Ordinal))
                 {
-                    string s = p.Text.Substring(indexOfBegin);
-                    if (s.StartsWith("{\\an1}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an2}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an3}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an4}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an5}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an6}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an7}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an8}", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an9}", StringComparison.Ordinal))
-                    {
-                        pre = s.Substring(0, 6);
-                    }
-                    else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
-                        s.StartsWith("{\\an9\\", StringComparison.Ordinal))
-                    {
-                        pre = s.Substring(0, 5) + "}";
-                    }
-                    int indexOfEnd = p.Text.IndexOf('}');
-                    p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
-
-                    indexOfBegin = p.Text.IndexOf('{');
+                    pre = s.Substring(0, 6);
                 }
-                p.Text = pre + p.Text;
+                else if (s.StartsWith("{\\an1\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an2\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an3\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an4\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an5\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an6\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an7\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an8\\", StringComparison.Ordinal) ||
+                    s.StartsWith("{\\an9\\", StringComparison.Ordinal))
+                {
+                    pre = s.Substring(0, 5) + "}";
+                }
+                int indexOfEnd = p.Text.IndexOf('}');
+                p.Text = p.Text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
+
+                indexOfBegin = p.Text.IndexOf('{');
             }
+            p.Text = pre + p.Text;
         }
     }
 }

+ 7 - 7
MediaBrowser.Model/Dlna/Profiles/DefaultProfile.cs

@@ -13,13 +13,13 @@ namespace MediaBrowser.Model.Dlna.Profiles
 
             XDlnaDoc = "DMS-1.50";
 
-            FriendlyName = "Media Browser";
-            Manufacturer = "Media Browser";
-            ModelDescription = "Media Browser";
-            ModelName = "Media Browser";
-            ModelNumber = "Media Browser";
-            ModelUrl = "http://mediabrowser.tv/";
-            ManufacturerUrl = "http://mediabrowser.tv/";
+            FriendlyName = "Emby";
+            Manufacturer = "Emby";
+            ModelDescription = "Emby";
+            ModelName = "Emby";
+            ModelNumber = "Emby";
+            ModelUrl = "http://emby.media/";
+            ManufacturerUrl = "http://emby.media/";
 
             AlbumArtPn = "JPEG_SM";
 

+ 3 - 3
MediaBrowser.Server.Implementations/Connect/ConnectManager.cs

@@ -150,7 +150,7 @@ namespace MediaBrowser.Server.Implementations.Connect
 
             if (string.IsNullOrWhiteSpace(wanApiAddress))
             {
-                _logger.Warn("Cannot update Media Browser Connect information without a WanApiAddress");
+                _logger.Warn("Cannot update Emby Connect information without a WanApiAddress");
                 return;
             }
 
@@ -411,7 +411,7 @@ namespace MediaBrowser.Server.Implementations.Connect
 
             if (!connectUser.IsActive)
             {
-                throw new ArgumentException("The Media Browser account has been disabled.");
+                throw new ArgumentException("The Emby account has been disabled.");
             }
 
             var user = GetUser(userId);
@@ -517,7 +517,7 @@ namespace MediaBrowser.Server.Implementations.Connect
 
                 if (!connectUser.IsActive)
                 {
-                    throw new ArgumentException("The Media Browser account has been disabled.");
+                    throw new ArgumentException("The Emby account has been disabled.");
                 }
 
                 connectUserId = connectUser.Id;

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

@@ -389,7 +389,7 @@ namespace MediaBrowser.Server.Implementations.EntryPoints.Notifications
             var notification = new NotificationRequest
             {
                 UserIds = new List<string> { e.Argument.Id.ToString("N") },
-                Name = "Welcome to Media Browser!",
+                Name = "Welcome to Emby!",
                 Description = "Check back here for more notifications."
             };
 

+ 4 - 1
MediaBrowser.Server.Implementations/HttpServer/Security/SessionContext.cs

@@ -28,7 +28,10 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
             if (!string.IsNullOrWhiteSpace(authorization.Token))
             {
                 var auth = GetTokenInfo(requestContext);
-                return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version);
+                if (auth != null)
+                {
+                    return _sessionManager.GetSessionByAuthenticationToken(auth, authorization.DeviceId, requestContext.RemoteIp, authorization.Version);
+                }
             }
 
             var session = _sessionManager.GetSession(authorization.DeviceId, authorization.Client, authorization.Version);

+ 8 - 3
MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs

@@ -1111,13 +1111,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv
 
             var numComplete = 0;
 
-            foreach (var program in list)
+            foreach (var programId in list)
             {
                 cancellationToken.ThrowIfCancellationRequested();
 
-                if (!currentIdList.Contains(program.Id))
+                if (!currentIdList.Contains(new Guid(programId)))
                 {
-                    await _libraryManager.DeleteItem(program).ConfigureAwait(false);
+                    var program = _libraryManager.GetItemById(programId);
+
+                    if (program != null)
+                    {
+                        await _libraryManager.DeleteItem(program).ConfigureAwait(false);
+                    }
                 }
 
                 numComplete++;

+ 1 - 1
MediaBrowser.Server.Implementations/Localization/Server/server.json

@@ -16,7 +16,7 @@
     "LabelNext": "Next",
     "LabelYoureDone": "You're Done!",
     "WelcomeToMediaBrowser": "Welcome to Media Browser!",
-    "TitleMediaBrowser": "Media Browser",
+    "TitleMediaBrowser": "Emby",
     "ThisWizardWillGuideYou": "This wizard will help guide you through the setup process. To begin, please select your preferred language.",
     "TellUsAboutYourself": "Tell us about yourself",
     "ButtonQuickStartGuide": "Quick start guide",

+ 3 - 3
MediaBrowser.Server.Implementations/Notifications/CoreNotificationTypes.cs

@@ -27,7 +27,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
                 {
                      Type = NotificationType.ApplicationUpdateInstalled.ToString(),
                      DefaultDescription = "{ReleaseNotes}",
-                     DefaultTitle = "A new version of Media Browser Server has been installed.",
+                     DefaultTitle = "A new version of Emby Server has been installed.",
                      Variables = new List<string>{"Version"}
                 },
 
@@ -71,7 +71,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
                 new NotificationTypeInfo
                 {
                      Type = NotificationType.ServerRestartRequired.ToString(),
-                     DefaultTitle = "Please restart Media Browser Server to finish updating."
+                     DefaultTitle = "Please restart Emby Server to finish updating."
                 },
 
                 new NotificationTypeInfo
@@ -158,7 +158,7 @@ namespace MediaBrowser.Server.Implementations.Notifications
                 knownTypes.Add(new NotificationTypeInfo
                 {
                     Type = NotificationType.ApplicationUpdateAvailable.ToString(),
-                    DefaultTitle = "A new version of Media Browser Server is available for download."
+                    DefaultTitle = "A new version of Emby Server is available for download."
                 });
             }
 

+ 3 - 8
MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs

@@ -522,7 +522,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
             }
         }
         
-        public IEnumerable<BaseItem> GetItemsOfType(Type type)
+        public IEnumerable<string> GetItemsOfType(Type type)
         {
             if (type == null)
             {
@@ -533,7 +533,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
             
             using (var cmd = _connection.CreateCommand())
             {
-                cmd.CommandText = "select type,data from TypedBaseItems where type = @type";
+                cmd.CommandText = "select guid from TypedBaseItems where type = @type";
 
                 cmd.Parameters.Add(cmd, "@type", DbType.String).Value = type.FullName;
 
@@ -541,12 +541,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
                 {
                     while (reader.Read())
                     {
-                        var item = GetItem(reader);
-
-                        if (item != null)
-                        {
-                            yield return item;
-                        }
+                        yield return reader.GetString(0);
                     }
                 }
             }

+ 1 - 1
MediaBrowser.Server.Implementations/ScheduledTasks/SystemUpdateTask.cs

@@ -108,7 +108,7 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks
             }
             else
             {
-                Logger.Info("A new version of Media Browser is available.");
+                Logger.Info("A new version of " + _appHost.Name + " is available.");
             }
 
             progress.Report(100);

+ 4 - 0
MediaBrowser.Server.Implementations/Session/HttpSessionController.cs

@@ -43,6 +43,10 @@ namespace MediaBrowser.Server.Implementations.Session
             ResetPingTimer();
         }
 
+        public void OnActivity()
+        {
+        }
+
         private string PostUrl
         {
             get

+ 29 - 19
MediaBrowser.Server.Implementations/Session/SessionManager.cs

@@ -236,34 +236,44 @@ namespace MediaBrowser.Server.Implementations.Session
             }
 
             var activityDate = DateTime.UtcNow;
-
             var session = await GetSessionInfo(appName, appVersion, deviceId, deviceName, remoteEndPoint, user).ConfigureAwait(false);
-
+            var lastActivityDate = session.LastActivityDate;
             session.LastActivityDate = activityDate;
 
-            if (user == null)
+            if (user != null)
             {
-                return session;
-            }
-
-            var lastActivityDate = user.LastActivityDate;
+                var userLastActivityDate = user.LastActivityDate ?? DateTime.MinValue;
+                user.LastActivityDate = activityDate;
 
-            user.LastActivityDate = activityDate;
+                // Don't log in the db anymore frequently than 10 seconds
+                if ((activityDate - userLastActivityDate).TotalSeconds > 10)
+                {
+                    try
+                    {
+                        // Save this directly. No need to fire off all the events for this.
+                        await _userRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false);
+                    }
+                    catch (Exception ex)
+                    {
+                        _logger.ErrorException("Error updating user", ex);
+                    }
+                }
+            }
 
-            // Don't log in the db anymore frequently than 10 seconds
-            if (lastActivityDate.HasValue && (activityDate - lastActivityDate.Value).TotalSeconds < 10)
+            if ((activityDate - lastActivityDate).TotalSeconds > 10)
             {
-                return session;
-            }
+                EventHelper.FireEventIfNotNull(SessionActivity, this, new SessionEventArgs
+                {
+                    SessionInfo = session
 
-            // Save this directly. No need to fire off all the events for this.
-            await _userRepository.SaveUser(user, CancellationToken.None).ConfigureAwait(false);
+                }, _logger);
+            }
 
-            EventHelper.FireEventIfNotNull(SessionActivity, this, new SessionEventArgs
+            var controller = session.SessionController;
+            if (controller != null)
             {
-                SessionInfo = session
-
-            }, _logger);
+                controller.OnActivity();
+            }
 
             return session;
         }
@@ -1680,7 +1690,7 @@ namespace MediaBrowser.Server.Implementations.Session
                 deviceId = info.DeviceId;
             }
 
-            return GetSessionInfo(appName, appVersion, deviceId, deviceName, remoteEndpoint, user);
+            return LogSessionActivity(appName, appVersion, deviceId, deviceName, remoteEndpoint, user);
         }
 
         public Task<SessionInfo> GetSessionByAuthenticationToken(string token, string deviceId, string remoteEndpoint)

+ 16 - 3
MediaBrowser.Server.Implementations/Session/WebSocketController.cs

@@ -30,17 +30,28 @@ namespace MediaBrowser.Server.Implementations.Session
             Sockets = new List<IWebSocketConnection>();
         }
 
+        private bool HasOpenSockets
+        {
+            get { return GetActiveSockets().Any(); }
+        }
+
+        public bool SupportsMediaControl
+        {
+            get { return HasOpenSockets; }
+        }
+
+        private bool _isActive;
         public bool IsSessionActive
         {
             get
             {
-                return Sockets.Any(i => i.State == WebSocketState.Open);
+                return _isActive;
             }
         }
 
-        public bool SupportsMediaControl
+        public void OnActivity()
         {
-            get { return GetActiveSockets().Any(); }
+            _isActive = true;
         }
 
         private IEnumerable<IWebSocketConnection> GetActiveSockets()
@@ -64,6 +75,8 @@ namespace MediaBrowser.Server.Implementations.Session
         {
             if (!GetActiveSockets().Any())
             {
+                _isActive = false;
+
                 try
                 {
                     _sessionManager.ReportSessionEnded(Session.Id);

+ 1 - 1
MediaBrowser.Server.Startup.Common/ApplicationHost.cs

@@ -432,7 +432,7 @@ namespace MediaBrowser.Server.Startup.Common
 
             RegisterSingleInstance<ISearchEngine>(() => new SearchEngine(LogManager, LibraryManager, UserManager));
 
-            HttpServer = ServerFactory.CreateServer(this, LogManager, "Media Browser", "web/index.html");
+            HttpServer = ServerFactory.CreateServer(this, LogManager, "Emby", "web/index.html");
             RegisterSingleInstance(HttpServer, false);
             progress.Report(10);
 

+ 2 - 2
MediaBrowser.ServerApplication/ServerNotifyIcon.cs

@@ -75,7 +75,7 @@ namespace MediaBrowser.ServerApplication
             // 
             notifyIcon1.ContextMenuStrip = contextMenuStrip1;
             notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
-            notifyIcon1.Text = "Media Browser";
+            notifyIcon1.Text = "Emby";
             notifyIcon1.Visible = true;
             // 
             // contextMenuStrip1
@@ -162,7 +162,7 @@ namespace MediaBrowser.ServerApplication
 
             if (_appHost.IsFirstRun)
             {
-                Action action = () => notifyIcon1.ShowBalloonTip(5000, "Media Browser", "Welcome to Media Browser Server!", ToolTipIcon.Info);
+                Action action = () => notifyIcon1.ShowBalloonTip(5000, "Emby", "Welcome to Emby Server!", ToolTipIcon.Info);
 
                 contextMenuStrip1.Invoke(action);
             }

+ 2 - 2
MediaBrowser.ServerApplication/Splash/SplashForm.Designer.cs

@@ -123,7 +123,7 @@
             this.lblStatus.Name = "lblStatus";
             this.lblStatus.Size = new System.Drawing.Size(469, 59);
             this.lblStatus.TabIndex = 0;
-            this.lblStatus.Text = "Loading Media Browser";
+            this.lblStatus.Text = "Loading Emby Server";
             this.lblStatus.UseWaitCursor = true;
             // 
             // panel1
@@ -162,7 +162,7 @@
             this.Name = "SplashForm";
             this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
-            this.Text = "Media Browser";
+            this.Text = "Emby";
             this.UseWaitCursor = true;
             this.panelMainContainer.ResumeLayout(false);
             this.panel2.ResumeLayout(false);

+ 1 - 3
MediaBrowser.WebDashboard/Api/PackageCreator.cs

@@ -180,11 +180,9 @@ namespace MediaBrowser.WebDashboard.Api
             sb.Append("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\">");
             //sb.Append("<meta name=\"apple-mobile-web-app-capable\" content=\"yes\">");
             sb.Append("<meta name=\"mobile-web-app-capable\" content=\"yes\">");
-            sb.Append("<meta name=\"application-name\" content=\"Media Browser\">");
+            sb.Append("<meta name=\"application-name\" content=\"Emby\">");
             //sb.Append("<meta name=\"apple-mobile-web-app-status-bar-style\" content=\"black-translucent\">");
 
-            sb.Append("<meta name=\"application-name\" content=\"Media Browser\">");
-
             sb.Append("<meta name=\"robots\" content=\"noindex, nofollow, noarchive\" />");
 
             // http://developer.apple.com/library/ios/#DOCUMENTATION/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

+ 1 - 1
MediaBrowser.XbmcMetadata/Images/XbmcImageSaver.cs

@@ -266,7 +266,7 @@ namespace MediaBrowser.XbmcMetadata.Images
 
         public string Name
         {
-            get { return "Media Browser/Plex/Xbmc Images"; }
+            get { return "Emby/Plex/Xbmc Images"; }
         }
     }
 }