WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
284443
Unable to render video on iOS browser if src a CDN, in request header range is getting set as Range: bytes=0-1
https://bugs.webkit.org/show_bug.cgi?id=284443
Summary
Unable to render video on iOS browser if src a CDN, in request header range i...
Rahul
Reported
2024-12-10 22:35:44 PST
Created
attachment 473536
[details]
The attachment shows the current behavior on iOS device and network calls Example if we render a video using below : <video controls="" autoplay="" name="media"><source src="
https://cdn-sharing.adobecc.com/
......." type="video/mp4"></video> then video does not get render on iOS device i tried on safari and chrome on iOS as well. to reproduce use url on iOS safari 17 and above:
https://new.express.adobe.com/published/urn:aaid:sc:US:aac581ef-4c12-446f-9e1d-a783d88606f2
I can see that network call to cdn with header "Range: bytes=0-1" returns 200. The problem is indeed the Range header, because if you set it you need to iterate over the range of bytes for the content length returned by the initial request We tested out modifying the range header and if we set it to the content length like below, the request works curl --request GET \ --url '
https://cdn-sharing.adobecc.com/composite/component/id/urn:aaid:sc:US:aac581ef-4c12-446f-9e1d-a783d88606f2?component_id=54e3257a-04a0-4662-a1cc-5418ce9d8a5c&revision=06fc6bc6-cd65-444b-8285-e54895ca70a2&api_key=projectx_webapp&access_token=1733939192_urn%3Aaaid%3Asc%3AUS%3Aaac581ef-4c12-446f-9e1d-a783d88606f2%3Bpublic_51071890bf43306533bd1c192bf81e99a3a998f4
' \ --header 'Accept: */*' \ --header 'Accept-Encoding: identity' \ --header 'Connection: Keep-Alive' \ --header 'Range: bytes=0-1994310' \ --header 'Sec-Fetch-Dest: video' \ --header 'Sec-Fetch-Mode: no-cors' \ --header 'Sec-Fetch-Site: same-origin' \ --header 'User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 17_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/92.0.4515.90 Mobile/15E148 Safari/604.1' if you set the Range to the full length of file which is 1994310 the content should be displayable The request log proves that iOS only fetches the first two bytes of the file because the header Range: bytes=0-1 is passed
Attachments
The attachment shows the current behavior on iOS device and network calls
(113.34 MB, video/quicktime)
2024-12-10 22:35 PST
,
Rahul
no flags
Details
network logs when call made to cdn to get the video
(24.48 KB, text/plain)
2024-12-10 22:36 PST
,
Rahul
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Rahul
Comment 1
2024-12-10 22:36:36 PST
Created
attachment 473537
[details]
network logs when call made to cdn to get the video
Alexey Proskuryakov
Comment 2
2024-12-11 17:16:10 PST
I can reproduce that
https://new.express.adobe.com/published/urn:aaid:sc:US:aac581ef-4c12-446f-9e1d-a783d88606f2
doesn't play on an iPhone, and does on a Mac. Using "Range: bytes=0-1" in one of the requests is not necessarily incorrect, although the server is supposed to return code 206 for that, not 200. This sounds much like
bug 211323
, but I'll leave it for experts to analyze more deeply.
Radar WebKit Bug Importer
Comment 3
2024-12-17 22:36:25 PST
<
rdar://problem/141664079
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug