https://bugzilla.mozilla.org/show_bug.cgi?id=1842432 is a regression introduced by https://bugzilla.mozilla.org/show_bug.cgi?id=1817997
I wonder how the fix at https://hg.mozilla.org/releases/mozilla-esr115/rev/ea6e2e85fec6
- if (aDuration.IsInfinite() && aDuration.IsPositive() > 0 && length >= 0 &&
+ if (aDuration.IsValid() && !aDuration.IsInfinite() &&
+ aDuration.IsPositive() && length >= 0 &&
is improving the outcome of that gnarly cpp at https://searchfox.org/mozilla-central/rev/ea550f0d1afaf7747ebd988325ea10cf4e3e4de4/dom/media/ChannelMediaDecoder.cpp#385
my intuition is DownloadProgressed() never gets to fire CanPlayThrough() because ComputePlaybackRate() never comes back with aDuration.isInfinite() negated. Someone with a cpp background explaining that function would help me heaps