Update MediaEncoder.cs
Currently, the extraction routine is giving ffmpeg 2 minutes to get all the thumbnails from a video. For most videos, this is not enough time. Updating the routine here to poll thumbnail output every 2 minutes, and assume that ffmpeg is still doing well if new jpegs are being created.
This commit is contained in:
parent
af9bd11568
commit
9b41a0001c
|
@ -501,7 +501,21 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
|||
|
||||
process.Start();
|
||||
|
||||
var ranToCompletion = process.WaitForExit(120000);
|
||||
// Need to give ffmpeg enough time to make all the thumbnails, which could be a while,
|
||||
// but we still need to detect if the process hangs.
|
||||
// Making the assumption that as long as new jpegs are showing up, everything is good.
|
||||
|
||||
bool isResponsive = true;
|
||||
int lastCount = 0;
|
||||
|
||||
while (isResponsive && !process.WaitForExit(120000))
|
||||
{
|
||||
int jpegCount = Directory.GetFiles(targetDirectory, "*.jpg").Count();
|
||||
isResponsive = (jpegCount > lastCount);
|
||||
lastCount = jpegCount;
|
||||
}
|
||||
|
||||
bool ranToCompletion = process.HasExited;
|
||||
|
||||
if (!ranToCompletion)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user