Throw on FFmpeg non-zero exit code
This commit is contained in:
parent
c26e6d89b4
commit
32f3d60a84
|
@ -11,6 +11,7 @@ using System.Threading.Tasks;
|
||||||
using Jellyfin.Api.Models.PlaybackDtos;
|
using Jellyfin.Api.Models.PlaybackDtos;
|
||||||
using Jellyfin.Api.Models.StreamingDtos;
|
using Jellyfin.Api.Models.StreamingDtos;
|
||||||
using Jellyfin.Data.Enums;
|
using Jellyfin.Data.Enums;
|
||||||
|
using MediaBrowser.Common;
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
|
@ -607,6 +608,10 @@ namespace Jellyfin.Api.Helpers
|
||||||
{
|
{
|
||||||
StartThrottler(state, transcodingJob);
|
StartThrottler(state, transcodingJob);
|
||||||
}
|
}
|
||||||
|
else if (transcodingJob.ExitCode != 0)
|
||||||
|
{
|
||||||
|
throw new FfmpegException(string.Format(CultureInfo.InvariantCulture, "FFmpeg exited with code {0}", transcodingJob.ExitCode));
|
||||||
|
}
|
||||||
|
|
||||||
_logger.LogDebug("StartFfMpeg() finished successfully");
|
_logger.LogDebug("StartFfMpeg() finished successfully");
|
||||||
|
|
||||||
|
@ -743,6 +748,7 @@ namespace Jellyfin.Api.Helpers
|
||||||
private void OnFfMpegProcessExited(Process process, TranscodingJobDto job, StreamState state)
|
private void OnFfMpegProcessExited(Process process, TranscodingJobDto job, StreamState state)
|
||||||
{
|
{
|
||||||
job.HasExited = true;
|
job.HasExited = true;
|
||||||
|
job.ExitCode = process.ExitCode;
|
||||||
|
|
||||||
_logger.LogDebug("Disposing stream resources");
|
_logger.LogDebug("Disposing stream resources");
|
||||||
state.Dispose();
|
state.Dispose();
|
||||||
|
|
|
@ -106,6 +106,11 @@ namespace Jellyfin.Api.Models.PlaybackDtos
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool HasExited { get; set; }
|
public bool HasExited { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets exit code.
|
||||||
|
/// </summary>
|
||||||
|
public int ExitCode { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a value indicating whether is user paused.
|
/// Gets or sets a value indicating whether is user paused.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user