Would it be possible to make a pause/resume?

Started by I12learn, February 10, 2013, 04:47:53 PM

Previous topic - Next topic

I12learn

Hello,
actually I'm using a netbook and some conversion will take several hundreds of minutes. I'm asking if it is there a chance to save the process on the disk to a certain point and resume it later.
Further option it's to have a chance to autosave  periodically and recover the process at the same point.
How difficult would it be?

zakk

I don't think so. I used to put my PC to sleep mode and resume later. You can also switch off after 1st pass and re-use it's results.

douche

Just for reference:
Revert to 2.5.x which had that functionality (and crashes less)
Use Sysinternals Process Explorer to suspend the process

thany

I'm finding 2.5.x to crash much more, but I suppose it depends on the type of files you're working with.
I can't honestly remember there being a pause button, but I may be mistaken, because I never used it.

I12learn, do you have a specific reason for needing a pause button? Because, you know, it'll only take longer ;)

I12learn

My proposal span to the condition that the program will put a bookmark where it has been stopped.
It will resume even after the PC will reboot/resume,  "as per files unchanged".
So resuming a crash, actually means that avidemux will disappear and forget (sometimes) entirely about that crash. If it's chosen to ignore, then will go for the new process.

thany

I suspect it will take a great deal of effort to make the encoding process suspendable/resumable, for numerous reasons... What's more, in the case of a crash, the process ends abruptly, and I seriously doubt avidemux will be able to gracefully suspend the encode process, assuming that were possible.

I12learn

Actually in-memory pause is possible. I don't know how this is feasible, I'm not that good to understand the code of such feature. Here we are to discuss how hard it could be.

thany

I think in-memory pause is nothing more than suspending the encoding thread(s). But suspending them as in "saving their state to disk to resume at a later time" (kinda like hibernation) is not easily possible. Maybe in frameworks like Java or .NET it can be done. MAYBE. But in lower languages (which avidemux is written in, which is C++, iirc) it requires much more effort.