AcademySoftwareFoundation / OpenRV

Open source version of RV, the Sci-Tech award-winning media review and playback software.
Other
589 stars 145 forks source link

[Bug]: setSourceMedia and setStringProperty(f"{source}.media.movie, ...) corrupts audio if rates are not the same. #177

Open mpkepic opened 1 year ago

mpkepic commented 1 year ago

What happened?

When rates don't perfectly align between the prior media and the new media when setting a new source media (either through the API call or direct property change), audio will become corrupted. In some cases it sounds stuttery (such as very close match, think floating point math diferences) and in other cases (like 24fps to 30fps) the audio plays briefly and cuts out entirely.

For instance, create media with a movieproc (solid,start=1,end=100,fps=24,width=1920,height=1080.movieproc) then try swapping the media after the fact with a 30fps clip.

List all the operating systems versions where this is happening

Windows 10

On what computer hardware is this happening?

Threadripper 64 core, RTX 2080ti

Relevant console log output

N/A

Environment variables

N/A

Extra information

No response

Code of Conduct

bernie-laberge commented 1 year ago

Thank you for the issue report ! Some graph notifications must be missing to adjust the retiming of the audio in that scenario. Do you think this is a regression from an earlier release ?

mpkepic commented 1 year ago

I don't think this is a regression; I haven't tested a lot of versions, but I've seen this one for awhile now and could never pin it down.

mpkepic commented 1 year ago

FWIW, I also found some issues with async loading if your view is set to the proxy media; in case that's the same set of signals.

Basically: