Page MenuHomePhabricator

img_auth.php doesn't support Range header requests (partial content / byte ranges)
Open, Needs TriagePublic

Description

img_auth.php doesn't support the HTTP Range header for byte range requests; this is needed for serving native MP4 video out to Safari on private wikis (will affect TimedMediaHandler and other extensions that serve videos to Safari as in this list post: https://lists.wikimedia.org/pipermail/mediawiki-l/2015-December/045126.html ).

Other browsers seem to fall back to single-request streaming sanely enough, but something's going wrong with it on Safari.

May need to update StreamFile and friends to handle the Range header on that end.

Event Timeline

brion created this task.Jan 4 2016, 10:26 PM
brion claimed this task.
brion raised the priority of this task from to Needs Triage.
brion updated the task description. (Show Details)
brion added a subscriber: brion.
Restricted Application added subscribers: StudiesWorld, Aklapper. · View Herald TranscriptJan 4 2016, 10:26 PM
brion updated the task description. (Show Details)Jan 4 2016, 10:28 PM
brion set Security to None.
Krenair added a subscriber: Krenair.
brion added a comment.Jan 4 2016, 10:38 PM

Ok, now I'm seeing range requests seeming to work when I dive in with content sniffer.... But it's returning the wrong content-type.

HTTP/1.1 206 Partial Content
Date: Mon, 04 Jan 2016 22:36:18 GMT
Server: Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.14
X-Powered-By: PHP/5.5.9-1ubuntu4.14
X-Content-Type-Options: nosniff
Cache-control: no-cache
Vary: Accept-Encoding
Content-Range: bytes 0-1/1606
Content-Length: 2
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
brion added a comment.Jan 4 2016, 11:02 PM

Ok that one 'working' req was on a failure where I was spewing a stacktrace. ;) Actual is still broken.

TheDJ added a subscriber: TheDJ.Jan 5 2016, 5:19 AM

Any progress on this? Anything I can do to help?

Is this something the new MediaWiki Platform Team would be able to take a look at?

tosfos added a subscriber: tosfos.Sep 19 2019, 5:25 PM
Aklapper removed brion as the assignee of this task.Jun 19 2020, 4:16 PM

This task has been assigned to the same task owner for more than two years. Resetting task assignee due to inactivity, to decrease task cookie-licking and to get a slightly more realistic overview of plans. Please feel free to assign this task to yourself again if you still realistically work or plan to work on this task - it would be welcome!

For tips how to manage individual work in Phabricator (noisy notifications, lists of task, etc.), see https://phabricator.wikimedia.org/T228575#6237124 for available options.
(For the records, two emails were sent to assignee addresses before resetting assignees. See T228575 for more info and for potential feedback. Thanks!)