From 60bf0edbde5f51cff28f1b3d5718b0a2b12a878f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 22 Jan 2014 12:05:32 -0500 Subject: [PATCH] remove hardcoded stream params --- .../Library/FileOrganizationService.cs | 55 ++++++++++++++++++- .../Playback/BaseStreamingService.cs | 4 -- MediaBrowser.Api/Playback/StreamState.cs | 2 +- 3 files changed, 54 insertions(+), 7 deletions(-) diff --git a/MediaBrowser.Api/Library/FileOrganizationService.cs b/MediaBrowser.Api/Library/FileOrganizationService.cs index 1244a16f1b..44fad6a859 100644 --- a/MediaBrowser.Api/Library/FileOrganizationService.cs +++ b/MediaBrowser.Api/Library/FileOrganizationService.cs @@ -25,9 +25,15 @@ namespace MediaBrowser.Api.Library public int? Limit { get; set; } } + [Route("/Library/FileOrganizations", "DELETE")] + [Api(Description = "Clears the activity log")] + public class ClearOrganizationLog : IReturnVoid + { + } + [Route("/Library/FileOrganizations/{Id}/File", "DELETE")] [Api(Description = "Deletes the original file of a organizer result")] - public class DeleteOriginalFile : IReturn> + public class DeleteOriginalFile : IReturnVoid { /// /// Gets or sets the id. @@ -48,7 +54,30 @@ namespace MediaBrowser.Api.Library [ApiMember(Name = "Id", Description = "Result Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] public string Id { get; set; } } - + + [Route("/Library/FileOrganizations/{Id}/Episode/Organize", "POST")] + [Api(Description = "Performs an organization")] + public class OrganizeEpisode + { + [ApiMember(Name = "Id", Description = "Result Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "POST")] + public string Id { get; set; } + + [ApiMember(Name = "SeriesId", Description = "Series Id", IsRequired = true, DataType = "string", ParameterType = "query", Verb = "POST")] + public string SeriesId { get; set; } + + [ApiMember(Name = "SeasonNumber", IsRequired = true, DataType = "int", ParameterType = "query", Verb = "POST")] + public int SeasonNumber { get; set; } + + [ApiMember(Name = "EpisodeNumber", IsRequired = true, DataType = "int", ParameterType = "query", Verb = "POST")] + public int EpisodeNumber { get; set; } + + [ApiMember(Name = "EndingEpisodeNumber", IsRequired = false, DataType = "int", ParameterType = "query", Verb = "POST")] + public int? EndingEpisodeNumber { get; set; } + + [ApiMember(Name = "RememberCorrection", Description = "Whether or not to apply the same correction to future episodes of the same series.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "POST")] + public bool RememberCorrection { get; set; } + } + public class FileOrganizationService : BaseApiService { private readonly IFileOrganizationService _iFileOrganizationService; @@ -76,11 +105,33 @@ namespace MediaBrowser.Api.Library Task.WaitAll(task); } + public void Delete(ClearOrganizationLog request) + { + var task = _iFileOrganizationService.ClearLog(); + + Task.WaitAll(task); + } + public void Post(PerformOrganization request) { var task = _iFileOrganizationService.PerformOrganization(request.Id); Task.WaitAll(task); } + + public void Post(OrganizeEpisode request) + { + var task = _iFileOrganizationService.PerformEpisodeOrganization(new EpisodeFileOrganizationRequest + { + EndingEpisodeNumber = request.EndingEpisodeNumber, + EpisodeNumber = request.EpisodeNumber, + RememberCorrection = request.RememberCorrection, + ResultId = request.Id, + SeasonNumber = request.SeasonNumber, + SeriesId = request.SeriesId + }); + + Task.WaitAll(task); + } } } diff --git a/MediaBrowser.Api/Playback/BaseStreamingService.cs b/MediaBrowser.Api/Playback/BaseStreamingService.cs index 3a72ced17a..f872b72748 100644 --- a/MediaBrowser.Api/Playback/BaseStreamingService.cs +++ b/MediaBrowser.Api/Playback/BaseStreamingService.cs @@ -1062,7 +1062,6 @@ namespace MediaBrowser.Api.Playback state.ReadInputAtNativeFramerate = recording.RecordingInfo.Status == RecordingStatus.InProgress; state.AudioSync = 1000; state.DeInterlace = true; - state.InputFormat = "mpegts"; } else if (item is LiveTvChannel) { @@ -1091,9 +1090,6 @@ namespace MediaBrowser.Api.Playback state.ReadInputAtNativeFramerate = true; state.AudioSync = 1000; state.DeInterlace = true; - state.InputFormat = "mpegts"; - - await Task.Delay(1000, cancellationToken).ConfigureAwait(false); } else { diff --git a/MediaBrowser.Api/Playback/StreamState.cs b/MediaBrowser.Api/Playback/StreamState.cs index 1794ebd16f..84cc8ecd36 100644 --- a/MediaBrowser.Api/Playback/StreamState.cs +++ b/MediaBrowser.Api/Playback/StreamState.cs @@ -14,7 +14,7 @@ namespace MediaBrowser.Api.Playback public VideoStreamRequest VideoRequest { - get { return (VideoStreamRequest) Request; } + get { return Request as VideoStreamRequest; } } ///