All hvc1 and some avc1 encoded mp4s no longer render in <img src=mp4>. * https://colinbendell.github.io/webperf/animated-gif-decode/mp4.html * https://colinbendell.github.io/webperf/animated-gif-decode/mp4_hvc1.html The first link uses all avc1 mp4 files, while the second uses hvc1 payloads. Safari 13 loads these links properly but fail in Safari TP, and Safari 14.
I can reproduce with r266238 but not with today's build, so this must have been fixed in bug 215774.
<rdar://problem/68587865>
This appears mostly addressed in r266238. However, in the mp4_hvc1.html the first video fails to play while the other entries work. See the entry for <img src=1_hvc.mp4>.
I cannot reproduce this. Which build are you testing with, and on which macOS version?
> Which build are you testing with, and on which macOS version? macOS 10.15 Tech Preview r113 macOS 11 beta 6 Safari 14 ios 14 beta 7 More avc1 and hvc1 content is rendering, but there are still missing resources. For example in the two urls above there should be 7 animations. Currently mp4_hvc.html yields 6 (compared to all 7 in Safari 13) and mp4.html yields 2 (compared to all 7 in Safari 13)
I was incorrect about these versions including the fix already. I now verified that this is indeed a duplicate of bug 215774. *** This bug has been marked as a duplicate of bug 215774 ***
Latest ios14 GM does not include the fix. Can you confirm as well? Since GM is landing tomorrow, what is the work around for mp4 content broken in img tags? What is needed in the isobmff to make the payload play?
This has nothing to do with `hvc1` Or `avc1` codecs _per se_. Rather, the bug is about discrepancies between “presentation time stamps” and “output presentation timestamps”. I had a hard time creating a synthetic test case, but the main culprit in this kind of discrepancy is an `edts` atom shifting the PTS of the first sample to align it with PTS=0. So one possible workaround is to remove `edts` boxes in those files, and see if that fixes the playback issue. Another is to re-author them to use negative CTS, so that the first sample will naturally land at PTS=0 even without an `edts` box.