mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-11 04:42:18 +01:00
@@ -1,8 +0,0 @@
|
||||
namespace MediaBrowser.Model.Chapters
|
||||
{
|
||||
public class ChapterProviderInfo
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Id { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
|
||||
namespace MediaBrowser.Model.Chapters
|
||||
{
|
||||
public class RemoteChapterInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the start position ticks.
|
||||
/// </summary>
|
||||
/// <value>The start position ticks.</value>
|
||||
public long StartPositionTicks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name.
|
||||
/// </summary>
|
||||
/// <value>The name.</value>
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
|
||||
namespace MediaBrowser.Model.Chapters
|
||||
{
|
||||
public class RemoteChapterResult
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets or sets the identifier.
|
||||
/// </summary>
|
||||
/// <value>The identifier.</value>
|
||||
public string Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the run time ticks.
|
||||
/// </summary>
|
||||
/// <value>The run time ticks.</value>
|
||||
public long? RunTimeTicks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name.
|
||||
/// </summary>
|
||||
/// <value>The name.</value>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name of the provider.
|
||||
/// </summary>
|
||||
/// <value>The name of the provider.</value>
|
||||
public string ProviderName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the community rating.
|
||||
/// </summary>
|
||||
/// <value>The community rating.</value>
|
||||
public float? CommunityRating { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the chapter count.
|
||||
/// </summary>
|
||||
/// <value>The chapter count.</value>
|
||||
public int? ChapterCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name of the three letter iso language.
|
||||
/// </summary>
|
||||
/// <value>The name of the three letter iso language.</value>
|
||||
public string ThreeLetterISOLanguageName { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
|
||||
namespace MediaBrowser.Model.Configuration
|
||||
{
|
||||
public enum AutoOnOff
|
||||
{
|
||||
Auto,
|
||||
Enabled,
|
||||
Disabled
|
||||
}
|
||||
}
|
||||
@@ -6,20 +6,6 @@
|
||||
public bool EnableEpisodeChapterImageExtraction { get; set; }
|
||||
public bool EnableOtherVideoChapterImageExtraction { get; set; }
|
||||
|
||||
public bool DownloadMovieChapters { get; set; }
|
||||
public bool DownloadEpisodeChapters { get; set; }
|
||||
|
||||
public string[] FetcherOrder { get; set; }
|
||||
public string[] DisabledFetchers { get; set; }
|
||||
|
||||
public bool ExtractDuringLibraryScan { get; set; }
|
||||
|
||||
public ChapterOptions()
|
||||
{
|
||||
DownloadMovieChapters = true;
|
||||
|
||||
DisabledFetchers = new string[] { };
|
||||
FetcherOrder = new string[] { };
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,6 @@ namespace MediaBrowser.Model.Configuration
|
||||
public int ClientDiscoveryIntervalSeconds { get; set; }
|
||||
public int BlastAliveMessageIntervalSeconds { get; set; }
|
||||
public string DefaultUserId { get; set; }
|
||||
public bool EnableMovieFolders { get; set; }
|
||||
|
||||
public DlnaOptions()
|
||||
{
|
||||
|
||||
@@ -8,11 +8,24 @@
|
||||
public int SchemaVersion { get; set; }
|
||||
public bool EnableChapterImageExtraction { get; set; }
|
||||
public bool ExtractChapterImagesDuringLibraryScan { get; set; }
|
||||
public bool DownloadImagesInAdvance { get; set; }
|
||||
public MediaPathInfo[] PathInfos { get; set; }
|
||||
|
||||
public bool SaveLocalMetadata { get; set; }
|
||||
public bool EnableInternetProviders { get; set; }
|
||||
|
||||
public LibraryOptions()
|
||||
{
|
||||
EnablePhotos = true;
|
||||
EnableRealtimeMonitor = true;
|
||||
PathInfos = new MediaPathInfo[] { };
|
||||
EnableInternetProviders = true;
|
||||
}
|
||||
}
|
||||
|
||||
public class MediaPathInfo
|
||||
{
|
||||
public string Path { get; set; }
|
||||
public string NetworkPath { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,6 +73,7 @@ namespace MediaBrowser.Model.Configuration
|
||||
/// </summary>
|
||||
/// <value>The metadata path.</value>
|
||||
public string MetadataPath { get; set; }
|
||||
public string MetadataNetworkPath { get; set; }
|
||||
|
||||
public string LastVersion { get; set; }
|
||||
|
||||
@@ -167,6 +168,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
public MetadataOptions[] MetadataOptions { get; set; }
|
||||
|
||||
public bool EnableAutomaticRestart { get; set; }
|
||||
public bool SkipDeserializationForBasicTypes { get; set; }
|
||||
public bool SkipDeserializationForPrograms { get; set; }
|
||||
|
||||
public PathSubstitution[] PathSubstitutions { get; set; }
|
||||
|
||||
@@ -183,8 +186,6 @@ namespace MediaBrowser.Model.Configuration
|
||||
|
||||
public int RemoteClientBitrateLimit { get; set; }
|
||||
|
||||
public AutoOnOff EnableLibraryMonitor { get; set; }
|
||||
|
||||
public int SharingExpirationDays { get; set; }
|
||||
|
||||
public string[] Migrations { get; set; }
|
||||
@@ -193,8 +194,6 @@ namespace MediaBrowser.Model.Configuration
|
||||
public int SchemaVersion { get; set; }
|
||||
public int SqliteCacheSize { get; set; }
|
||||
|
||||
public bool DownloadImagesInAdvance { get; set; }
|
||||
|
||||
public bool EnableAnonymousUsageReporting { get; set; }
|
||||
public bool EnableStandaloneMusicKeys { get; set; }
|
||||
public bool EnableLocalizedGuids { get; set; }
|
||||
@@ -206,6 +205,7 @@ namespace MediaBrowser.Model.Configuration
|
||||
public string[] CodecsUsed { get; set; }
|
||||
public bool EnableChannelView { get; set; }
|
||||
public bool EnableExternalContentInSuggestions { get; set; }
|
||||
public bool EnableSimpleArtistDetection { get; set; }
|
||||
|
||||
public int ImageExtractionTimeoutMs { get; set; }
|
||||
/// <summary>
|
||||
@@ -244,7 +244,6 @@ namespace MediaBrowser.Model.Configuration
|
||||
// 5 minutes
|
||||
MinResumeDurationSeconds = 300;
|
||||
|
||||
EnableLibraryMonitor = AutoOnOff.Auto;
|
||||
LibraryMonitorDelay = 60;
|
||||
|
||||
EnableInternetProviders = true;
|
||||
@@ -436,7 +435,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
Limit = 0,
|
||||
Type = ImageType.Disc
|
||||
}
|
||||
}
|
||||
},
|
||||
DisabledMetadataFetchers = new []{ "TheAudioDB" }
|
||||
},
|
||||
|
||||
new MetadataOptions(1, 1280)
|
||||
@@ -474,7 +474,8 @@ namespace MediaBrowser.Model.Configuration
|
||||
Limit = 0,
|
||||
Type = ImageType.Logo
|
||||
}
|
||||
}
|
||||
},
|
||||
DisabledMetadataFetchers = new []{ "TheAudioDB" }
|
||||
},
|
||||
|
||||
new MetadataOptions(1, 1280)
|
||||
|
||||
@@ -20,12 +20,15 @@ namespace MediaBrowser.Model.Dlna
|
||||
int? refFrames,
|
||||
int? numVideoStreams,
|
||||
int? numAudioStreams,
|
||||
string videoCodecTag)
|
||||
string videoCodecTag,
|
||||
bool? isAvc)
|
||||
{
|
||||
switch (condition.Property)
|
||||
{
|
||||
case ProfileConditionValue.IsAnamorphic:
|
||||
return IsConditionSatisfied(condition, isAnamorphic);
|
||||
case ProfileConditionValue.IsAvc:
|
||||
return IsConditionSatisfied(condition, isAvc);
|
||||
case ProfileConditionValue.VideoFramerate:
|
||||
return IsConditionSatisfied(condition, videoFramerate);
|
||||
case ProfileConditionValue.VideoLevel:
|
||||
|
||||
@@ -118,7 +118,8 @@ namespace MediaBrowser.Model.Dlna
|
||||
int? refFrames,
|
||||
int? numVideoStreams,
|
||||
int? numAudioStreams,
|
||||
string videoCodecTag)
|
||||
string videoCodecTag,
|
||||
bool? isAvc)
|
||||
{
|
||||
// first bit means Time based seek supported, second byte range seek supported (not sure about the order now), so 01 = only byte seek, 10 = time based, 11 = both, 00 = none
|
||||
string orgOp = ";DLNA.ORG_OP=" + DlnaMaps.GetOrgOpValue(runtimeTicks.HasValue, isDirectStream, transcodeSeekInfo);
|
||||
@@ -159,7 +160,8 @@ namespace MediaBrowser.Model.Dlna
|
||||
refFrames,
|
||||
numVideoStreams,
|
||||
numAudioStreams,
|
||||
videoCodecTag);
|
||||
videoCodecTag,
|
||||
isAvc);
|
||||
|
||||
List<string> orgPnValues = new List<string>();
|
||||
|
||||
|
||||
@@ -285,7 +285,8 @@ namespace MediaBrowser.Model.Dlna
|
||||
int? refFrames,
|
||||
int? numVideoStreams,
|
||||
int? numAudioStreams,
|
||||
string videoCodecTag)
|
||||
string videoCodecTag,
|
||||
bool? isAvc)
|
||||
{
|
||||
container = StringHelper.TrimStart(container ?? string.Empty, '.');
|
||||
|
||||
@@ -319,7 +320,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
var anyOff = false;
|
||||
foreach (ProfileCondition c in i.Conditions)
|
||||
{
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(c, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag))
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(c, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
|
||||
{
|
||||
anyOff = true;
|
||||
break;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
NumAudioStreams = 16,
|
||||
NumVideoStreams = 17,
|
||||
IsSecondaryAudio = 18,
|
||||
VideoCodecTag = 19
|
||||
VideoCodecTag = 19,
|
||||
IsAvc = 20
|
||||
}
|
||||
}
|
||||
@@ -541,6 +541,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
float? videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
|
||||
bool? isAnamorphic = videoStream == null ? null : videoStream.IsAnamorphic;
|
||||
string videoCodecTag = videoStream == null ? null : videoStream.CodecTag;
|
||||
bool? isAvc = videoStream == null ? null : videoStream.IsAVC;
|
||||
|
||||
TransportStreamTimestamp? timestamp = videoStream == null ? TransportStreamTimestamp.None : item.Timestamp;
|
||||
int? packetLength = videoStream == null ? null : videoStream.PacketLength;
|
||||
@@ -549,7 +550,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
int? numAudioStreams = item.GetStreamCount(MediaStreamType.Audio);
|
||||
int? numVideoStreams = item.GetStreamCount(MediaStreamType.Video);
|
||||
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag))
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
|
||||
{
|
||||
LogConditionFailure(options.Profile, "VideoCodecProfile", applyCondition, item);
|
||||
applyConditions = false;
|
||||
@@ -718,6 +719,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
float? videoFramerate = videoStream == null ? null : videoStream.AverageFrameRate ?? videoStream.AverageFrameRate;
|
||||
bool? isAnamorphic = videoStream == null ? null : videoStream.IsAnamorphic;
|
||||
string videoCodecTag = videoStream == null ? null : videoStream.CodecTag;
|
||||
bool? isAvc = videoStream == null ? null : videoStream.IsAVC;
|
||||
|
||||
int? audioBitrate = audioStream == null ? null : audioStream.BitRate;
|
||||
int? audioChannels = audioStream == null ? null : audioStream.Channels;
|
||||
@@ -733,7 +735,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
// Check container conditions
|
||||
foreach (ProfileCondition i in conditions)
|
||||
{
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(i, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag))
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(i, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
|
||||
{
|
||||
LogConditionFailure(profile, "VideoContainerProfile", i, mediaSource);
|
||||
|
||||
@@ -760,7 +762,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
bool applyConditions = true;
|
||||
foreach (ProfileCondition applyCondition in i.ApplyConditions)
|
||||
{
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag))
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(applyCondition, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
|
||||
{
|
||||
LogConditionFailure(profile, "VideoCodecProfile", applyCondition, mediaSource);
|
||||
applyConditions = false;
|
||||
@@ -780,7 +782,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
|
||||
foreach (ProfileCondition i in conditions)
|
||||
{
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(i, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag))
|
||||
if (!conditionProcessor.IsVideoConditionSatisfied(i, width, height, bitDepth, videoBitrate, videoProfile, videoLevel, videoFramerate, packetLength, timestamp, isAnamorphic, refFrames, numVideoStreams, numAudioStreams, videoCodecTag, isAvc))
|
||||
{
|
||||
LogConditionFailure(profile, "VideoCodecProfile", i, mediaSource);
|
||||
|
||||
|
||||
@@ -215,13 +215,26 @@ namespace MediaBrowser.Model.Dlna
|
||||
list.Add(new NameValuePair("MaxWidth", item.MaxWidth.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxWidth.Value) : string.Empty));
|
||||
list.Add(new NameValuePair("MaxHeight", item.MaxHeight.HasValue ? StringHelper.ToStringCultureInvariant(item.MaxHeight.Value) : string.Empty));
|
||||
|
||||
if (StringHelper.EqualsIgnoreCase(item.SubProtocol, "hls"))
|
||||
var forceStartPosition = false;
|
||||
long startPositionTicks = item.StartPositionTicks;
|
||||
//if (item.MediaSource.DateLiveStreamOpened.HasValue && startPositionTicks == 0)
|
||||
//{
|
||||
// var elapsed = DateTime.UtcNow - item.MediaSource.DateLiveStreamOpened.Value;
|
||||
// elapsed -= TimeSpan.FromSeconds(20);
|
||||
// if (elapsed.TotalSeconds >= 0)
|
||||
// {
|
||||
// startPositionTicks = elapsed.Ticks + startPositionTicks;
|
||||
// forceStartPosition = true;
|
||||
// }
|
||||
//}
|
||||
|
||||
if (StringHelper.EqualsIgnoreCase(item.SubProtocol, "hls") && !forceStartPosition)
|
||||
{
|
||||
list.Add(new NameValuePair("StartTimeTicks", string.Empty));
|
||||
}
|
||||
else
|
||||
{
|
||||
list.Add(new NameValuePair("StartTimeTicks", StringHelper.ToStringCultureInvariant(item.StartPositionTicks)));
|
||||
list.Add(new NameValuePair("StartTimeTicks", StringHelper.ToStringCultureInvariant(startPositionTicks)));
|
||||
}
|
||||
|
||||
list.Add(new NameValuePair("Level", item.VideoLevel.HasValue ? StringHelper.ToStringCultureInvariant(item.VideoLevel.Value) : string.Empty));
|
||||
@@ -663,6 +676,19 @@ namespace MediaBrowser.Model.Dlna
|
||||
}
|
||||
}
|
||||
|
||||
public bool? IsTargetAVC
|
||||
{
|
||||
get
|
||||
{
|
||||
if (IsDirectStream)
|
||||
{
|
||||
return TargetVideoStream == null ? null : TargetVideoStream.IsAVC;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public int? TargetWidth
|
||||
{
|
||||
get
|
||||
|
||||
@@ -169,6 +169,8 @@ namespace MediaBrowser.Model.Dto
|
||||
/// <value>The game system.</value>
|
||||
public string GameSystem { get; set; }
|
||||
|
||||
public string[] ProductionLocations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the critic rating summary.
|
||||
/// </summary>
|
||||
@@ -787,12 +789,6 @@ namespace MediaBrowser.Model.Dto
|
||||
/// <value>The home page URL.</value>
|
||||
public string HomePageUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the production locations.
|
||||
/// </summary>
|
||||
/// <value>The production locations.</value>
|
||||
public List<string> ProductionLocations { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the budget.
|
||||
/// </summary>
|
||||
@@ -826,6 +822,7 @@ namespace MediaBrowser.Model.Dto
|
||||
/// </summary>
|
||||
/// <value>The series count.</value>
|
||||
public int? SeriesCount { get; set; }
|
||||
public int? ProgramCount { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the episode count.
|
||||
/// </summary>
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
/// <value>The game count.</value>
|
||||
public int GameCount { get; set; }
|
||||
public int ArtistCount { get; set; }
|
||||
public int ProgramCount { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the game system count.
|
||||
/// </summary>
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Extensions;
|
||||
using MediaBrowser.Model.MediaInfo;
|
||||
using System.Collections.Generic;
|
||||
@@ -26,7 +27,7 @@ namespace MediaBrowser.Model.Dto
|
||||
public bool SupportsTranscoding { get; set; }
|
||||
public bool SupportsDirectStream { get; set; }
|
||||
public bool SupportsDirectPlay { get; set; }
|
||||
|
||||
public bool IsInfiniteStream { get; set; }
|
||||
public bool RequiresOpening { get; set; }
|
||||
public string OpenToken { get; set; }
|
||||
public bool RequiresClosing { get; set; }
|
||||
@@ -52,7 +53,7 @@ namespace MediaBrowser.Model.Dto
|
||||
public string TranscodingUrl { get; set; }
|
||||
public string TranscodingSubProtocol { get; set; }
|
||||
public string TranscodingContainer { get; set; }
|
||||
|
||||
|
||||
public MediaSourceInfo()
|
||||
{
|
||||
Formats = new List<string>();
|
||||
|
||||
@@ -10,6 +10,8 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// </summary>
|
||||
public string Id { get; set; }
|
||||
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the server identifier.
|
||||
/// </summary>
|
||||
@@ -105,5 +107,6 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if this instance is post padding required; otherwise, <c>false</c>.</value>
|
||||
public bool IsPostPaddingRequired { get; set; }
|
||||
public KeepUntil KeepUntil { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
|
||||
using MediaBrowser.Model.Entities;
|
||||
|
||||
namespace MediaBrowser.Model.LiveTv
|
||||
{
|
||||
/// <summary>
|
||||
@@ -61,9 +62,42 @@ namespace MediaBrowser.Model.LiveTv
|
||||
public bool AddCurrentProgram { get; set; }
|
||||
public bool EnableUserData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used to specific whether to return news or not
|
||||
/// </summary>
|
||||
/// <remarks>If set to null, all programs will be returned</remarks>
|
||||
public bool? IsNews { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used to specific whether to return movies or not
|
||||
/// </summary>
|
||||
/// <remarks>If set to null, all programs will be returned</remarks>
|
||||
public bool? IsMovie { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is kids.
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is kids] contains no value, <c>true</c> if [is kids]; otherwise, <c>false</c>.</value>
|
||||
public bool? IsKids { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is sports.
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is sports] contains no value, <c>true</c> if [is sports]; otherwise, <c>false</c>.</value>
|
||||
public bool? IsSports { get; set; }
|
||||
public bool? IsSeries { get; set; }
|
||||
|
||||
public string[] SortBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The sort order to return results with
|
||||
/// </summary>
|
||||
/// <value>The sort order.</value>
|
||||
public SortOrder? SortOrder { get; set; }
|
||||
|
||||
public LiveTvChannelQuery()
|
||||
{
|
||||
EnableUserData = true;
|
||||
SortBy = new string[] { };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// </summary>
|
||||
/// <value>The user identifier.</value>
|
||||
public string UserId { get; set; }
|
||||
public string SeriesTimerId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The earliest date for which a program starts to return
|
||||
@@ -62,6 +63,12 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// </summary>
|
||||
public DateTime? MaxEndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used to specific whether to return news or not
|
||||
/// </summary>
|
||||
/// <remarks>If set to null, all programs will be returned</remarks>
|
||||
public bool? IsNews { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Used to specific whether to return movies or not
|
||||
/// </summary>
|
||||
@@ -83,6 +90,7 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// Skips over a given number of items within the results. Use for paging.
|
||||
/// </summary>
|
||||
public int? StartIndex { get; set; }
|
||||
public bool? IsSeries { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance has aired.
|
||||
|
||||
@@ -45,11 +45,17 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// <value>The limit.</value>
|
||||
public int? Limit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is movie.
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value>
|
||||
public bool? IsNews { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is movie.
|
||||
/// </summary>
|
||||
/// <value><c>null</c> if [is movie] contains no value, <c>true</c> if [is movie]; otherwise, <c>false</c>.</value>
|
||||
public bool? IsMovie { get; set; }
|
||||
public bool? IsSeries { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance is kids.
|
||||
/// </summary>
|
||||
|
||||
@@ -68,6 +68,7 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// <value>The fields.</value>
|
||||
public ItemFields[] Fields { get; set; }
|
||||
public bool? EnableImages { get; set; }
|
||||
public bool? IsNews { get; set; }
|
||||
public bool? IsMovie { get; set; }
|
||||
public bool? IsSeries { get; set; }
|
||||
public bool? IsKids { get; set; }
|
||||
|
||||
@@ -7,7 +7,6 @@ namespace MediaBrowser.Model.LiveTv
|
||||
Scheduled,
|
||||
InProgress,
|
||||
Completed,
|
||||
Aborted,
|
||||
Cancelled,
|
||||
ConflictedOk,
|
||||
ConflictedNotOk,
|
||||
|
||||
@@ -12,18 +12,29 @@ namespace MediaBrowser.Model.LiveTv
|
||||
[DebuggerDisplay("Name = {Name}")]
|
||||
public class SeriesTimerInfoDto : BaseTimerInfoDto
|
||||
{
|
||||
public SeriesTimerInfoDto()
|
||||
{
|
||||
ImageTags = new Dictionary<ImageType, string>();
|
||||
Days = new List<DayOfWeek>();
|
||||
Type = "SeriesTimer";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether [record any time].
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [record any time]; otherwise, <c>false</c>.</value>
|
||||
public bool RecordAnyTime { get; set; }
|
||||
|
||||
public bool SkipEpisodesInLibrary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether [record any channel].
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [record any channel]; otherwise, <c>false</c>.</value>
|
||||
public bool RecordAnyChannel { get; set; }
|
||||
|
||||
public int KeepUpTo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether [record new only].
|
||||
/// </summary>
|
||||
@@ -58,10 +69,36 @@ namespace MediaBrowser.Model.LiveTv
|
||||
get { return ImageTags != null && ImageTags.ContainsKey(ImageType.Primary); }
|
||||
}
|
||||
|
||||
public SeriesTimerInfoDto()
|
||||
{
|
||||
ImageTags = new Dictionary<ImageType, string>();
|
||||
Days = new List<DayOfWeek>();
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the parent thumb item id.
|
||||
/// </summary>
|
||||
/// <value>The parent thumb item id.</value>
|
||||
public string ParentThumbItemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the parent thumb image tag.
|
||||
/// </summary>
|
||||
/// <value>The parent thumb image tag.</value>
|
||||
public string ParentThumbImageTag { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the parent primary image item identifier.
|
||||
/// </summary>
|
||||
/// <value>The parent primary image item identifier.</value>
|
||||
public string ParentPrimaryImageItemId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the parent primary image tag.
|
||||
/// </summary>
|
||||
/// <value>The parent primary image tag.</value>
|
||||
public string ParentPrimaryImageTag { get; set; }
|
||||
}
|
||||
|
||||
public enum KeepUntil
|
||||
{
|
||||
UntilDeleted,
|
||||
UntilSpaceNeeded,
|
||||
UntilWatched,
|
||||
UntilDate
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,8 +27,6 @@ namespace MediaBrowser.Model.LiveTv
|
||||
/// <value>The external series timer identifier.</value>
|
||||
public string ExternalSeriesTimerId { get; set; }
|
||||
|
||||
public string Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the run time ticks.
|
||||
/// </summary>
|
||||
|
||||
@@ -15,5 +15,7 @@
|
||||
public string SeriesTimerId { get; set; }
|
||||
|
||||
public bool? IsActive { get; set; }
|
||||
|
||||
public bool? IsScheduled { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -84,12 +84,8 @@
|
||||
<Compile Include="Channels\ChannelMediaContentType.cs" />
|
||||
<Compile Include="Channels\ChannelMediaType.cs" />
|
||||
<Compile Include="Channels\ChannelQuery.cs" />
|
||||
<Compile Include="Chapters\ChapterProviderInfo.cs" />
|
||||
<Compile Include="Chapters\RemoteChapterInfo.cs" />
|
||||
<Compile Include="Chapters\RemoteChapterResult.cs" />
|
||||
<Compile Include="Collections\CollectionCreationResult.cs" />
|
||||
<Compile Include="Configuration\AccessSchedule.cs" />
|
||||
<Compile Include="Configuration\AutoOnOff.cs" />
|
||||
<Compile Include="Configuration\ChannelOptions.cs" />
|
||||
<Compile Include="Configuration\ChapterOptions.cs" />
|
||||
<Compile Include="Configuration\CinemaModeConfiguration.cs" />
|
||||
@@ -400,7 +396,6 @@
|
||||
<Compile Include="Updates\CheckForUpdateResult.cs" />
|
||||
<Compile Include="Updates\PackageTargetSystem.cs" />
|
||||
<Compile Include="Updates\InstallationInfo.cs" />
|
||||
<Compile Include="Updates\PackageType.cs" />
|
||||
<Compile Include="Updates\PackageVersionClass.cs" />
|
||||
<Compile Include="Entities\EmptyRequestResult.cs" />
|
||||
<Compile Include="Configuration\UserConfiguration.cs" />
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace MediaBrowser.Model.MediaInfo
|
||||
File = 0,
|
||||
Http = 1,
|
||||
Rtmp = 2,
|
||||
Rtsp = 3
|
||||
Rtsp = 3,
|
||||
Udp = 4
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,6 @@ namespace MediaBrowser.Model.Notifications
|
||||
PluginUpdateInstalled,
|
||||
PluginUninstalled,
|
||||
NewLibraryContent,
|
||||
NewLibraryContentMultiple,
|
||||
ServerRestartRequired,
|
||||
TaskFailed,
|
||||
CameraImageUploaded,
|
||||
|
||||
@@ -32,7 +32,8 @@ namespace MediaBrowser.Model.Providers
|
||||
public string SearchProviderName { get; set; }
|
||||
|
||||
public string GameSystem { get; set; }
|
||||
|
||||
public string Overview { get; set; }
|
||||
|
||||
public RemoteSearchResult()
|
||||
{
|
||||
ProviderIds = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
@@ -130,6 +130,8 @@
|
||||
/// </summary>
|
||||
Metascore,
|
||||
|
||||
OfficialRatingDescription,
|
||||
|
||||
OriginalTitle,
|
||||
|
||||
/// <summary>
|
||||
@@ -258,6 +260,8 @@
|
||||
/// <summary>
|
||||
/// The service name
|
||||
/// </summary>
|
||||
ServiceName
|
||||
ServiceName,
|
||||
ThemeSongIds,
|
||||
ThemeVideoIds
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,8 @@ namespace MediaBrowser.Model.System
|
||||
/// <value>The mac address.</value>
|
||||
public string MacAddress { get; set; }
|
||||
|
||||
public string PackageName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this instance has pending restart.
|
||||
/// </summary>
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace MediaBrowser.Model.Updates
|
||||
/// The internal id of this package.
|
||||
/// </summary>
|
||||
/// <value>The id.</value>
|
||||
public int id { get; set; }
|
||||
public string id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the name.
|
||||
@@ -66,7 +66,7 @@ namespace MediaBrowser.Model.Updates
|
||||
/// Gets or sets the type.
|
||||
/// </summary>
|
||||
/// <value>The type.</value>
|
||||
public PackageType type { get; set; }
|
||||
public string type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the target filename.
|
||||
@@ -127,7 +127,7 @@ namespace MediaBrowser.Model.Updates
|
||||
/// Gets or sets the total number of ratings for this package.
|
||||
/// </summary>
|
||||
/// <value>The total ratings.</value>
|
||||
public int totalRatings { get; set; }
|
||||
public int? totalRatings { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the average rating for this package .
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace MediaBrowser.Model.Updates
|
||||
{
|
||||
/// <summary>
|
||||
/// Enum PackageType
|
||||
/// </summary>
|
||||
public enum PackageType
|
||||
{
|
||||
/// <summary>
|
||||
/// All
|
||||
/// </summary>
|
||||
All,
|
||||
/// <summary>
|
||||
/// The system
|
||||
/// </summary>
|
||||
System,
|
||||
/// <summary>
|
||||
/// The user installed
|
||||
/// </summary>
|
||||
UserInstalled
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user