jit.movie~ not looping properly when audio channel is present on file and audio is on
Hello all,
I'm working on a video player that will heavily rely MAX's audio looping capabilities. I'm using the hap codec and I'm very happy with the quality of the loops with jit.movie~ compared to jit.movie, movies with audio don't loop well in the latter with a 200ms pause every time it loops.
But I'm encountering an abnormality when playing in reverse and more specifically with a negative rate and a loop argument set to 1, loop 2 works fine.
The playback exits the loop points range, with some erratic jumps and a frozen image.
It totally goes away if audio is switched off.
I'm on a mac with OSX10.14 with max 8.1.6, some colleagues tried it on windows and it seems to produce similar results.
I'm attaching a demonstration patcher that is loading blading.mov from the media library (not in hap) but you can read any short movie with audio, the behaviour does slightly change depending on the audio and video codecs used.
I come here first before trying to implement my own ugly looping system by monitoring time_ms and using the jump_true message.
Any help is welcome!
Hi Yacine,
Yeah there is clearly some undesirable behavior here, and I will ticket this for further investigation and improvements.
For now, your best option is probably disabling looping, and managing it yourself. This will allow you to highly customize to your needs, and order rate and seek messages for optimal behavior.
If you run into issues with that, I'm happy to offer suggestions.
One suggestion to make, as always with dynamic playback in Jitter, movie codec is important. Hap or prores are recommended over temporal-codecs like h264.
Hi Rob,
I just wanted to bring up that this issue doesn't seem to be resolved. What I'm seeing is that when DSP is on, changing the loopsize will often result in the first few frames jittering around for a while before moving on to play the loop. (Happens more at low speeds, I notice) Checking out the time, sampling at the framerate, I see stuff like this, with loop points set to 1527 2234:
time: 1527
time: 1527
time: 1527
time: 1527
time: 1528
time: 1527
time: 1520 ------- note not even in loop!
time: 1527
time: 1528
time: 1522 ------- note not even in loop!
time: 1527
time: 1527
time: 1527
time: 1521 ------- note not even in loop!
time: 1527
time: 1527
time: 1524
time: 1539
time: 1556
time: 1571
It's less likely to happen with a hap-encoded movie, but still happens plenty. (And forget trying to play in reverse.)
Is this just something we're permanently stuck with when using jit.movie~? And are we best off rolling our own?
Using 9.0.5. Example below.
thanks!
\M
unfortunately I can't reproduce any unexpected behavior following the steps in your patch with crashtest.mov on an M2 Macbook Pro. Looping behaves totally as expected. Any other clues? Support info? System specs?