aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Dlna
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-17 01:38:13 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-08-17 01:38:13 -0400
commitcd1f09716713179e0be4124e73d84d7de6ba1bf5 (patch)
tree584468d982102238489a29abcca3129e769dadc9 /MediaBrowser.Model/Dlna
parente2219020883bc36d9a8ba152db1b25b639ec3b45 (diff)
re-enable chromecast
Diffstat (limited to 'MediaBrowser.Model/Dlna')
-rw-r--r--MediaBrowser.Model/Dlna/SearchCriteria.cs42
-rw-r--r--MediaBrowser.Model/Dlna/SearchType.cs3
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