Preloaded resources aren't used by <audio>
Reported by
gursoyem...@gmail.com,
Oct 17
|
||||
Issue descriptionChrome Version : Version 72.0.3582.0 (Official Build) canary (32-bit) URLs (if applicable) : Other browsers tested: No. My application is only for Chrome. Chrome Version 69.0.3497.100 (Official Build) (64-bit) do not have the problem. What steps will reproduce the problem? (1) The page gets started. After that based on user validation, some media (audios, videos or images) dynamically added to the page by using <link rel="preload" feature. Such as: <link href="http://localhost:55341/uploads/Questions/2018/3/qId_2/qId_2_sqId2_r1247421.wav" rel="preload" as="audio"> (2)It was working before. Bu now, when media assigned to an element (audio) I get following error message. A preload for 'http://localhost:55341/uploads/Questions/2018/3/qId_2/qId_2_sqId2_r1247421.wav' is found, but is not used because the request headers do not match. What is the expected result? The expected result is not seeing any warning like before. And I could not find any resources about this problem by Googling it. What happens instead? I get the warning, that is very critical in my case. The preloading must be done in order my page to function. Because of the timer, everything gets out of sync with any latency. Thanks
,
Oct 18
,
Oct 18
Confirmed. Request headers for <link rel=preload as=audio>: Accept: */* Accept-Encoding: gzip, deflate, br Accept-Language: en-US,en;q=0.9 Cache-Control: no-cache Connection: keep-alive Host: localhost:8080 Pragma: no-cache Referer: http://localhost:8080/audio-preload.html User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3583.0 Safari/537.36 Request headers for <audio>: Accept: */* Accept-Encoding: identity;q=1, *;q=0 Accept-Language: en-US,en;q=0.9 Cache-Control: no-cache chrome-proxy: frfr Connection: keep-alive Host: localhost:8080 Pragma: no-cache Range: bytes=0- Referer: http://localhost:8080/audio-preload.html User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3583.0 Safari/537.36 Accept-Encoding, chrome-proxy, and Range headers don't match. In Chrome 70 we added the console warning for preload mismatch, but preloaded resource wasn't used in Chrome <=69 as well. Possible workaround: use "preload" attribute of <audio> element. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#Attributes
,
Oct 18
Hi, The workaround does not work in my case. Because I don't know what to load until later of the page life cycle. I have to make sure that the resources (audio, video or images) are loaded and can be used before proceeding. My project cannot tolerate even one second of latency. It seems resources are loaded successfully but Chrome doesn't want to use them. I don't know the reason to fix it. Warning message does not give much information at least to me. How can I make Chrome to use them? Thanks
,
Oct 18
Was preloads really working? I added some error messages but didn't change any matching logic. I guess on Chrome 69 prealods fails silently (you can observe that with the network tab on devtools) but now there is a warning.
,
Oct 18
I attached the screenshot. It seems it is loading.
,
Oct 18
the screenshot belong the canary.
,
Oct 18
Sorry, ksakamoto@ already confirmed that. It was not working, and it is not working. It is a known issue for video. See issue 735014.
,
Oct 19
I have a timer on the page and cannot tolerate download latency. That is why I have to make sure that all the media preloaded before using them.I used to get media and save them as blob and use video.src = URL.createObjectURL(blob); However URL.createObjectURL(blob) not usable anymore. Then I started to use link preload html5 feature. Now we are having this problem with it. Could you tell me if this can be fixed soon or suggest another way of caching entire video and audio?
,
Nov 1
Is there any news? |
||||
►
Sign in to add a comment |
||||
Comment 1 by mmenke@chromium.org
, Oct 17