Skip to content
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

fix: frames are floats, not ints #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Zorgodon
Copy link

@Zorgodon Zorgodon commented Oct 1, 2022

The frame number returned by frames = w.getnframes() / (w.getframerate()/75) is a float ending in .0, but the code only proceeds if it is an int. Presumably older versions of python didn't see a difference between 1.0 and 1, so the incorrect test went unnoticed.
In modern python versions, the elif is false and so we skip to the else and set the length as 00:00:00 for all tracks, leading to the "Track time calculation resulted in a negative value" error.

We could turn the float into an int, but I think this is just a waste of CPU cycles as divmod happily handles the float and returns the same TOC as the py2 version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant