Merge pull request #6558 from dmitrylyzo/ffmpeg-exitcode

This commit is contained in:
Claus Vium 2021-10-13 00:04:09 +02:00 committed by GitHub
commit 09f33d3b87
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 14 additions and 1 deletions

View File

@ -11,6 +11,7 @@ using System.Threading.Tasks;
using Jellyfin.Api.Models.PlaybackDtos;
using Jellyfin.Api.Models.StreamingDtos;
using Jellyfin.Data.Enums;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Library;
@ -607,6 +608,10 @@ namespace Jellyfin.Api.Helpers
{
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");
@ -743,6 +748,7 @@ namespace Jellyfin.Api.Helpers
private void OnFfMpegProcessExited(Process process, TranscodingJobDto job, StreamState state)
{
job.HasExited = true;
job.ExitCode = process.ExitCode;
_logger.LogDebug("Disposing stream resources");
state.Dispose();

View File

@ -106,6 +106,11 @@ namespace Jellyfin.Api.Models.PlaybackDtos
/// </summary>
public bool HasExited { get; set; }
/// <summary>
/// Gets or sets exit code.
/// </summary>
public int ExitCode { get; set; }
/// <summary>
/// Gets or sets a value indicating whether is user paused.
/// </summary>

View File

@ -1,6 +1,6 @@
using System;
namespace MediaBrowser.MediaEncoding
namespace MediaBrowser.Common
{
/// <summary>
/// Represents errors that occur during interaction with FFmpeg.

View File

@ -12,6 +12,7 @@ using System.Text.RegularExpressions;
using System.Threading;
using System.Threading.Tasks;
using Jellyfin.Extensions.Json;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Controller.Configuration;

View File

@ -11,6 +11,7 @@ using System.Net.Http;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.Net;