internal void SetupUPnPServer() { _CurrentUser = null; _ItemMap = new Dictionary <string, List <string> >(); Logger.Info("UPnP Server Starting"); this._Upnp = new Platinum.UPnP(); if (Plugin.Instance.Configuration.DlnaPortNumber.HasValue) { _PlatinumServer = new Platinum.MediaConnect(Plugin.Instance.Configuration.FriendlyDlnaName, UPnPServerUuid, Plugin.Instance.Configuration.DlnaPortNumber.Value); } else { _PlatinumServer = new Platinum.MediaConnect(Plugin.Instance.Configuration.FriendlyDlnaName, UPnPServerUuid, 0); //Passing zero allows us to set the uuid but still have a randomised port number } _PlatinumServer.BrowseMetadata += server_BrowseMetadata; _PlatinumServer.BrowseDirectChildren += server_BrowseDirectChildren; _PlatinumServer.ProcessFileRequest += server_ProcessFileRequest; _PlatinumServer.SearchContainer += server_SearchContainer; //AddIcons(_PlatinumServer); _Upnp.AddDeviceHost(_PlatinumServer); _Upnp.Start(); Logger.Info("UPnP Server Started"); }
//private void AddIcons(Platinum.MediaConnect server) //{ // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-120.jpeg", "image/jpeg", 120, 120, 24, "images/logo-120.jpeg"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-48.jpeg", "image/jpeg", 48, 48, 24, "images/logo-48.jpeg"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-120.jpeg", "image/png", 120, 120, 24, "images/logo-120.png"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-48.jpeg", "image/png", 48, 48, 24, "images/logo-48.png"); //} //private void AddIcon(Platinum.MediaConnect server, string resourceName, string mimeType, int width, int height, int depth,string urlPath) //{ // byte[] icon; // using (var source = GetType().Assembly.GetManifestResourceStream(resourceName)) // { // var length = (int)source.Length; // icon = new byte[length]; // source.Read(icon, 0, length-1); // source.Close(); // } // server.AddIcon(new Platinum.DeviceIcon(mimeType, width, height, depth, urlPath), icon); //} internal void CleanupUPnPServer() { Logger.Info("UPnP Server Stopping"); if (_Upnp != null && _Upnp.Running) { _Upnp.Stop(); } if (_PlatinumServer != null) { _PlatinumServer.BrowseMetadata -= server_BrowseMetadata; _PlatinumServer.BrowseDirectChildren -= server_BrowseDirectChildren; _PlatinumServer.ProcessFileRequest -= server_ProcessFileRequest; _PlatinumServer.SearchContainer -= server_SearchContainer; _PlatinumServer.Dispose(); _PlatinumServer = null; } if (_Upnp != null) { _Upnp.Dispose(); _Upnp = null; } if (_ItemMap != null) { _ItemMap.Clear(); _ItemMap = null; } Logger.Info("UPnP Server Stopped"); }
internal void SetupUPnPServer() { _CurrentUser = null; _ItemMap = new Dictionary<string, List<string>>(); Logger.Info("UPnP Server Starting"); this._Upnp = new Platinum.UPnP(); if (Plugin.Instance.Configuration.DlnaPortNumber.HasValue) _PlatinumServer = new Platinum.MediaConnect(Plugin.Instance.Configuration.FriendlyDlnaName, UPnPServerUuid, Plugin.Instance.Configuration.DlnaPortNumber.Value); else _PlatinumServer = new Platinum.MediaConnect(Plugin.Instance.Configuration.FriendlyDlnaName, UPnPServerUuid, 0); //Passing zero allows us to set the uuid but still have a randomised port number _PlatinumServer.BrowseMetadata += server_BrowseMetadata; _PlatinumServer.BrowseDirectChildren += server_BrowseDirectChildren; _PlatinumServer.ProcessFileRequest += server_ProcessFileRequest; _PlatinumServer.SearchContainer += server_SearchContainer; //AddIcons(_PlatinumServer); _Upnp.AddDeviceHost(_PlatinumServer); _Upnp.Start(); Logger.Info("UPnP Server Started"); }
//private void AddIcons(Platinum.MediaConnect server) //{ // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-120.jpeg", "image/jpeg", 120, 120, 24, "images/logo-120.jpeg"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-48.jpeg", "image/jpeg", 48, 48, 24, "images/logo-48.jpeg"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-120.jpeg", "image/png", 120, 120, 24, "images/logo-120.png"); // AddIcon(server, "MediaBrowser.Plugins.Dlna.Images.logo-48.jpeg", "image/png", 48, 48, 24, "images/logo-48.png"); //} //private void AddIcon(Platinum.MediaConnect server, string resourceName, string mimeType, int width, int height, int depth,string urlPath) //{ // byte[] icon; // using (var source = GetType().Assembly.GetManifestResourceStream(resourceName)) // { // var length = (int)source.Length; // icon = new byte[length]; // source.Read(icon, 0, length-1); // source.Close(); // } // server.AddIcon(new Platinum.DeviceIcon(mimeType, width, height, depth, urlPath), icon); //} internal void CleanupUPnPServer() { Logger.Info("UPnP Server Stopping"); if (_Upnp != null && _Upnp.Running) _Upnp.Stop(); if (_PlatinumServer != null) { _PlatinumServer.BrowseMetadata -= server_BrowseMetadata; _PlatinumServer.BrowseDirectChildren -= server_BrowseDirectChildren; _PlatinumServer.ProcessFileRequest -= server_ProcessFileRequest; _PlatinumServer.SearchContainer -= server_SearchContainer; _PlatinumServer.Dispose(); _PlatinumServer = null; } if (_Upnp != null) { _Upnp.Dispose(); _Upnp = null; } if (_ItemMap != null) { _ItemMap.Clear(); _ItemMap = null; } Logger.Info("UPnP Server Stopped"); }