|  | @@ -58,7 +58,12 @@ namespace MediaBrowser.Api
 | 
	
		
			
				|  |  |              dto.BackdropCount = item.BackdropImagePaths == null ? 0 : item.BackdropImagePaths.Count();
 | 
	
		
			
				|  |  |              dto.DateCreated = item.DateCreated;
 | 
	
		
			
				|  |  |              dto.DisplayMediaType = item.DisplayMediaType;
 | 
	
		
			
				|  |  | -            dto.Genres = item.Genres;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (item.Genres != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                dto.Genres = item.Genres.ToArray();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  |              dto.HasArt = !string.IsNullOrEmpty(item.ArtImagePath);
 | 
	
		
			
				|  |  |              dto.HasBanner = !string.IsNullOrEmpty(item.BannerImagePath);
 | 
	
		
			
				|  |  |              dto.HasLogo = !string.IsNullOrEmpty(item.LogoImagePath);
 | 
	
	
		
			
				|  | @@ -102,7 +107,12 @@ namespace MediaBrowser.Api
 | 
	
		
			
				|  |  |              dto.ProviderIds = item.ProviderIds;
 | 
	
		
			
				|  |  |              dto.RunTimeTicks = item.RunTimeTicks;
 | 
	
		
			
				|  |  |              dto.SortName = item.SortName;
 | 
	
		
			
				|  |  | -            dto.Taglines = item.Taglines;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            if (item.Taglines != null)
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +                dto.Taglines = item.Taglines.ToArray();
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              dto.TrailerUrl = item.TrailerUrl;
 | 
	
		
			
				|  |  |              dto.Type = item.GetType().Name;
 | 
	
		
			
				|  |  |              dto.UserRating = item.UserRating;
 | 
	
	
		
			
				|  | @@ -143,10 +153,18 @@ namespace MediaBrowser.Api
 | 
	
		
			
				|  |  |                      Width = video.Width,
 | 
	
		
			
				|  |  |                      Codec = video.Codec,
 | 
	
		
			
				|  |  |                      VideoType = video.VideoType,
 | 
	
		
			
				|  |  | -                    AudioStreams = video.AudioStreams,
 | 
	
		
			
				|  |  | -                    Subtitles = video.Subtitles,
 | 
	
		
			
				|  |  |                      ScanType = video.ScanType
 | 
	
		
			
				|  |  |                  };
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (video.AudioStreams != null)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    dto.VideoInfo.AudioStreams = video.AudioStreams.ToArray();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if (video.Subtitles != null)
 | 
	
		
			
				|  |  | +                {
 | 
	
		
			
				|  |  | +                    dto.VideoInfo.Subtitles = video.Subtitles.ToArray();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -155,23 +173,21 @@ namespace MediaBrowser.Api
 | 
	
		
			
				|  |  |              // Attach Studios by transforming them into BaseItemStudio (DTO)
 | 
	
		
			
				|  |  |              if (item.Studios != null)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                IEnumerable<Studio> entities = await Task.WhenAll<Studio>(item.Studios.Select(c => Kernel.Instance.ItemController.GetStudio(c))).ConfigureAwait(false);
 | 
	
		
			
				|  |  | +                Studio[] entities = await Task.WhenAll<Studio>(item.Studios.Select(c => Kernel.Instance.ItemController.GetStudio(c))).ConfigureAwait(false);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                dto.Studios = item.Studios.Select(s =>
 | 
	
		
			
				|  |  | +                dto.Studios = new BaseItemStudio[entities.Length];
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                for (int i = 0; i < entities.Length; i++)
 | 
	
		
			
				|  |  |                  {
 | 
	
		
			
				|  |  | +                    Studio entity = entities[i];
 | 
	
		
			
				|  |  |                      BaseItemStudio baseItemStudio = new BaseItemStudio();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    baseItemStudio.Name = s;
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                    Studio ibnObject = entities.First(i => i.Name.Equals(s, StringComparison.OrdinalIgnoreCase));
 | 
	
		
			
				|  |  | +                    baseItemStudio.Name = entity.Name;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    if (ibnObject != null)
 | 
	
		
			
				|  |  | -                    {
 | 
	
		
			
				|  |  | -                        baseItemStudio.HasImage = !string.IsNullOrEmpty(ibnObject.PrimaryImagePath);
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | +                    baseItemStudio.HasImage = !string.IsNullOrEmpty(entity.PrimaryImagePath);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                    return baseItemStudio;
 | 
	
		
			
				|  |  | -                }).ToArray();
 | 
	
		
			
				|  |  | +                    dto.Studios[i] = baseItemStudio;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 |