[whatwg] <source> media attribute behavior, static or dynamic ?

Paul Adenot padenot+whatwg at mozilla.com
Thu May 10 15:48:22 PDT 2012


 > As far as I can tell, the behaviour here is strictly and
 > unambiguously defined, leaving only one possible interpretation, so
 > it's not clear to me how to make it less ambiguous. Could you
 > elaborate on what interpretations of the spec you think are possible?

We have two possible interpretations, here :
1. If the environment of the user changes, then the source of the video 
has to change according to the different child source element and their 
respective media queries.
2. Once a source is loaded, the other source element are never used 
again, despite the environment changing. If the author wants the source 
to change, he has to use matchMedia() or canPlayType(), and query the 
DOM for other available source elements.

Support for the first interpretation :

 > Dynamically modifying a source element and its attribute when the
 > element is already inserted in a video or audio element will have no
 > effect.

We are never modifying the source elements, we are only relying on the 
media attribute of those elements. We therefore can't conclude that by 
having a read-only behavior, the media that is currently playing will 
not change.

 > Generally, manipulating source elements manually after the document
 > has been parsed is an unncessarily complicated approach.

Here, using the media attribute, if we implement the first 
interpretation, we are not "manipulating source elements manually", We 
are automatically loading a new resource.

The main concern here is the fact that the author can think that the 
media attribute of the source element works in the same way than @media 
in CSS : it dynamically changes the source automatically according to 
the user environment.

Support for the second interpretation :

 > To change what is playing, just use the src attribute on the
 > media element directly, possibly making use of the canPlayType()
 > method to pick from amongst available resources.

The "just" word here seems to imply modifying the src attribute of the 
audio or video parent is the only way to change the media that is 
playing. By deduction, media attributes of children source elements 
cannot change a the source that is currently playing.

Thanks,
Paul.









More information about the whatwg mailing list