This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 22100 - Fetching audio/video when sessions and plug-ins are involved
Summary: Fetching audio/video when sessions and plug-ins are involved
Status: RESOLVED INVALID
Alias: None
Product: WHATWG
Classification: Unclassified
Component: Fetch (show other bugs)
Version: unspecified
Hardware: PC All
: P2 normal
Target Milestone: Unsorted
Assignee: Anne
QA Contact: sideshowbarker+fetchspec
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-21 00:29 UTC by Leif Halvard Silli
Modified: 2014-03-25 12:18 UTC (History)
2 users (show)

See Also:


Attachments

Description Leif Halvard Silli 2013-05-21 00:29:43 UTC
(Feel free to close this bug quickly if you understand that I am ’calling the wrong number’...)

Safari has this unique problem where, when a media file is served via PHP, the plug-in that Safari hands the file over to (namely, to QuickTime ...) doesn’t play the file.  (Yes, I talk about <video> and <audio> - and it doesn't matter whether the Safari runs on Windows, OSX or iOS - for iOS one can sometimes use Opera Mini(!) as a workaround.) In the particular LMS we use, the result is that the user gets kicked out of the LMS - so cookies are involved, meanign that Safari is unusable unless the author works around the LMS’s built in method for serving media files.

I’ve reported the bug to Webkit, but was told it was an Apple specific bug.

The issue is described many places:
http://stackoverflow.com/questions/3089784/cant-serve-html5-video-through-php-on-safari-mac-5-0

And some believe they know the cause to be related to cookies - namely, that QuickTime doesn't pick up the cookie:
http://stackoverflow.com/questions/3114406/single-php-exit-statement-prevents-html5-video-in-safari/3125869#3125869

But I also thougth the issue could be related to 'byte ranges:
http://mobiforge.com/developing/story/content-delivery-mobile-devices
http://www.somacon.com/p571.php

For all I know, it could be Safari that does it the right way. Would be nice to get that clear.
Comment 1 Anne 2013-05-21 01:03:43 UTC
So yeah, the problem is that QuickTime does not share HTTP state with Safari. Whether that's a bug or a feature seems unclear. I'd go with bug given that the idea of <video> is to not rely on plug-ins.
Comment 2 Leif Halvard Silli 2013-05-21 01:36:38 UTC
(In reply to comment #1)
> So yeah, the problem is that QuickTime does not share HTTP state with
> Safari. Whether that's a bug or a feature seems unclear. I'd go with bug
> given that the idea of <video> is to not rely on plug-ins.

What you say about ‘not rely on plug-ins’ was exactly my thinking. In fact, I got quite surprised when I found out that, in Safari, then <video> and <audio> hand their media over to QuickTime.

I’ve asked some Apple guy about it, so I have some hope ...  As is, this bug promotes use of Flash, IMO, since the trouble apparently isn’t found in Flash.

But as for the Fetch spec, then, perhaps it should demand that plug-ins *do* share HTTP state? Because, plug-in or not should not matter to authors or end users, me thinks.)
Comment 3 Anne 2013-05-21 01:45:00 UTC
I think that requirement would be redundant for <video> and <audio> at least. Plug-in usage there should be transparent as the fetches are required to share state. What plug-ins in <embed>, <object>, or a top-level browsing context do is really up to the plug-ins though I think.
Comment 4 Leif Halvard Silli 2013-05-21 02:40:23 UTC
Perhaps the Fetch spec could say that <video>/<audio> defines the pattern that plug-ins are expected to follow, regardless where plug-ins are used (<video> or <object>). 

At least for formats which the browser considers 'native, the most *realistic* thing to expect seems to be *same* behavior, regardless of <object> vs <video>.

Also, if Fetch spec were to give special rules for special elements, then that would not be elegant, I think.

I think there are two aspects fo 'native': native to the browser and native to the HTML language. And that the two are interlinked. In HTML4, there were no native <video> element, and thus browsers could also not offer any native user interface to <video>.
Comment 5 Anne 2014-03-25 12:18:08 UTC
Browsers that use a different network stack for certain elements have a bug.

Using a different network stack for plugins is questionable, but plugins are not part of the web platform and we cannot really control what they do.