mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	Fixed disabled providers not beeing returned
This commit is contained in:
		
							parent
							
								
									c6629aebf8
								
							
						
					
					
						commit
						312ff4f3d8
					
				@ -141,6 +141,19 @@ public class MediaSegmentManager : IMediaSegmentManager
 | 
				
			|||||||
    /// <inheritdoc />
 | 
					    /// <inheritdoc />
 | 
				
			||||||
    public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter)
 | 
					    public async Task<IEnumerable<MediaSegmentDto>> GetSegmentsAsync(Guid itemId, IEnumerable<MediaSegmentType>? typeFilter)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        var baseItem = _libraryManager.GetItemById(itemId);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if (baseItem is null)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _logger.LogError("Tried to request segments for an invalid item");
 | 
				
			||||||
 | 
					            return [];
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var libraryOptions = _libraryManager.GetLibraryOptions(baseItem);
 | 
				
			||||||
 | 
					        var providers = _segmentProviders
 | 
				
			||||||
 | 
					            .Where(e => !libraryOptions.DisabledMediaSegmentProviders.Contains(GetProviderId(e.Name)))
 | 
				
			||||||
 | 
					            .ToArray();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        using var db = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
 | 
					        using var db = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        var query = db.MediaSegments
 | 
					        var query = db.MediaSegments
 | 
				
			||||||
@ -151,6 +164,9 @@ public class MediaSegmentManager : IMediaSegmentManager
 | 
				
			|||||||
            query = query.Where(e => typeFilter.Contains(e.Type));
 | 
					            query = query.Where(e => typeFilter.Contains(e.Type));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        var providerIds = providers.Select(f => GetProviderId(f.Name)).ToArray();
 | 
				
			||||||
 | 
					        query = query.Where(e => providerIds.Contains(e.SegmentProviderId));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return query
 | 
					        return query
 | 
				
			||||||
            .OrderBy(e => e.StartTicks)
 | 
					            .OrderBy(e => e.StartTicks)
 | 
				
			||||||
            .AsNoTracking()
 | 
					            .AsNoTracking()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user