|
|
|
@ -7,6 +7,7 @@ using System.Text.Json;
|
|
|
|
|
using System.Threading;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Jellyfin.Api.Constants;
|
|
|
|
|
using Jellyfin.Api.Models.MediaInfoDtos;
|
|
|
|
|
using Jellyfin.Api.Models.VideoDtos;
|
|
|
|
|
using Jellyfin.Data.Entities;
|
|
|
|
|
using Jellyfin.Data.Enums;
|
|
|
|
@ -91,7 +92,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
|
|
|
|
public async Task<ActionResult<PlaybackInfoResponse>> GetPlaybackInfo([FromRoute] Guid itemId, [FromQuery] Guid? userId)
|
|
|
|
|
{
|
|
|
|
|
return await GetPlaybackInfoInternal(itemId, userId, null, null).ConfigureAwait(false);
|
|
|
|
|
return await GetPlaybackInfoInternal(itemId, userId).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -231,8 +232,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
/// <param name="subtitleStreamIndex">The subtitle stream index.</param>
|
|
|
|
|
/// <param name="maxAudioChannels">The maximum number of audio channels.</param>
|
|
|
|
|
/// <param name="itemId">The item id.</param>
|
|
|
|
|
/// <param name="deviceProfile">The device profile.</param>
|
|
|
|
|
/// <param name="directPlayProtocols">The direct play protocols. Default: <see cref="MediaProtocol.Http"/>.</param>
|
|
|
|
|
/// <param name="openLiveStreamDto">The open live stream dto.</param>
|
|
|
|
|
/// <param name="enableDirectPlay">Whether to enable direct play. Default: true.</param>
|
|
|
|
|
/// <param name="enableDirectStream">Whether to enable direct stream. Default: true.</param>
|
|
|
|
|
/// <response code="200">Media source opened.</response>
|
|
|
|
@ -249,8 +249,7 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
[FromQuery] int? subtitleStreamIndex,
|
|
|
|
|
[FromQuery] int? maxAudioChannels,
|
|
|
|
|
[FromQuery] Guid? itemId,
|
|
|
|
|
[FromQuery] DeviceProfile? deviceProfile,
|
|
|
|
|
[FromQuery] MediaProtocol[] directPlayProtocols,
|
|
|
|
|
[FromBody] OpenLiveStreamDto openLiveStreamDto,
|
|
|
|
|
[FromQuery] bool enableDirectPlay = true,
|
|
|
|
|
[FromQuery] bool enableDirectStream = true)
|
|
|
|
|
{
|
|
|
|
@ -265,10 +264,10 @@ namespace Jellyfin.Api.Controllers
|
|
|
|
|
SubtitleStreamIndex = subtitleStreamIndex,
|
|
|
|
|
MaxAudioChannels = maxAudioChannels,
|
|
|
|
|
ItemId = itemId ?? Guid.Empty,
|
|
|
|
|
DeviceProfile = deviceProfile,
|
|
|
|
|
DeviceProfile = openLiveStreamDto?.DeviceProfile,
|
|
|
|
|
EnableDirectPlay = enableDirectPlay,
|
|
|
|
|
EnableDirectStream = enableDirectStream,
|
|
|
|
|
DirectPlayProtocols = directPlayProtocols ?? new[] { MediaProtocol.Http }
|
|
|
|
|
DirectPlayProtocols = openLiveStreamDto?.DirectPlayProtocols ?? new[] { MediaProtocol.Http }
|
|
|
|
|
};
|
|
|
|
|
return await OpenMediaSource(request).ConfigureAwait(false);
|
|
|
|
|
}
|
|
|
|
|