-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[videoFilter] New filter: Reverse #317
base: master
Are you sure you want to change the base?
Conversation
Thank you very much, a couple of points after a cursory try-out:
|
Should be fixed
I tried the scenario with more than one video. Here works as expected, after the scope the audio is in sync with the video.
I think it is, due to not gettting a call to goToTime, which would invalidate the filter. IDK if this could be fixed at all.
I dont think it would be possible.
It is a temporary file, imho it is more convenient this way. Also it follows the convention of the .idx files (of .ts files).
I will think about it. |
I think, the preview problems could be addressed, as warn the users, not use previews after instantiating this filter. Malloc failures could be indicated by GUI_Error_HIG(). Does it works in cli mode? What sould we do, if malloc fails during encoding? |
I have figured this out: somehow the handed over image PTS start at zero when start palying filtered video in the main window, regardless of what is should be. |
I think this is the expected behaviour, pts are relative to the bridge range. There are functions to get the absolute timing. |
Fixed the absolute Pts issue, warning message get refined. I've managed to get the audio desync issue. It happens when the buffering takes more times, and the audio play get suspended during that. If it can buffer (decode) fast enough, audio stay in sync after the filter's scope. |
I have tried GUI_Error_HIG(), but it does not work even in main window's preview. |
So it looks like i have figured it out, how to replace assert with a graceful solution. |
The malloc behaviour on macOS is troublesome: it doesn't fail but the system simply swaps to death trying to reverse a 3 minutes long 1080p@50fps video at default settings except of buffering to memory instead of to a file (well, I managed to kill Avidemux as it passed through ~17 GiB of memory on a MBP with 8 GiB RAM). I think the design is not viable on macOS :-( |
Did the estimated RAM usage (at the filter dialog) correlated with the above number? |
No, it was completely impossibly high for this machine (~28 GiB). The goal was to trigger a malloc failure.
Yes and no. User errors need to be tested too :) It is fine to risk an app crash / app being killed by an OOM guard or so. But inducing a system hang, potentially destroying important work in other applications is unacceptable, no matter what. |
Memory handling is similar on Linux, it allows allocate more memory than actual RAM, because technially swap is also memory (albeit very slow). Escalate the situation further, the system could allow allocation of even larger chunk, more than RAM+swap, due to overcommitting. |
On that macOS system, there was not enough disk space to accomodate the necessary swap, so I hoped the operation to fail outright. There is some macOS-specific stuff like memory compression which may have played a role, however. Either way, this doesn't make the situation easier. |
IMHO the warning message say all. Yes, this filter can hang your system. |
If you ever get to see this message, i.e. if you add the filter via configuration dialog rather than via a script.
I would expect the poor animal to die a horrible death and the microwave possibly to get broken, but not one's doctoral thesis to be destroyed, if you allow such analogy. |
There is a high probability that if no more than once the user will see it. |
Play a short section backward.