And this is 100% Youtube’s fault, not Firefox’s fault, they created this issue:

This problem is triggered by bad muxed VP9 bytestream served by Youtube, so it’s not a regression on our side, this issue can also be reproduced on old versions Firefox. Usually when muxing a video bytestream, the video samples’ timestamp should be monotonizally increasing and no overlap between samples. But there are some bad video samples in YT’s bytesteam, they overlapped with the previous sample. Eg. [124416000, 125126000] and [125125000, 131382000]. The next one should start from 12516000 instead of starting from 125125000 causing an overlapping.

That overlapped sample triggers this and our WebM demuxer fails to calculate the next timestamp in that situation. The end time of video sample was set to the same as the sample’s start time, and that causes a gap being detected for the next sample, resulting in resetting append state. When doing so, mNeedRandomAccessPoint would be set to true and that triggers the sample skipping mechanism per the spec.

Therefore, there would be many sample being incorrectly skipped and won’t be added into the buffered range. When entering the buffering state, Firefox would be waiting those sample which has been skipped but Youtube thought that those samples were already appended. That makes the endless buffering happened.

Source: https://bugzilla.mozilla.org/show_bug.cgi?id=1878510#c113 (Alastor Wu [:alwu])

  • Carighan Maconar@lemmy.world
    link
    fedilink
    arrow-up
    60
    ·
    5 months ago

    This is probably related to Youtube starting to serve ads mixed into the actual videostream, right?

    This causes issues of them fucking up the timestamps?

    • SGG@lemmy.world
      link
      fedilink
      English
      arrow-up
      34
      ·
      5 months ago

      Honestly might be part of it, by going out of spec on the timestamps it probably let’s them more easily insert different length ads

  • Malix@sopuli.xyz
    link
    fedilink
    arrow-up
    37
    ·
    5 months ago

    oh, I’ve been wondering about this, as I’ve had occasional youtube-video just enter the infinite buffering. Oddly it has only happened on linux o_O

  • tfw_no_toiletpaper@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    5 months ago

    It was a Firefox bug? I now use a user agent switcher only for YouTube and a testsite, and I could swear after choosing chrome that the buffering etc stopped. But I will try again in a few days without the switcher.

    • Default_Defect@midwest.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      I used the user agent switcher too and it helped for a bit, but started doing the same hitching and buffering not long after