mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-19 00:26:25 +00:00
update dlna profiles
This commit is contained in:
@@ -41,7 +41,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// Occurs when [authenticated].
|
||||
/// </summary>
|
||||
event EventHandler<GenericEventArgs<AuthenticationResult>> Authenticated;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the API URL.
|
||||
/// </summary>
|
||||
@@ -201,7 +201,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task<HttpResponse>.</returns>
|
||||
Task<HttpResponse> GetResponse(string url, CancellationToken cancellationToken = default(CancellationToken));
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Updates the user configuration.
|
||||
/// </summary>
|
||||
@@ -225,7 +225,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="query">The query.</param>
|
||||
/// <returns>Task<QueryResult<BaseItemDto>>.</returns>
|
||||
Task<BaseItemDto[]> GetLatestItems(LatestItemsQuery query);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the intros async.
|
||||
/// </summary>
|
||||
@@ -324,7 +324,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task<ItemsResult>.</returns>
|
||||
Task<ItemsResult> GetUserViews(string userId, CancellationToken cancellationToken = default(CancellationToken));
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the instant mix from song async.
|
||||
/// </summary>
|
||||
@@ -563,7 +563,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <returns>Task<UserDto>.</returns>
|
||||
Task<UserDto> GetOfflineUserAsync(string id);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the parental ratings async.
|
||||
/// </summary>
|
||||
@@ -761,7 +761,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="password">The password.</param>
|
||||
/// <returns>Task.</returns>
|
||||
/// <exception cref="ArgumentNullException">userId</exception>
|
||||
Task<AuthenticationResult> AuthenticateUserAsync(string username,
|
||||
Task<AuthenticationResult> AuthenticateUserAsync(string username,
|
||||
string password);
|
||||
|
||||
/// <summary>
|
||||
@@ -874,7 +874,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="accessToken">The access token.</param>
|
||||
/// <param name="userId">The user identifier.</param>
|
||||
void SetAuthenticationInfo(string accessToken, string userId);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Sets the authentication information.
|
||||
/// </summary>
|
||||
@@ -921,7 +921,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// </summary>
|
||||
/// <returns>Task.</returns>
|
||||
Task StopReceivingSyncJobsUpdates();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Starts the receiving session updates.
|
||||
/// </summary>
|
||||
@@ -934,7 +934,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// </summary>
|
||||
/// <returns>Task.</returns>
|
||||
Task StopReceivingSessionUpdates();
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets the image URL.
|
||||
/// </summary>
|
||||
@@ -1378,7 +1378,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="file">The file.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task UploadFile(Stream stream,
|
||||
Task UploadFile(Stream stream,
|
||||
LocalFileInfo file,
|
||||
CancellationToken cancellationToken);
|
||||
|
||||
@@ -1439,7 +1439,7 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task<Stream>.</returns>
|
||||
Task<Stream> GetSyncJobItemAdditionalFile(string id, string name, CancellationToken cancellationToken);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Opens the web socket.
|
||||
/// </summary>
|
||||
@@ -1503,5 +1503,14 @@ namespace MediaBrowser.Model.ApiClient
|
||||
/// <param name="id">The identifier.</param>
|
||||
/// <returns>Task.</returns>
|
||||
Task EnableCancelledSyncJobItem(string id);
|
||||
/// <summary>
|
||||
/// Gets the synchronize options.
|
||||
/// </summary>
|
||||
/// <param name="userId">The user identifier.</param>
|
||||
/// <param name="itemIds">The item ids.</param>
|
||||
/// <param name="parentId">The parent identifier.</param>
|
||||
/// <param name="category">The category.</param>
|
||||
/// <returns>Task<SyncOptions>.</returns>
|
||||
Task<SyncOptions> GetSyncOptions(IEnumerable<string> itemIds, string userId, string parentId = null, SyncCategory? category = null);
|
||||
}
|
||||
}
|
||||
@@ -47,6 +47,17 @@ namespace MediaBrowser.Model.Dlna
|
||||
/// <value>The audio transcoding bitrate.</value>
|
||||
public int? AudioTranscodingBitrate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether [supports direct remote content].
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [supports direct remote content]; otherwise, <c>false</c>.</value>
|
||||
public bool SupportsDirectRemoteContent { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether [supports custom HTTP headers].
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [supports custom HTTP headers]; otherwise, <c>false</c>.</value>
|
||||
public bool SupportsCustomHttpHeaders { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets the maximum bitrate.
|
||||
/// </summary>
|
||||
|
||||
@@ -76,8 +76,6 @@ namespace MediaBrowser.Model.Dlna
|
||||
public bool RequiresPlainVideoItems { get; set; }
|
||||
public bool RequiresPlainFolders { get; set; }
|
||||
|
||||
public bool SupportsDirectRemoteContent { get; set; }
|
||||
public bool SupportsCustomHttpHeaders { get; set; }
|
||||
public bool EnableMSMediaReceiverRegistrar { get; set; }
|
||||
|
||||
public XmlAttribute[] XmlRootAttributes { get; set; }
|
||||
|
||||
@@ -258,7 +258,7 @@ namespace MediaBrowser.Model.Dlna
|
||||
if (IsEligibleForDirectPlay(item, maxBitrateSetting, subtitleStream, options))
|
||||
{
|
||||
// See if it can be direct played
|
||||
var directPlay = GetVideoDirectPlayProfile(options.Profile, item, videoStream, audioStream);
|
||||
var directPlay = GetVideoDirectPlayProfile(options, options.Profile, item, videoStream, audioStream);
|
||||
|
||||
if (directPlay != null)
|
||||
{
|
||||
@@ -380,7 +380,8 @@ namespace MediaBrowser.Model.Dlna
|
||||
return 128000;
|
||||
}
|
||||
|
||||
private PlayMethod? GetVideoDirectPlayProfile(DeviceProfile profile,
|
||||
private PlayMethod? GetVideoDirectPlayProfile(VideoOptions options,
|
||||
DeviceProfile profile,
|
||||
MediaSourceInfo mediaSource,
|
||||
MediaStream videoStream,
|
||||
MediaStream audioStream)
|
||||
@@ -504,12 +505,12 @@ namespace MediaBrowser.Model.Dlna
|
||||
|
||||
if (mediaSource.Protocol == MediaProtocol.Http)
|
||||
{
|
||||
if (!profile.SupportsDirectRemoteContent)
|
||||
if (!options.SupportsDirectRemoteContent)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (mediaSource.RequiredHttpHeaders.Count > 0 && !profile.SupportsCustomHttpHeaders)
|
||||
if (mediaSource.RequiredHttpHeaders.Count > 0 && !options.SupportsCustomHttpHeaders)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user