[ttml2] add ttp:mediaDuration and ttp:mediOffset parameter attributes (issues 270, 335, 346)
Binary file ttml2/spec/rnc/schema.zip has changed
--- a/ttml2/spec/rnc/ttml2-datatypes.rnc Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/rnc/ttml2-datatypes.rnc Sun Sep 21 06:37:21 2014 -0600
@@ -132,6 +132,13 @@
"continuous" |
"discontinuous"
+TTAF.MediaDuration.datatype =
+ TTAF.TimeDuration.datatype |
+ "indefinite"
+
+TTAF.MediaOffset.datatype =
+ string
+
TTAF.MetadataAgentType.datatype =
"person" |
"character" |
--- a/ttml2/spec/rnc/ttml2-parameter-attribs.rnc Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/rnc/ttml2-parameter-attribs.rnc Sun Sep 21 06:37:21 2014 -0600
@@ -26,6 +26,10 @@
= attribute ttp:inferProcessorProfileSource { TTAF.InferProcessorProfileSource.datatype }?
TTAF.markerMode.attrib
= attribute ttp:markerMode { TTAF.MarkerMode.datatype }?
+TTAF.mediaDuration.attrib
+ = attribute ttp:mediaDuration { TTAF.MediaDuration.datatype }?
+TTAF.mediaOffset.attrib
+ = attribute ttp:mediaOffset { TTAF.MediaOffset.datatype }?
TTAF.permitFeatureNarrowing.attrib
= attribute ttp:permitFeatureNarrowing { TTAF.PermitFeatureNarrowingOrWidening.datatype }?
TTAF.permitFeatureWidening.attrib
--- a/ttml2/spec/ttml2-changes.html Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/ttml2-changes.html Sun Sep 21 06:37:21 2014 -0600
@@ -42,15 +42,41 @@
for a presentation processor, then use a presentation profile as a default
not a transformation profile.
-* In 5.3.1, add new animation vocabulary, 'animation' and 'animate', to Table 5-3.
-
-* In 5.3.1, add new animation vocabulary, 'animate', to Animation.class in Table 5-4.
+* In 5.3.1, add new animation vocabulary, 'animation' and 'animate', to
+ Table 5-3.
-* In 5.3.1, add new attribute vocabulary, 'tts:border' and 'tts:textOrientation',
+* In 5.3.1, add new parameter attribute vocabulary
+'ttp:contentProfiles',
+'ttp:contentProfileCombination',
+'ttp:inferProcessorProfileMethod',
+'ttp:inferProcessorProfileSource',
+'ttp:mediaDuration,
+'ttp:mediaOffset',
+'ttp:permitFeatureNarrowing',
+'ttp:permitFeatureWidening',
+'ttp:processorProfiles',
+'ttp:processorProfileCombination',
+'ttp:validation',
+'ttp:validationAction',
+and
+'ttp:version'
+to Table 5-5.
+
+* In 5.3.1, add new animation vocabulary, 'animate', to Animation.class in
+ Table 5-4.
+
+* In 5.3.1, add new styling attribute vocabulary
+'tts:border',
+'tts:ruby',
+'tts:rubyAlign',
+'tts:rubyPosition',
+and
+'tts:textOrientation'
+to Table 5-5.
+
+* In 5.3.1, add new animation binding attribute vocabulary, 'animate',
to Table 5-5.
-* In 5.3.1, add new attribute vocabulary, 'animate', to Table 5-5.
-
* In 6.1.1, add support for nesting profiles by changing content model of
ttp:profile to permit either (1) a list of features/extensions or (2)
a list of nested profiles.
@@ -95,6 +121,10 @@
* In 6.2, add 'ttp:inferProcessorProfileSource' parameter attribute.
+* In 6.2, add 'ttp:mediaDuration' parameter attribute.
+
+* In 6.2, add 'ttp:mediaOffset' parameter attribute.
+
* In 6.2, add 'ttp:permitFeatureNarrowing' parameter attribute.
* In 6.2, add 'ttp:permitFeatureWidening' parameter attribute.
@@ -259,6 +289,15 @@
* In Appendix F, add #border, #textOrientation, and #version feature
designators in standard profiles.
+* In Appendix G, add (normative) reference to RFC2396 (URI).
+
+* In Appendix G, add (normative) reference to Ruby Annotations REC.
+
+* In Appendix G, add (normative) reference to CSS Ruby Draft.
+
+* In Appendix G, move SVG1.1 reference from Appendix H and update to Second
+ Edition.
+
* In Appendix O, change appendix designation to normative, effectively
changing the informative concrete encoding recommendation to a normative
recommendation.
@@ -293,6 +332,9 @@
* In 5.*, renumber tables to use M-N format.
+* In 5.1, extend note under Table 5-1 to clarify meaning of unqualified
+ attribute names.
+
* In 6.*, renumber tables to use M-N format.
* In 6.1.3, segregate the semantics of the 'value' attribute according to
@@ -312,12 +354,13 @@
* In 9.3, insert "Inline Regions" as sub-section 9.3.2, renumbering following
sub-sections.
-* In Appendix G, add (normative) reference to RFC2396 (URI).
+* In Appendix H, add (non-normative) reference to CSS Writing Modes Level 3.
-* In Appendix G, move SVG1.1 reference from Appendix H and update to Second
- Edition.
+* In Appendix H, add (non-normative) reference to Japanese Language Requirements
+ (JLREQ).
-* In Appendix H, add (non-normative) reference to CSS Writing Modes Level 3.
+* In Appendix H, add (non-normative) reference to original Namespaces in XML
+ REC (NSOriginal).
* In Appendix H, add (non-normative) reference to SDP US.
--- a/ttml2/spec/ttml2.xml Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/ttml2.xml Sun Sep 21 06:37:21 2014 -0600
@@ -2408,6 +2408,8 @@
<loc href="#parameter-attribute-inferProcessorProfileMethod">ttp:inferProcessorProfileMethod</loc>,
<loc href="#parameter-attribute-inferProcessorProfileSource">ttp:inferProcessorProfileSource</loc>,
<loc href="#parameter-attribute-markerMode">ttp:markerMode</loc>,
+<loc href="#parameter-attribute-mediaDuration">ttp:mediaDuration</loc>,
+<loc href="#parameter-attribute-mediaOffset">ttp:mediaOffset</loc>,
<loc href="#parameter-attribute-permitFeatureNarrowing">ttp:permitFeatureNarrowing</loc>,
<loc href="#parameter-attribute-permitFeatureWidening">ttp:permitFeatureWidening</loc>,
<loc href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</loc>,
@@ -3145,6 +3147,8 @@
<item><p><specref ref="parameter-attribute-inferProcessorProfileMethod"/></p></item>
<item><p><specref ref="parameter-attribute-inferProcessorProfileSource"/></p></item>
<item><p><specref ref="parameter-attribute-markerMode"/></p></item>
+<item><p><specref ref="parameter-attribute-mediaDuration"/></p></item>
+<item><p><specref ref="parameter-attribute-mediaOffset"/></p></item>
<item><p><specref ref="parameter-attribute-permitFeatureNarrowing"/></p></item>
<item><p><specref ref="parameter-attribute-permitFeatureWidening"/></p></item>
<item><p><specref ref="parameter-attribute-pixelAspectRatio"/></p></item>
@@ -3772,6 +3776,85 @@
</p>
</note>
</div3>
+<div3 id="parameter-attribute-mediaDuration">
+<head>ttp:mediaDuration</head>
+<p>The <att>ttp:mediaDuration</att> attribute is used to specify the
+temporal extent (simple duration) of a <loc href="#terms-related-media-object">related media object</loc>.</p>
+<p>If the temporal extent (simple duration) of the <loc href="#terms-related-media-object">related media object</loc> is known at authoring time, then this
+attribute should be specified; otherwise, if no <loc href="#terms-related-media-object">related media object</loc> applies or its
+temporal extent is unknown, then this attribute should not be specified.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-mediaDuration-syntax" role="syntax">
+<caption>Syntax Representation – ttp:mediaDuration</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:mediaDuration
+ : <loc href="#timing-value-timeExpression"><timeExpression></loc> // restricted to <emph>offset-time</emph> form
+ | "indefinite"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, the value of this parameter must either (1) adhere to the <emph>offset-time</emph> form of
+a <loc href="#timing-value-timeExpression"><timeExpression></loc> or (2) take the value <code>indefinite</code>.</p>
+<p>If the value <code>indefinite</code> is specified, then there is no <loc href="#terms-related-media-object">related media object</loc>,
+the temporal extent (simple duration) of the
+<loc href="#terms-related-media-object">related media object</loc> is not known at the time this attribute is
+encoded, or the <loc href="#terms-related-media-object">related media object</loc> has no temporal end point.</p>
+<p>If not specified, the value of this parameter must be considered
+to be <code>indefinite</code>.</p>
+<p>A <att>ttp:mediaDuration</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<p>See <specref ref="timing-time-value-expressions"/> for the
+specification of time expression syntax and semantics.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-mediaOffset">
+<head>ttp:mediaOffset</head>
+<p>The <att>ttp:mediaOffset</att> attribute is used to specify the
+temporal offset between the begin time of the <loc href="#terms-root-temporal-extent">root temporal extent</loc>
+and the begin time of a <loc href="#terms-related-media-object">related media object</loc> when operating in a
+<loc href="#time-expression-semantics-media">Media Time Base</loc>
+or a <loc href="#time-expression-semantics-smpte">SMPTE Time Base</loc>. It does not apply and
+must not be specified when operating in a <loc href="#time-expression-semantics-clock">Clock Time Base</loc>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-mediaOffset-syntax" role="syntax">
+<caption>Syntax Representation – ttp:mediaOffset</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:mediaOffset
+ : sign? <loc href="#timing-value-timeExpression"><timeExpression></loc> // restricted to <emph>offset-time</emph> form
+
+sign
+ : "+" | "-"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, the value of this parameter must adhere to the <emph>offset-time</emph> form of
+a <loc href="#timing-value-timeExpression"><timeExpression></loc> optionally expressed with a sign.
+If not specified, the value of this parameter must be considered
+to be <code>0s</code>.</p>
+<p>If no sign is specified or it is specified as <code>+</code>, then the begin time of the
+<loc href="#terms-root-temporal-extent">root temporal extent</loc> follows the begin time of the
+<loc href="#terms-related-media-object">related media object</loc>; otherwise (sign is present and
+specified as <code>-</code>), the begin time of the
+<loc href="#terms-root-temporal-extent">root temporal extent</loc> precedes the begin time of the
+<loc href="#terms-related-media-object">related media object</loc>.</p>
+<p>A <att>ttp:mediaOffset</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<p>See <specref ref="timing-time-value-expressions"/> for the
+specification of time expression syntax and semantics.</p>
+</note>
+</div3>
<div3 id="parameter-attribute-permitFeatureNarrowing">
<head>ttp:permitFeatureNarrowing</head>
<p>The <att>ttp:permitFeatureNarrowing</att> attribute is used to specify whether
@@ -16640,8 +16723,9 @@
<p>If the computed <code>frameRateMultipler</code> ratio is not integral, then <code>effectiveFrameRate</code> will be a non-integral rational.</p>
</note>
<note role="clarification">
-<p>The above formalisms assumes that the <loc href="#terms-root-temporal-extent">root temporal extent</loc> corresponds with the beginning of a related media object. If
-this assumption doesn't hold, then an additional offset that accounts for the difference may be introduced when computing media time <code>M</code>.</p>
+<p>The begin time of the <loc href="#terms-root-temporal-extent">root temporal extent</loc> is related to the begin time of a
+<loc href="#terms-related-media-object">related media object</loc> in accordance with the computed value of the
+<loc href="#parameter-attribute-mediaOffset"><att>ttp:mediaOffset</att></loc> parameter property.</p>
</note>
</div2>
<div2 id="time-expression-semantics-smpte">
@@ -16756,6 +16840,11 @@
<p>Given the derived media time base as described above, then
media time base <phrase role="strong"><code>M</code></phrase> is related to the local real time <phrase role="strong"><code>R</code></phrase>
as described in <specref ref="time-expression-semantics-media"/> above.</p>
+<note role="clarification">
+<p>The begin time of the <loc href="#terms-root-temporal-extent">root temporal extent</loc> is related to the begin time of a
+<loc href="#terms-related-media-object">related media object</loc> in accordance with the computed value of the
+<loc href="#parameter-attribute-mediaOffset"><att>ttp:mediaOffset</att></loc> parameter property.</p>
+</note>
</div2>
</div1>
<inform-div1 id="common-styling">
Binary file ttml2/spec/xsd/schema.zip has changed
--- a/ttml2/spec/xsd/ttml2-datatypes.xsd Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/xsd/ttml2-datatypes.xsd Sun Sep 21 06:37:21 2014 -0600
@@ -247,6 +247,27 @@
<xs:enumeration value="discontinuous"/>
</xs:restriction>
</xs:simpleType>
+ <xs:simpleType name="mediaDuration">
+ <xs:annotation>
+ <xs:documentation>timeExpression (offset-time form only) | indefinite</xs:documentation>
+ </xs:annotation>
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="ttd:timeDuration"/>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="indefinite"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ <xs:simpleType name="mediaOffset">
+ <xs:annotation>
+ <xs:documentation>sign? timeExpression (offset-time form only)</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
<xs:simpleType name="metadataAgentType">
<xs:restriction base="xs:token">
<xs:enumeration value="person"/>
--- a/ttml2/spec/xsd/ttml2-parameter-attribs.xsd Sun Sep 21 04:41:25 2014 -0600
+++ b/ttml2/spec/xsd/ttml2-parameter-attribs.xsd Sun Sep 21 06:37:21 2014 -0600
@@ -15,6 +15,8 @@
<xs:attribute name="inferProcessorProfileMethod" type="ttd:inferProcessorProfileMethod"/>
<xs:attribute name="inferProcessorProfileSource" type="ttd:inferProcessorProfileSource"/>
<xs:attribute name="markerMode" type="ttd:markerMode"/>
+ <xs:attribute name="mediaDuration" type="ttd:mediaDuration"/>
+ <xs:attribute name="mediaOffset" type="ttd:mediaOffset"/>
<xs:attribute name="processorProfiles" type="ttd:profiles"/>
<xs:attribute name="processorProfileCombination" type="ttd:profileCombination"/>
<xs:attribute name="permitFeatureNarrowing" type="ttd:permitFeatureNarrowingOrWidening"/>
@@ -38,6 +40,8 @@
<xs:attribute ref="ttp:inferProcessorProfileMethod"/>
<xs:attribute ref="ttp:inferProcessorProfileSource"/>
<xs:attribute ref="ttp:markerMode"/>
+ <xs:attribute ref="ttp:mediaDuration"/>
+ <xs:attribute ref="ttp:mediaOffset"/>
<xs:attribute ref="ttp:permitFeatureNarrowing"/>
<xs:attribute ref="ttp:permitFeatureWidening"/>
<xs:attribute ref="ttp:processorProfiles"/>