diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-17 01:38:13 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-08-17 01:38:13 -0400 |
| commit | cd1f09716713179e0be4124e73d84d7de6ba1bf5 (patch) | |
| tree | 584468d982102238489a29abcca3129e769dadc9 /MediaBrowser.Model/Dlna | |
| parent | e2219020883bc36d9a8ba152db1b25b639ec3b45 (diff) | |
re-enable chromecast
Diffstat (limited to 'MediaBrowser.Model/Dlna')
| -rw-r--r-- | MediaBrowser.Model/Dlna/SearchCriteria.cs | 42 | ||||
| -rw-r--r-- | MediaBrowser.Model/Dlna/SearchType.cs | 3 |
2 files changed, 28 insertions, 17 deletions
diff --git a/MediaBrowser.Model/Dlna/SearchCriteria.cs b/MediaBrowser.Model/Dlna/SearchCriteria.cs index ced8525839..67c1b90422 100644 --- a/MediaBrowser.Model/Dlna/SearchCriteria.cs +++ b/MediaBrowser.Model/Dlna/SearchCriteria.cs @@ -16,24 +16,34 @@ namespace MediaBrowser.Model.Dlna SearchType = SearchType.Unknown; - if (StringHelper.IndexOfIgnoreCase(search, "upnp:class") != -1 && - StringHelper.IndexOfIgnoreCase(search, "derivedfrom") != -1) + String[] factors = StringHelper.RegexSplit(search, "(and|or)"); + foreach (String factor in factors) { - if (StringHelper.IndexOfIgnoreCase(search, "object.item.audioItem") != -1) - { - SearchType = SearchType.Audio; - } - else if (StringHelper.IndexOfIgnoreCase(search, "object.item.imageItem") != -1) - { - SearchType = SearchType.Image; - } - else if (StringHelper.IndexOfIgnoreCase(search, "object.item.videoItem") != -1) - { - SearchType = SearchType.Video; - } - else if (StringHelper.IndexOfIgnoreCase(search, "object.container.playlistContainer") != -1) + String[] subFactors = StringHelper.RegexSplit(factor.Trim().Trim('(').Trim(')').Trim(), "\\s", 3); + + if (subFactors.Length == 3) { - SearchType = SearchType.Playlist; + + if (StringHelper.EqualsIgnoreCase("upnp:class", subFactors[0]) && + (StringHelper.EqualsIgnoreCase("=", subFactors[1]) || StringHelper.EqualsIgnoreCase("derivedfrom", subFactors[1]))) + { + if (StringHelper.EqualsIgnoreCase("\"object.item.imageItem\"", subFactors[2]) || StringHelper.EqualsIgnoreCase("\"object.item.imageItem.photo\"", subFactors[2])) + { + SearchType = SearchType.Image; + } + else if (StringHelper.EqualsIgnoreCase("\"object.item.videoItem\"", subFactors[2])) + { + SearchType = SearchType.Video; + } + else if (StringHelper.EqualsIgnoreCase("\"object.container.playlistContainer\"", subFactors[2])) + { + SearchType = SearchType.Playlist; + } + else if (StringHelper.EqualsIgnoreCase("\"object.container.album.musicAlbum\"", subFactors[2])) + { + SearchType = SearchType.MusicAlbum; + } + } } } } diff --git a/MediaBrowser.Model/Dlna/SearchType.cs b/MediaBrowser.Model/Dlna/SearchType.cs index 68c047603d..27b2078792 100644 --- a/MediaBrowser.Model/Dlna/SearchType.cs +++ b/MediaBrowser.Model/Dlna/SearchType.cs @@ -6,6 +6,7 @@ Audio = 1, Image = 2, Video = 3, - Playlist = 4 + Playlist = 4, + MusicAlbum = 5 } }
\ No newline at end of file |
