The only change for to the Media Object Modules for SMIL 2.1 is the introduction of the paramGroup element to predefine sets of common param element values in the document head section and a facility to refer to these definitions from media object references within the body section. This change is made to reduce the size of a SMIL document containing many similar parameter definitions and to ease the authoring and maintenance of SMIL 2.1 documents that use the elements and attributes in the MediaParam Module.
This change has resulted in an expanded definition of the MediaParam module. No other changes have been made to the other media object modules for the SMIL 2.1 release.
The following sections will highlight any text changes to the media object modules specification. Where no changes have been made, this is explicitly noted.
This entire section remains unchanged.
This entire section remains unchanged.
This entire section remains unchanged.
The introduction of this section remains unchanged.
SMIL 2.1 adds a new facility to predefine commonly-used parameters in the document head section. The new sections below define the new elements and attributes of the SMIL 2.1 MediaParam Module. Unless explicitly noted, all of the functionality of the SMIL 2.0 MediaParam Module remain unchanged.
This section expands the definition of the param element for SMIL 2.1 to include the integration of the paramGroup element.
The param element allows a general parameter value to be sent to a media object renderer as a name/value pair. This parameter is sent to the renderer at run-time. Any number of param elements may appear (in any order) in the content of a media object element or in a paramGroup element.
The syntax of names and values is assumed to be understood by the object's implementation. This document does not specify how user agents should retrieve name/value pairs nor how they should interpret parameter names that appear multiple times within the same paramGroup element or as children of a media object.
Example
<ref src="http://www.example.com/herbert.face"> <param name="mood" value="surly" valuetype="data"/> <param name="accessories" value="baseball-cap,nose-ring" valuetype="data"/> </ref>
The paramGroup element provides a convenience mechanism for defining a group of media parameters that may be used with several different media objects. If present, the paramGroup element must appear in the head section of the document. The content of the paramGroup element consists of zero or more param elements. The paramGroup element may not contain nested paramGroup element definitions.
Element attributes
Examples
This section contains several fragments that illustrate uses of the paramGroup element.
In the following fragment, a paramGroup is created to define parameters that are passed to several different media objects:
<smil ... > <head> ... <paramGroup id="clown"> <param name="mood" value="upBeat" valuetype="data"/> <param name="accessories" value="flowers,dunceCap"/> </paramGroup> ... </head> <body> ... <ref src="http://www.example.com/andy.face" paramGroup="clown"/> ... <ref src="http://www.example.com/sally.face" paramGroup="clown"/> ... </body> </smil>
In the following example, a media object provides an additional param value:
<smil ... > <head> ... <paramGroup id="clown"> <param name="mood" value="upBeat" valuetype="data"/> <param name="accessories" value="flowers,dunceCap"/> </paramGroup> ... </head> <body> ... <ref src="http://www.example.com/andy.face" paramGroup="clown"> <param name="gender" value="male"/> </ref> ... </body> </smil>
In this final example, a media object provides a duplicate param value. The behavior in this case depends on the media renderer; all param values are passed to the renderer in the lexical order of the SMIL source file.
<smil ... > <head> ... <paramGroup id="clown"> <param name="mood" value="upBeat" valuetype="data"/> <param name="accessories" value="flowers,dunceCap"/> </paramGroup> ... </head> <body> ... <ref src="http://www.example.com/andy.face" paramGroup="clown"> <param name="gender" value="male"/> <param name="mood" value="depressed" valuetype="data"/> </ref> ... </body> </smil>
In addition to the element attributes defined in BasicMedia, media object elements may have the attributes and attribute extensions defined below. The inclusion or exclusion of these attributes is left as an option in the language profile.
SMIL 2.1 adds the paramGroup attribute to the list of attibutes available for media objects. For completeness, the entire set of attributes is reproduced here.
Values:
Example:
<par> <seq> <par> <img src="image1.jpg" region="foo1" fill="freeze" erase="never" .../> <audio src="audio1.au"/> </par> <par> <img src="image2.jpg" region="foo2" fill="freeze" erase="never" .../> <audio src="audio2.au"/> </par> ... <par> <img src="imageN.jpg" region="fooN" fill="freeze" erase="never" .../> <audio src="audioN.au"/> </par> </seq> </par>
In this example, each image is successively displayed and remains displayed until the end of the presentation.
Values:
As an example of how this would be used, many animated GIFs intrinsically repeat indefinitely. The application of mediaRepeat= "strip" allows an author to remove the intrinsic repeat behavior of an animated GIF on a per-reference basis, causing the animation to display only once, regardless of the repeat value embedded in the GIF.
When mediaRepeat is used in conjunction with SMIL Timing Module attributes, this attribute is applied first, so that the repeat behavior can then be controlled with the SMIL Timing Module attributes such as repeatCount and repeatDur.
Values:
This section remains unchanged.
This entire section remains unchanged.
This entire section remains unchanged.
This entire section remains unchanged.
This entire section remains unchanged.
This entire section remains unchanged.
This sub-section remains unchanged.
This entire section remains unchanged.
The text in this section is changed to highlight the media parameter definition facility in SMIL 2.1.
A new param element provides a generalized mechanism to attach media-specific attributes to media objects. A new paramGroup element provides a convenience grouping mechanism to collect commonly used param element definitions into a single unit that may be referenced by multiple media objects.
This entire section remains unchanged.