Skip to content

Commit 5f87ada

Browse files
Merge pull request #3244 from MediaBrowser/dev
live tv recording fixes
2 parents 064802c + e3ba674 commit 5f87ada

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+68
-191
lines changed

MediaBrowser.Api/BaseApiService.cs

+6
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,12 @@ public static string[] SplitValue(string value, char delim)
6666
return value.Split(new[] { delim }, StringSplitOptions.RemoveEmptyEntries);
6767
}
6868

69+
public static Guid[] GetGuids(string value)
70+
{
71+
// Unfortunately filtermenu.js was using |. This can be deprecated after a while.
72+
return (value ?? string.Empty).Split(new[] { ',', '|' }, StringSplitOptions.RemoveEmptyEntries).Select(i => new Guid(i)).ToArray();
73+
}
74+
6975
/// <summary>
7076
/// To the optimized result.
7177
/// </summary>

MediaBrowser.Api/LiveTv/LiveTvService.cs

+2-12
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,6 @@ public class GetPrograms : IReturn<QueryResult<BaseItemDto>>, IHasDtoOptions
413413
[ApiMember(Name = "Fields", Description = "Optional. Specify additional fields of information to return in the output. This allows multiple, comma delimeted. Options: Budget, Chapters, DateCreated, Genres, HomePageUrl, IndexOptions, MediaStreams, Overview, ParentId, Path, People, ProviderIds, PrimaryImageAspectRatio, Revenue, SortName, Studios, Taglines", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
414414
public string Fields { get; set; }
415415

416-
public Guid[] GetGuids(string value)
417-
{
418-
return (value ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => new Guid(i)).ToArray();
419-
}
420-
421416
public GetPrograms()
422417
{
423418
EnableTotalRecordCount = true;
@@ -483,11 +478,6 @@ public GetRecommendedPrograms()
483478

484479
[ApiMember(Name = "EnableUserData", Description = "Optional, include user data", IsRequired = false, DataType = "boolean", ParameterType = "query", Verb = "GET")]
485480
public bool? EnableUserData { get; set; }
486-
487-
public Guid[] GetGuids(string value)
488-
{
489-
return (value ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => new Guid(i)).ToArray();
490-
}
491481
}
492482

493483
[Route("/LiveTv/Programs/{Id}", "GET", Summary = "Gets a live tv program")]
@@ -1046,7 +1036,7 @@ public async Task<object> Get(GetPrograms request)
10461036
query.IsSports = request.IsSports;
10471037
query.SeriesTimerId = request.SeriesTimerId;
10481038
query.Genres = (request.Genres ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
1049-
query.GenreIds = request.GetGuids(request.GenreIds);
1039+
query.GenreIds = GetGuids(request.GenreIds);
10501040

10511041
if (!string.IsNullOrWhiteSpace(request.LibrarySeriesId))
10521042
{
@@ -1080,7 +1070,7 @@ public object Get(GetRecommendedPrograms request)
10801070
EnableTotalRecordCount = request.EnableTotalRecordCount
10811071
};
10821072

1083-
query.GenreIds = request.GetGuids(request.GenreIds);
1073+
query.GenreIds = GetGuids(request.GenreIds);
10841074

10851075
var result = _liveTvManager.GetRecommendedPrograms(query, GetDtoOptions(_authContext, request), CancellationToken.None);
10861076

MediaBrowser.Api/SimilarItemsHelper.cs

+1-6
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,6 @@ public class BaseGetSimilarItemsFromItem : BaseGetSimilarItems
2828
public string Id { get; set; }
2929

3030
public string ExcludeArtistIds { get; set; }
31-
32-
public Guid[] GetGuids(string value)
33-
{
34-
return (value ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => new Guid(i)).ToArray();
35-
}
3631
}
3732

3833
public class BaseGetSimilarItems : IReturn<QueryResult<BaseItemDto>>, IHasDtoOptions
@@ -94,7 +89,7 @@ internal static QueryResult<BaseItemDto> GetSimilarItemsResult(DtoOptions dtoOpt
9489
// ExcludeArtistIds
9590
if (!string.IsNullOrEmpty(request.ExcludeArtistIds))
9691
{
97-
query.ExcludeArtistIds = request.GetGuids(request.ExcludeArtistIds);
92+
query.ExcludeArtistIds = BaseApiService.GetGuids(request.ExcludeArtistIds);
9893
}
9994

10095
var inputItems = libraryManager.GetItemList(query);

MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ protected QueryResult<BaseItemDto> GetResultSlim(GetItemsByName request)
123123
Tags = request.GetTags(),
124124
OfficialRatings = request.GetOfficialRatings(),
125125
Genres = request.GetGenres(),
126-
GenreIds = request.GetGenreIds(),
127-
StudioIds = request.GetStudioIds(),
126+
GenreIds = GetGuids(request.GenreIds),
127+
StudioIds = GetGuids(request.StudioIds),
128128
Person = request.Person,
129-
PersonIds = request.GetPersonIds(),
129+
PersonIds = GetGuids(request.PersonIds),
130130
PersonTypes = request.GetPersonTypes(),
131131
Years = request.GetYears(),
132132
MinCommunityRating = request.MinCommunityRating,

MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs

-35
Original file line numberDiff line numberDiff line change
@@ -366,16 +366,6 @@ public string[] GetIncludeItemTypes()
366366
return (IncludeItemTypes ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
367367
}
368368

369-
public Guid[] GetGuids(string value)
370-
{
371-
return (value ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(i => new Guid(i)).ToArray();
372-
}
373-
374-
public Guid[] GetExcludeItemIds()
375-
{
376-
return GetGuids(ExcludeItemIds);
377-
}
378-
379369
public string[] GetExcludeItemTypes()
380370
{
381371
return (ExcludeItemTypes ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
@@ -391,36 +381,11 @@ public string[] GetStudios()
391381
return (Studios ?? string.Empty).Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
392382
}
393383

394-
public Guid[] GetArtistIds()
395-
{
396-
return GetGuids(ArtistIds);
397-
}
398-
399-
public Guid[] GetStudioIds()
400-
{
401-
return GetGuids(StudioIds);
402-
}
403-
404-
public Guid[] GetGenreIds()
405-
{
406-
return GetGuids(GenreIds);
407-
}
408-
409384
public string[] GetPersonTypes()
410385
{
411386
return (PersonTypes ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
412387
}
413388

414-
public Guid[] GetPersonIds()
415-
{
416-
return GetGuids(PersonIds);
417-
}
418-
419-
public Guid[] GetItemIds()
420-
{
421-
return GetGuids(Ids);
422-
}
423-
424389
public VideoType[] GetVideoTypes()
425390
{
426391
var val = VideoTypes;

MediaBrowser.Api/UserLibrary/ItemsService.cs

+8-8
Original file line numberDiff line numberDiff line change
@@ -287,17 +287,17 @@ private InternalItemsQuery GetItemsQuery(GetItems request, DtoOptions dtoOptions
287287
Tags = request.GetTags(),
288288
OfficialRatings = request.GetOfficialRatings(),
289289
Genres = request.GetGenres(),
290-
ArtistIds = request.GetArtistIds(),
291-
GenreIds = request.GetGenreIds(),
292-
StudioIds = request.GetStudioIds(),
290+
ArtistIds = GetGuids(request.ArtistIds),
291+
GenreIds = GetGuids(request.GenreIds),
292+
StudioIds = GetGuids(request.StudioIds),
293293
Person = request.Person,
294-
PersonIds = request.GetPersonIds(),
294+
PersonIds = GetGuids(request.PersonIds),
295295
PersonTypes = request.GetPersonTypes(),
296296
Years = request.GetYears(),
297297
ImageTypes = request.GetImageTypes(),
298298
VideoTypes = request.GetVideoTypes(),
299299
AdjacentTo = request.AdjacentTo,
300-
ItemIds = request.GetItemIds(),
300+
ItemIds = GetGuids(request.Ids),
301301
MinPlayers = request.MinPlayers,
302302
MaxPlayers = request.MaxPlayers,
303303
MinCommunityRating = request.MinCommunityRating,
@@ -306,7 +306,7 @@ private InternalItemsQuery GetItemsQuery(GetItems request, DtoOptions dtoOptions
306306
ParentIndexNumber = request.ParentIndexNumber,
307307
AiredDuringSeason = request.AiredDuringSeason,
308308
EnableTotalRecordCount = request.EnableTotalRecordCount,
309-
ExcludeItemIds = request.GetExcludeItemIds(),
309+
ExcludeItemIds = GetGuids(request.ExcludeItemIds),
310310
DtoOptions = dtoOptions
311311
};
312312

@@ -427,12 +427,12 @@ private InternalItemsQuery GetItemsQuery(GetItems request, DtoOptions dtoOptions
427427
// ExcludeArtistIds
428428
if (!string.IsNullOrWhiteSpace(request.ExcludeArtistIds))
429429
{
430-
query.ExcludeArtistIds = request.GetGuids(request.ExcludeArtistIds);
430+
query.ExcludeArtistIds = GetGuids(request.ExcludeArtistIds);
431431
}
432432

433433
if (!string.IsNullOrWhiteSpace(request.AlbumIds))
434434
{
435-
query.AlbumIds = request.GetGuids(request.AlbumIds);
435+
query.AlbumIds = GetGuids(request.AlbumIds);
436436
}
437437

438438
// Albums

MediaBrowser.Model/LiveTv/LiveTvOptions.cs

+3-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Collections.Generic;
2-
using MediaBrowser.Model.Dto;
1+
using MediaBrowser.Model.Dto;
32
using System;
43

54
namespace MediaBrowser.Model.LiveTv
@@ -10,8 +9,6 @@ public class LiveTvOptions
109
public string RecordingPath { get; set; }
1110
public string MovieRecordingPath { get; set; }
1211
public string SeriesRecordingPath { get; set; }
13-
public bool EnableRecordingEncoding { get; set; }
14-
public string RecordingEncodingFormat { get; set; }
1512
public bool EnableRecordingSubfolders { get; set; }
1613
public bool EnableOriginalAudioWithEncodedRecordings { get; set; }
1714

@@ -30,8 +27,7 @@ public LiveTvOptions()
3027
{
3128
TunerHosts = new TunerHostInfo[] { };
3229
ListingProviders = new ListingsProviderInfo[] { };
33-
MediaLocationsCreated = new string[] {};
34-
RecordingEncodingFormat = "mkv";
30+
MediaLocationsCreated = new string[] { };
3531
RecordingPostProcessorArguments = "\"{path}\"";
3632
}
3733
}
@@ -86,7 +82,7 @@ public ListingsProviderInfo()
8682
SportsCategories = new string[] { "sports", "basketball", "baseball", "football" };
8783
KidsCategories = new string[] { "kids", "family", "children", "childrens", "disney" };
8884
MovieCategories = new string[] { "movie" };
89-
EnabledTuners = new string[] {};
85+
EnabledTuners = new string[] { };
9086
EnableAllTuners = true;
9187
ChannelMappings = new NameValuePair[] {};
9288
}

MediaBrowser.Model/LiveTv/LiveTvServiceInfo.cs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
using System.Collections.Generic;
1+
using System;
22

33
namespace MediaBrowser.Model.LiveTv
44
{
@@ -48,11 +48,11 @@ public class LiveTvServiceInfo
4848
/// <value><c>true</c> if this instance is visible; otherwise, <c>false</c>.</value>
4949
public bool IsVisible { get; set; }
5050

51-
public LiveTvTunerInfoDto[] Tuners { get; set; }
51+
public string[] Tuners { get; set; }
5252

5353
public LiveTvServiceInfo()
5454
{
55-
Tuners = new LiveTvTunerInfoDto[] { };
55+
Tuners = new string[] { };
5656
}
5757
}
5858
}

MediaBrowser.Model/LiveTv/LiveTvTunerInfoDto.cs

-79
This file was deleted.

MediaBrowser.Model/MediaBrowser.Model.csproj

-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,6 @@
224224
<Compile Include="LiveTv\GuideInfo.cs" />
225225
<Compile Include="LiveTv\LiveTvInfo.cs" />
226226
<Compile Include="LiveTv\LiveTvServiceStatus.cs" />
227-
<Compile Include="LiveTv\LiveTvTunerInfoDto.cs" />
228227
<Compile Include="LiveTv\LiveTvTunerStatus.cs" />
229228
<Compile Include="LiveTv\ProgramAudio.cs" />
230229
<Compile Include="LiveTv\ProgramQuery.cs" />

MediaBrowser.Providers/Manager/ImageSaver.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ item is Person ||
415415
filename = item is MusicAlbum ? "cdart" : "disc";
416416
break;
417417
case ImageType.Primary:
418-
filename = item is Episode ? _fileSystem.GetFileNameWithoutExtension(item.Path) : folderName;
418+
filename = saveLocally && item is Episode ? _fileSystem.GetFileNameWithoutExtension(item.Path) : folderName;
419419
break;
420420
case ImageType.Backdrop:
421421
filename = GetBackdropSaveFilename(item.GetImages(type), "backdrop", "backdrop", imageIndex);

MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ public List<MediaStream> GetExternalSubtitleStreams(Video video,
4040
{
4141
var streams = new List<MediaStream>();
4242

43+
if (!video.IsFileProtocol)
44+
{
45+
return streams;
46+
}
47+
4348
GetExternalSubtitleStreams(streams, video.ContainingFolderPath, video.Path, startIndex, directoryService, clearCache);
4449

4550
startIndex += streams.Count;
@@ -62,7 +67,7 @@ public List<string> GetExternalSubtitleFiles(Video video,
6267
{
6368
var list = new List<string>();
6469

65-
if (!video.SupportsLocalMetadata)
70+
if (!video.IsFileProtocol)
6671
{
6772
return list;
6873
}

MediaBrowser.WebDashboard/dashboard-ui/appservices.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
<div class="content-primary">
55

66
<div class="verticalSection">
7-
<h2 class="detailSectionHeader sectionTitle">${HeaderInstalledServices}</h2>
7+
<h2 class="sectionTitle sectionTitle-cards">${HeaderInstalledServices}</h2>
88
<div class="installedPlugins"></div>
99
</div>
1010
<div class="verticalSection">
11-
<h2 class="detailSectionHeader sectionTitle">${HeaderAvailableServices}</h2>
11+
<h2 class="sectionTitle sectionTitle-cards">${HeaderAvailableServices}</h2>
1212
<div class="catalog"></div>
1313
</div>
1414
</div>

0 commit comments

Comments
 (0)