You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Increasing the ring buffer size revealed another bug in the AudioPlayerNode architecture: once the decoding is complete, seeking no longer works, due to the decoder thread exiting as soon as decoding is complete.
If the ring buffer is large enough, decoding could complete much sooner than the rendering. If the user tries to seek between decoding complete and rendering complete, nothing will happen.
The text was updated successfully, but these errors were encountered:
I think this bug is independent of the ring buffer size. It occurs anytime when seeking after decoding is complete- it's just that with larger buffer sizes the buffered duration is more noticeable.
Thanks for the report. I will have to think about the best way to handle the issue.
My suggestion would be to let the decoder thread handle the whole DecoderState lifetime, from the start of decoding to end of rendering. It would also handle calling the various delegates and accounting for the rendered frames. This way we can also get rid of the event queue.
With the decoder thread handling everything related to decoding, it would be easier to handle a seek request in the post-decoding phase.
Increasing the ring buffer size revealed another bug in the AudioPlayerNode architecture: once the decoding is complete, seeking no longer works, due to the decoder thread exiting as soon as decoding is complete.
If the ring buffer is large enough, decoding could complete much sooner than the rendering. If the user tries to seek between decoding complete and rendering complete, nothing will happen.
The text was updated successfully, but these errors were encountered: