| 
					
				 | 
			
			
				@@ -12,9 +12,11 @@ namespace MediaBrowser.Dlna.Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GetGetSystemUpdateIDAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GetSearchCapabilitiesAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GetSortCapabilitiesAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GetSearchAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GetBrowseAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 GetX_GetFeatureListAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                GetXSetBookmarkAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GetXSetBookmarkAction(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                GetBrowseByLetterAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return list; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -88,6 +90,86 @@ namespace MediaBrowser.Dlna.Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return action; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private ServiceAction GetSearchAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var action = new ServiceAction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "Search" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "ContainerID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_ObjectID" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "SearchCriteria", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_SearchCriteria" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "Filter", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Filter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "StartingIndex", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "RequestedCount", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "SortCriteria", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_SortCriteria" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "Result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Result" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "NumberReturned", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "TotalMatches", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "UpdateID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_UpdateID" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return action; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private ServiceAction GetBrowseAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var action = new ServiceAction 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -168,6 +250,93 @@ namespace MediaBrowser.Dlna.Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return action; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        private ServiceAction GetBrowseByLetterAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var action = new ServiceAction 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "X_BrowseByLetter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "ObjectID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_ObjectID" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "BrowseFlag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_BrowseFlag" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "Filter", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Filter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "StartingLetter", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_BrowseLetter" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "RequestedCount", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "SortCriteria", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "in", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_SortCriteria" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "Result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Result" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "NumberReturned", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "TotalMatches", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Count" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "UpdateID", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_UpdateID" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            action.ArgumentList.Add(new Argument 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Name = "StartingIndex", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Direction = "out", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                RelatedStateVariable = "A_ARG_TYPE_Index" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return action; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private ServiceAction GetXSetBookmarkAction() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var action = new ServiceAction 
			 |