Summary: | Embedded audio does not work in SVG+SMIL animation | ||
---|---|---|---|
Product: | WebKit | Reporter: | Emanuele Sabetta <fmuaddib> |
Component: | SVG | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW --- | ||
Severity: | Blocker | CC: | dino, fmuaddib, jer.noble, jonlee, nicola20220, sabouhallawa, webkit-bug-importer, zimmermann |
Priority: | P1 | Keywords: | InRadar |
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Description
Emanuele Sabetta
2016-03-22 17:01:10 PDT
A workaround is to move the audio data in a separate binary file instead of having it as data uri saved inside the SVG file. (In reply to comment #1) > A workaround is to move the audio data in a separate binary file instead of > having it as data uri saved inside the SVG file. No, audio should be embedded in the svg file to allow the user to download the videoclip and watch it offline. (In reply to comment #2) > (In reply to comment #1) > > A workaround is to move the audio data in a separate binary file instead of > > having it as data uri saved inside the SVG file. > > No, audio should be embedded in the svg file to allow the user to download > the videoclip and watch it offline. Yes that is right. Sub-resources will not be allowed to load from a non interactive SVG. So currently there is no workaround. AVFoundation will silently fail to load data: URLs, without triggering our AVAssetResourceLoaderDelegate. We could hack around this by rewriting "data:" to "webkit-data:", handling the request in the delegate, and re-rewriting "webkit-data:" back to "data:" before passing it off to the WebCore loader. Since the original link doesn’t work anymore, here is another using github: https://gistcdn.githack.com/Emasoft/24fc90bdc7e72fc1c61a9f87b9bc4675/raw/9aa19eb4d5557800493901c3b8cfe6336961e81f/love_dota_smil_audio.svg Here is a Codepen to easily test it: https://codepen.io/Emasoft/pen/YzYPgbp |