This section is informative.
There are three major changes to the Media Object modules for SMIL 3.0:the first is the splitting of the SMIL 2.1 MediaParam module into twomodules: theMediaParam andMediaRenderAttributes modules;the second is the introduction of theMediaOpacity module, containing newrendering attributes for chroma key and opacity control; the third is theintroduction of theMediaPanZoommodule. The rationale for these changes is:
TheMediaParam module also includesnew text that explicitly discusses the behavior of adding the various mediacontrol attributes defined in that section to a SMIL layout region definitionas a means of providing a global mechanism for applying default attributesettings to all content rendered within that region.
A number of editorial changes have also been integrated into the variousMedia Object modules descriptions; these do not impact the functionalitydefined in earlier versions of SMIL.
This section is informative.
This section defines the SMIL media object modules, which are composed oftheBasicMedia module and nine moduleswith additional functionality that build on top of the BasicMedia module: theBrushMedia,MediaClipping,MediaClipMarkers,MediaParam,MediaRenderAttributes,MediaOpacity,MediaAccessibility,MediaDescription, andMediaPanZoom modules. These modulescontain elements and attributes used to reference external media objects orcontrol media object rendering behavior. Since these elements and attributesare defined in a series of modules, designers of other markup languages mayreuse the SMIL media module when they wish to include media objects intotheir language.
The differences between current media object functionality and thatprovided by the SMIL 1.0 specification are explained inAppendix A.
This section is normative.
This section provides convenience definitions for common timing andresource identifier terms used in this module.
SMIL provides a number of timing-related concepts that are used todetermine activation, duration and termination of media objects in apresentation. The temporal semantics of these concepts are discussed in theSMIL 3.0Timing and Synchronization module.
The distinction between continuous anddiscrete media is sometimes arbitrary and may be SMIL renderer dependent. Forexample, animated images that do not have a well-defined duration (simply arepeating collection of frames) are classified for SMIL scheduling purposesas being discrete media; such objects have an intrinsic scheduling durationof zero seconds.
In this specification, the term URI[URI] refers to a universal resourceidentifier, as defined in[RFC3986] and subsequently extended under thename IRI in[RFC3987]. In some cases, the term URI has been retained in thespecification to avoid using new names for concepts such as "Base URI" thatare defined or referenced across a whole family of XML specifications.
This section is normative.
This module defines the baseline media functionality of a SMIL player.
SMIL defines a single generic media object element that allows theinclusion of external media objects into a SMIL presentation. Media objectsare included by reference (using a IRI).
In addition to the ref element, SMIL allows the use of the following setof synonyms:
All of these media elements are semantically identical. When playing backan external media object, the player must not derive the exact type of themedia object from the name of the media object element. Instead, it must relysolely on other sources about the type, such as the type informationcommunicated by a server or the operating system, or by using typeinformation contained in thetypeattribute.
This section is informative.
Authors are encouraged to use meaningful synonyms (animation, audio, img,video, text or textstream) when referencing external media objects. This isin order to increase the readability of the SMIL document. Some SMILimplementations may require the use of an element type that matches theinformation type of the object. When in doubt about the group of a mediaobject, authors should use the generic "ref" element.
The animation element defined here should not be confused with theelements defined in the SMIL 3.0AnimationModule. The animation element defined in this module is used to includean external animation object file (such as a vector graphics animation) byreference. This is in contrast to the elements defined in the Animationmodule, which provide an in-line syntax for the animation of attributes andproperties of other elements.
SMIL 3.0 also supports the
Anchors and links may be attached to visual media objects, i.e. mediaobjects rendered on a visual abstract rendering surface.
Languages implementing the SMIL BasicMedia Module must define whichattributes may be attached to media object elements. In all languagesimplementing the SMIL BasicMedia module, media object elements may have thefollowing attributes:
The attribute supports fragment identifiers and the '#' connector in the IRI value. The fragment part is an id value that identifies one of the elements within the referenced media item. With this construct, SMIL 3.0 supports locators as currently used in HTML (that is, it uses locators of the formhttp://www.example.org/some/path#anchor1), with the difference that the values are of unique identifiers and not the values of "name" attributes. Generally speaking, this type of addressing implies that the target media is of a structured type that supports the concept of id, such as HTML or XML-based languages.
Note that this attribute is not required. A media object with nosrc attribute has an intrinsic duration of zero, and participates in timing just as any other media element. No media will be fetched by the SMIL implementation for a media element without asrc attribute.
When the content represented by a URL is available in many data formats, implementations MAY use thetype value to influence which of the multiple formats is used. For instance, on a server implementing HTTP content negotiation, the client may use thetype attribute to order the preferences in the negotiation. Thetype attribute is not intended for use in media sub-stream selection.
For protocols not enumerated in this specification, implementations should use the following rules: When the media is encapsulated in a media file and delivered intact to the SMIL user agent via a protocol designed for delivery as a complete file, the media type as provided by this protocol should take precedence over thetype attribute value. For protocols which deliver the media in a media-aware fashion, such as those delivering media in a manner using or dependent upon the specific type of media, the application of the type attribute is not defined by this specification.
Element Content
Languages utilizing the SMIL BasicMedia module must define the completeset of elements which may act as children of media object elements. There arecurrently no required children of a media object defined in the BasicMediaModule, but languages utilizing the BasicMedia module may impose requirementsbeyond this specification.
If the including profile supports the XMLBase functionality
User-agent implementations are responsible for defining the renderingbehavior when fragment addressing is used in the
- User-agents should define the default behavior for when referencing anon-existing id in the target media document.
- User-agents should define the rendering method for the selected mediafragment: in context, with or without highlighting and scrolling, orstand-alone (selective rendering only).
- User-agents should describe the timing implication for when addressingtimed-content.
SMIL 3.0 allows but does not require user agents to be able to processXPointer values in the IRI value of the src attribute. The SMIL 3.0 LinkingModule provides additional information related to XPointer.
This section is normative.
This section defines the elements and attributes that make up the SMILMediaParam Module definition. The MediaParam module is intended to provide auniform mechanism for media object initialization. Languages implementingelements and attributes found in the MediaParam module must implement allelements and attributes defined below, as well asBasicMedia.
Theparam element allows a generalparameter value to be sent to a media object renderer as a name/value pair.This parameter is sent to the renderer at the time that the media object isprocessed by the scheduler. It is up to the media renderer to associate anaction with the given param. The media renderer may choose to ignore anyunknown or inappropriate param values (such as sending a font size to anaudio object).
Any number ofparam elements mayappear (in any order) in the content of a media object element or in a
The syntax of names and values is assumed to be understood by the object'simplementation. The SMIL specification does not specify how user agentsshould retrieve name/value pairs.
Example
This section is informative.
To illustrate the use ofparam,suppose that we have a facial animation plug-in that is able to acceptdifferent moods and accessories associated with characters. These could bedefined in the following way:<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>
TheparamGroup elementprovides a convenience mechanism for defining a collection of mediaparameters that may be reused with several different media objects. Ifpresent, theparamGroup elementmust appear in thehead section of thedocument. The content of the
Element attributes
This element does not define any new attributes. Profiles integrating thiselement must specify an attribute of type ID[XML11] by which the paramgroup is referenced in a media object reference. For SMIL 3.0, the xml:idattribute will typically be used.
Examples
This section is informative.
This section contains several fragments that illustrate uses of the
In the following fragment, a paramGroup is created to define parametersthat are passed to several different media objects:
<smil ... > <head> ... <paramGroup xml: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 paramvalue:
<smil ... > <head> ... <paramGroup xml: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 arepassed to the renderer in the lexical order of the SMIL source file. It isexpected that the lexically last value for any parameter sent to the rendererbe used, if possible.
<smil ... > <head> ... <paramGroup xml: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 inBasicMedia, media object elements andlayout regions may add the media initialization attribute defined below.
Any profile that integrates the functionality of this module is stronglyencouraged to define a set of common parameter names that may be used toinitialize common media object types for that profile. This can significantlyincrease interoperability of user agents and media rendering libraries.
The supported uses of thetypeandvaluetype attributes ontheparam element must be specified bythe integrating profile. If a profile does not specify this, the
This section is normative.
This section defines the elements and attributes that make up the SMILMediaRenderAttributes Module definition. Languages implementing elements andattributes found in the MediaRenderAttributes module must implement allelements and attributes defined below, as well asBasicMedia.
This module does not define any elements.
In addition to the element attributes defined inBasicMedia, media object elements andlayout regions may have the attributes and attribute extensions definedbelow.
Values:
Example:
This section is informative.
<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 ofmediaRepeat= "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.
WhenmediaRepeat 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 asrepeatCount andrepeatDur.
Values:
Any profile that supports theeraseattribute must define what is meant by "display area" and further define theinteraction. See the definition of
This section is normative.
This section defines the elements and attributes that make up the SMILMediaOpacity Module definition. Languages implementing elements andattributes found in the MediaOpacity module must implement all elements andattributes defined below, as well asBasicMedia.
This module does not define any elements.
In addition to the element attributes defined inBasicMedia, media object elements andlayout regions may have the attributes and attribute extensions definedbelow.
This section is informative.
The attributes in this module allow the opacity (that is, the degree towhich a media object is transparent) to be defined. Opacity may be controlledin several ways, depending on the type of media being used. For unstructuredmedia (that is, media that does not contain an explicitly-defined backgroundcolor), the chromaKey attribute may be used to identify a particular colorthat will serve as the background color for purposes of opacity manipulation.If a chromaKey is used, the chromaKeyOpacity attribute may specify the degreeof transparency desired. Since the color used to define a background may notbe exactly preserved within a media object, the chromaKeyTolerance attributeallows a tolerance range to be defined for the chroma key color.
Some media objects, such as RealText, smilText, GIF, PNG, and Flash,define an explicit background color. In these cases, the specification of theopacity of that color can be done using the mediaBackgroundOpacity attribute.In these cases, only the defined color is manipulated.
In addition to specifying the transparency level of a particularbackground color, SMIL also allows the specification of the transparencylevel of a total media object. This is accomplished using the mediaOpacityattribute.
Note that SMIL layout also defines the
This module does not introduce any special integration constraints.
This section is normative.
This section defines the attributes that make up the SMIL MediaClippingModule definition. Languages implementing the attributes found in theMediaClipping module must implement the attributes defined below, as well asBasicMedia.
Clip-value-MediaClipping ::= [ Metric "=" ] ( Clock-val | Smpte-val )Metric ::= Smpte-type | "npt" Smpte-type ::= "smpte" | "smpte-30-drop" | "smpte-25"Smpte-val ::= Hours ":" Minutes ":" Seconds [ ":" Frames [ "." Subframes ]]Hours ::= DIGIT+Minutes ::= DIGIT DIGIT /* range from 00 to 59 */Seconds ::= DIGIT DIGIT /* range from 00 to 59 */Frames ::= DIGIT DIGIT /* smpte range = 00-29, smpte-30-drop range = 00-29, smpte-25 range = 00-24 */Subframes ::= DIGIT DIGIT /* smpte range = 00-01, smpte-30-drop range = 00-01, smpte-25 range = 00-01 */DIGIT ::= [0-9]
The value of this attribute consists of a metric specifier, followed by a time value whose syntax and semantics depend on the metric specifier. The following formats are allowed:
The time value has the format hours:minutes:seconds:frames.subframes. If the subframe value is zero, it may be omitted. Subframes are measured in one-hundredths of a frame.
Examples:clipBegin="smpte=10:12:33"
This section is informative.
The introduction of subframe notation in SMIL 2.1 introduced an inconsistency with SMIL 1.0. As of this draft, SMIL 3.0 has deprecated the subframe notation.
clipBegin="npt=123.45s"
clipBegin="npt=12:05:35.3
"If no metric specifier is given, then a default of "npt=" is presumed.
When used in conjunction with the timing attributes from the SMIL Timing Module, this attribute is applied before any SMIL Timing Module attributes.
clipBegin may also be expressed asclip-begin for compatibility with SMIL 1.0. Software supporting the SMIL 2.1 Language Profile must be able to handle bothclipBegin andclip-begin, whereas software supporting only the SMIL MediaClipping module only needs to supportclipBegin. If an element contains both aclipBegin and aclip-begin attribute, thenclipBegin takes precedence overclip-begin.
Example:
This section is informative.
<audio src="radio.wav" clip-begin="5s" clipBegin="10s" />
The clip begins at second 10 of the audio, and not at second 5, since theclip-begin attribute is ignored. A strict SMIL 1.0 implementation will start the clip at second 5 of the audio, since the clipBegin attribute will not be recognized by that implementation. SeeChanges to SMIL 1.0 Media Object Attributes for more discussion on this topic.
SeeChanges to SMIL 1.0 Media Object Attributes for more discussion on this topic.
This section is normative.
This section defines the attribute extensions that make up the SMILMediaClipMarkers Module definition. Languages implementing elements andattributes found in the MediaClipMarkers module must implement all elementsand attributes defined below, as well asBasicMedia andMediaClipping.
Clip-value-MediaClipMarkers ::= Clip-value-MediaClipping | "marker" "=" URI-reference /* "URI-reference" is defined in[URI] */
Example: Assume that a recorded radio transmission consists of a sequence of songs, which are separated by announcements by a disk jockey. The audio format supports marked time points, and the begin of each song or announcement with number X is marked as songX or djX respectively. To extract the first song using the "marker" metric, the following audio media element may be used:
<audio clipBegin="marker=#song1" clipEnd="marker=#dj1" />
This section is normative.
This section defines the elements and attributes that make up the SMILBrushMedia Module definition. Languages implementing elements and attributesfound in the BrushMedia module must implement all elements and attributesdefined below.
Thebrush element is a lightweight media objectelement which allows an author to paint a solid color in place of a mediaobject. Attributes associated with media objects may also be applied to
Profiles including the BrushMedia module must provide semantics for usingacolor attribute value of
This section is normative.
This section defines the elements and attributes that make up the SMILMediaAccessibility Module definition. Languages implementing elements andattributes found in the MediaAccessibility module must implement all elementsand attributes defined below, as well asMediaDescription.
It is strongly recommended that all media object elements have an "alt" attribute with a brief, meaningful description. Authoring tools should ensure that no element may be introduced into a SMIL document without this attribute.
The value of this attribute is a CDATA text string.
Elements that containalt,title orlongdesc attributes are read by the assistive technology according to the following rules:
Example
This section is informative.
<par> <video xml:id="carvideo" src="car.rm" region="videoregion" title="Car video" alt="Illustration of relativistic time dilation and length contraction." longdesc="carvideodesc.html" readIndex="3"/> <audio xml:id="caraudio" src="caraudio.rm" region="videoregion" title="Car presentation voiceover" begin="bar.begin"/> <animation xml:id="cardiagram" src="car.svg" region="animregion" title="Diagram of the car" readIndex="2"/> <img xml:id="scvad" src="scv.png" region="videoregion" title="Advertisement for Sugar Coated Vegetables" readIndex="1"/></par>
In this example, an assistive device that is presenting titles should present the "scvad" element title first (having the lowest readIndex value of "1"), followed by the "cardiagram" title, followed by the "carvideo" element title, and finally present the "caraudio" element title (having an implicit readIndex value of "0").
Note that not all examples in this specification use all media accessibility attributes because the purpose of the sample code is to illustrate specific language features.
This section is normative.
This section defines the elements and attributes that make up the SMILMediaDescription Module definition. Languages implementing elements andattributes found in the MediaDescription module must implement all elementsand attributes defined below.
This attribute is deprecated in favor of using appropriate SMIL metadata markup in RDF. For example, this attribute maps well to the "description" attribute as defined by the Dublin Core Metadata Initiative[DC].
The value of this attribute is a CDATA text string.
The value of this attribute is a CDATA text string.
xml:lang differs from thesystemLanguage test attribute in one important respect.xml:lang provides information about the content's language independent of what implementations do with the information, whereassystemLanguage is a test attribute with specific associated behavior (seesystemLanguage inSMIL Content Control Module for details)
This section is informative.
SMIL 3.0 also supports the use of the
This section is normative.
This section is informative.
The SMIL MediaPanZoom module integrates the functionality of the SVGviewBox attribute and adapts it for use within the SMIL media framework. TheSMILpanZoom attribute allows a SMILauthor to define a two-dimensional extent over the visible surface of a mediaobject and to subsequently project the contents within the panZoom area intoa SMIL presentation.
Most of SMIL's layout elements and attributes provide the ability todefine and manage a two-dimensional rendering space. This space is definedrelative to a root-layout (or topLayout) specification. All of the coordinateand size specifications are in terms of the coordinate space defined for thelayout root. In contrast, the panZoom attribute allows users to define anarea in terms of the coordinate space used by the media object that isassociated with the panZoom area. The panZoom area may be smaller, equal to,or larger than the related media object.
The following illustration shows three views of a 300x200 pixel image. Inthe left view, a panZoom area is shown that is the same size as the mediaobject; in the middle view, a panZoom area is defined that covers the middlepart of the image only; in the right view, a panZoom area is illustrated thatis positioned (in both dimensions) partially outside the media object. Notethat while this illustration shows the panZoom area projected onto an image,similar illustrations could be defined for videos or text objects, or anyother object that may be mapped to a particular media bounding box.
Once a portion of a media object's visible area is defined with a panZoomarea, the portion within the panZoom area is processed further as if itdefined the full native view of the media object. The content within thepanZoom area is projected into a region in a manner that is dependent on theregion element associated with thatobject, including any scaling dictated by the
If the region and the panZoom area have the same aspect ratios, then thepanZoom area will, by default, fill the entire region. If the effective pixeldimensions of the region are larger than that of the panZoom area, the effectwill be an enlargement of the media content. If the effective pixeldimensions of the window are smaller than that of the panZoom area, theeffect will be a reduction in size of the media object. Other effects may beobtained by manipulating thefitattribute of the region.
If supported by the profile implementing this module, a dynamicpan-and-zoom effect may be obtained by applying standard SMIL animationprimitives to the dimensions of the panZoom area. A pan effect may beobtained by varying the X and Y positioning values, and a zoom effect may beobtained by changing the size dimensions of the panZoom area. Examples ofthese effects are given later in this module description. Given the nature ofindependently animating collections of attribute values, care should be takenwhen specifying animation behavior.
If a panZoom area extends past the viewable extents of a media object(such as in the rightmost illustration, above), then the effective contentsof these extended areas will be transparent.
This module does not define any new elements. It provides extensions totheref element (and its synonyms), andto theregion element.
ThepanZoom attribute is added tomedia object references.
The panZoom area is processed on the media object before any other SMILlayout processing occurs. The actual visual rendering of the contentresulting from the processed panZoom area will be determined by, among otherfactors: the size of the target region, the application of sub-regionpositioning in that region (if supported by the profile), the value of thefit attribute on the region, and the effect of SMIL alignment attributes (ifsupported by the profile).
This section is informative.
If the profile integrating the panZoom element allows each of theattribute values to be animated, care should be taken to choose an animationcalculation mode that will yield predictable results (such as using a linearmode). The animation of mixed percentage/pixel values for height and width isnot recommended.
Note that the specification of negative values for left and top is not anerror; this allows placing (a portion of) the panZoom area outside of themedia.
The SMIL MediaPanZoom module does not extend the content model for theref element integrating theseattributes.
ThepanZoom attribute is added toregions definitions.
The SMIL MediaPanZoom module does not extend the content model for theregion element integrating theseattributes.
This section is informative.
Assume the following SMIL example:
<smil ...> <head> ... <layout> <root-layout height="200" width="300" backgroundColor="red" /> <region xml:id="I" top="0" left="0" height="200" width="300" backgroundColor="blue" /> </layout> </head> <body> <seq> <ref xml:id="R1" src="table.jpg" panZoom="0,0,300,200" dur="5s" region="I" /> <ref xml:id="R2" src="table.jpg" panZoom="80,50,160,125" dur="5s" region="I" fit="meet"/> <ref xml:id="R3" src="table.jpg" panZoom="80,50,160,125" dur="5s" region="I" fit="meetBest"/> <ref xml:id="R4" src="table.jpg" panZoom="240,120,85,110" dur="5s" region="I" fit="meet"/> </seq> </body></smil>
In this example, a single region is defined that is used to display fourinstances of the same image. Each media reference within the sequence Scontains a different panZoom area definition, each of which will result inthe following behavior:
Note that the origin of the sub-image defined by the panZoom area is placed at the origin of the top-left of the region. Note also that the value of the fit attribute determines that the image is scaled (while maintaining the aspect ratio), resulting in the zoom effect.
All of the previous examples illustrate how a panZoom area operates on amedia object that contains a media-defined viewable extent. The panZoomattribute may also be applied to visual objects that do not have predefinedextents. Consider the following example, in which an unstructured text objectis placed in a region:
<smil ...> <head> ... <layout> <root-layout height="200" width="300" backgroundColor="red" /> <region xml:id="T" top="0" left="0" height="50" width="300" backgroundColor="blue" /> </layout> </head> <body> <seq> <ref xml:id="R0" src="short_story.txt" panZoom="0,10,50,200" dur="10s" region="T" /> </seq> </body></smil>
In this example, a single region is defined that is used to display aundimensioned text object. In SMIL 3.0, the text object would first berendered to an off-screen bitmap based on the default settings for the mediaobject (font, font size, font color) and then a panZoom area of the definedsize would be overlaid on this text representation. This facility isespecially useful when combined with SMIL Animation, as discussed in the nextexample.
The ability to define a panZoom area, when combined with SMIL animationprimitives, provides a simple mechanism for doing pan/zoom animations over avisual object. (These pan/zoom animations are often called 'Ken Burns'animations.) The following example illustrates how a pan window may bepositioned and moved over an image area:
<smil ...> <head> ... <layout> <root-layout height="200" width="300" backgroundColor="red" /> <region xml:id="B" top="0" left="0" height="50" width="75" backgroundColor="blue" /> </layout> </head> <body> <seq> <ref xml:id="R0" src="table_233x150.jpg" panZoom="0,0,50,75" dur="20s" region="B" fit="meet" > <animate attributeName="panZoom" values="25,20,50,75; 45,55,50,75; 140,40,50,75; 35,0,100,150; 0,0,100,150" dur="20s" /> </ref> ... </seq> </body></smil>
In this example, an image with intrinsic size of 233x150 pixels isrendered into a region of size 50x75. An initial panZoom area is defined thatdisplays a 50x75 portion of that image, positioned in its top-left corner.During the following 20 seconds, the panZoom area is moved across the imageaccording to the behavior of the animate element; the panZoom area changesare scheduled at equal points across the animation timeline (in this case,every 5 seconds). During the final animation, the panZoom area is extended toimplement a zoom-out across the entire image. An illustration of therendering results is shown below:
This module does not define any SMIL events.
The MediaPanZoom module allows individual media object references tooverride the default values for certain attributes. In all cases, theattributes will apply only to the (sub-)region referenced by the mediaobject. Changes will not propagate to child sub-regions or to parentregions.
The functionality in this module builds on top of the functionality in theMedia module, which is a requiredprerequisite for inclusion of the MediaPanZoom module.
The functionality in this module builds on the viewBox definition of SVG.Unlike SVG, the SMIL panZoom attribute defines a logical sub-image thatcontains only content within the panZoom area; SVG uses the viewBox to definea minimum viewing dimension for content, but allowing content outside theviewBox to be displayed in the region.
The MediaPanZoom module does not define a preserveAspectRatio attribute,since this functionality is already provided by the SMIL fit andregistration/alignment attributes.
See the fullDTD for the SMILLayout modules.
This section is informative.
With regards to the clipBegin/clip-begin and clipEnd/clip-end elements,SMIL 3.0 defines the following changes to the syntax defined in SMIL 1.0:
Using attribute names with hyphens such as
Authors may use two approaches for writing SMIL 3.0 presentations that usethe new clipping syntax and functionality ("marker", default metric) definedin this specification, but can still can be handled by SMIL 1.0 software.First, authors may use non-hyphenated versions of the new attributes that usethe new functionality, and add SMIL 1.0 conformant clipping attributes laterin the text.
Example:
<audio src="radio.wav" clipBegin="marker=song1" clipEnd="marker=moderator1" clip-begin="npt=0s" clip-end="npt=3:50" />
SMIL 1.0 players implementing the recommended extensibility rules of SMIL1.0[SMIL10] will ignore the clip attributesusing the new functionality, since they are not part of SMIL 1.0. SMIL 3.0players, in contrast, will ignore the clip attributes using SMIL 1.0 syntax,because the SMIL 3.0 syntax takes precedence over the SMIL 1.0 syntax.
The second approach is to use the following steps:
Example:
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0" baseProfile="Language">...<switch> <audio src="radio.wav" clipBegin="marker=song1" clipEnd="marker=moderator1" system-required="smil2" /> <audio src="radio.wav" clip-begin="npt=0s" clip-end="npt=3:50" /></switch>