hudl / HudlFfmpeg

Hudl.Ffmpeg framework
Apache License 2.0
112 stars 32 forks source link

slowdown in ffmpegCommandProcessor #98

Open simonbuehler opened 5 years ago

simonbuehler commented 5 years ago

wrote a comment here , this slows things down from 1 to 10 seconds, don't know why its in there for non-mono environments?

Casey-Bateman commented 5 years ago

commented back, good catch, we can get this in to the next release

Aldaviva commented 5 years ago

Looking at the code, I think this may be caused by this line in ProcessExtensions.WaitForProcessStart(TimeSpan).

isProcessRunning = (process != null && process.HasExited && process.Id != 0);

While ensuring that the child process has started, it seems like the loop would actually wait until it has exited or the timeout elapses, so long-running children would always end up waiting for the full timeout period (10 seconds).

Maybe !process.HasExited or process.Responding would be more suitable?

I haven't tested this theory, so it might be off-base. Maybe there are some more intricacies with reading async console output in Mono, but the Nabble link in the comment is dead.