summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShaun McCance <shaunm@gnome.org>2012-02-28 10:50:33 -0500
committerShaun McCance <shaunm@gnome.org>2012-02-28 12:36:35 -0500
commitfed3253af45e204d00075abf68282600aeb4f8f8 (patch)
tree7377bf3476d6f35cd34d15add30ca9337293b021
parent89a900ab682ee138ea279c78c0b8ab2f8ebe876d (diff)
downloadyelp-xsl-fed3253af45e204d00075abf68282600aeb4f8f8.tar.gz
mal2html-media: Implemented the TTML dur attribute
-rw-r--r--xslt/common/html.xsl6
-rw-r--r--xslt/mallard/html/mal2html-media.xsl78
2 files changed, 58 insertions, 26 deletions
diff --git a/xslt/common/html.xsl b/xslt/common/html.xsl
index 88efe4df..9d7b913e 100644
--- a/xslt/common/html.xsl
+++ b/xslt/common/html.xsl
@@ -1842,9 +1842,9 @@ function yelp_init_video (element) {
currentSpan.text(mins + (secs < 10 ? ':0' : ':') + secs);
ttmlNodes.each(function () {
var ttml = this;
- if (element.currentTime >= parseFloat(ttml.getAttribute('data-begin')) &&
- (!ttml.hasAttribute('data-end') ||
- element.currentTime < parseFloat(ttml.getAttribute('data-end')) )) {
+ if (element.currentTime >= parseFloat(ttml.getAttribute('data-ttml-begin')) &&
+ (!ttml.hasAttribute('data-ttml-end') ||
+ element.currentTime < parseFloat(ttml.getAttribute('data-ttml-end')) )) {
if (ttml.tagName == 'span')
ttml.style.display = 'inline';
else
diff --git a/xslt/mallard/html/mal2html-media.xsl b/xslt/mallard/html/mal2html-media.xsl
index 9bacc3a4..04bcfbc3 100644
--- a/xslt/mallard/html/mal2html-media.xsl
+++ b/xslt/mallard/html/mal2html-media.xsl
@@ -185,12 +185,12 @@ FIXME
</xsl:call-template>
</xsl:variable>
<div class="media-ttml-node media-ttml-p">
- <xsl:attribute name="data-begin">
+ <xsl:attribute name="data-ttml-begin">
<xsl:value-of select="substring-before($beginend, ',')"/>
</xsl:attribute>
<xsl:variable name="end" select="substring-after($beginend, ',')"/>
<xsl:if test="$end != '∞'">
- <xsl:attribute name="data-end">
+ <xsl:attribute name="data-ttml-end">
<xsl:value-of select="$end"/>
</xsl:attribute>
</xsl:if>
@@ -208,10 +208,10 @@ FIXME
</xsl:call-template>
</xsl:variable>
<span class="media-ttml-node media-ttml-span">
- <xsl:attribute name="data-begin">
+ <xsl:attribute name="data-ttml-begin">
<xsl:value-of select="substring-before($beginend, ',')"/>
</xsl:attribute>
- <xsl:attribute name="data-end">
+ <xsl:attribute name="data-ttml-end">
<xsl:value-of select="substring-after($beginend, ',')"/>
</xsl:attribute>
<xsl:apply-templates mode="mal2html.inline.mode"/>
@@ -222,6 +222,7 @@ FIXME
<xsl:param name="range"/>
<xsl:param name="begin" select="@begin"/>
<xsl:param name="end" select="@end"/>
+ <xsl:param name="dur" select="@dur"/>
<xsl:variable name="range_">
<xsl:choose>
<xsl:when test="$range != ''">
@@ -249,28 +250,59 @@ FIXME
</xsl:variable>
<xsl:value-of select="number(substring-before($range_, ',')) + number($begin_s)"/>
<xsl:text>,</xsl:text>
+ <xsl:variable name="end_dur">
+ <xsl:choose>
+ <xsl:when test="$dur">
+ <xsl:variable name="dur_s">
+ <xsl:call-template name="mal2html.ttml.time.seconds">
+ <xsl:with-param name="time" select="$dur"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:value-of select="number($dur_s) + number(substring-before($range_, ',')) + number($begin_s)"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="'∞'"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
+ <xsl:variable name="end_end">
+ <xsl:choose>
+ <xsl:when test="$end">
+ <xsl:variable name="end_s">
+ <xsl:call-template name="mal2html.ttml.time.seconds">
+ <xsl:with-param name="time" select="$end"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:variable name="end_ss" select="number(substring-before($range_, ',')) + number($end_s)"/>
+ <xsl:choose>
+ <xsl:when test="substring-after($range_, ',') = '∞'">
+ <xsl:value-of select="$end_ss"/>
+ </xsl:when>
+ <xsl:when test="number(substring-after($range_, ',')) &lt; $end_ss">
+ <xsl:value-of select="substring-after($range_, ',')"/>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="$end_ss"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:value-of select="substring-after($range_, ',')"/>
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:variable>
<xsl:choose>
- <xsl:when test="$end">
- <xsl:variable name="end_s">
- <xsl:call-template name="mal2html.ttml.time.seconds">
- <xsl:with-param name="time" select="$end"/>
- </xsl:call-template>
- </xsl:variable>
- <xsl:variable name="end_ss" select="number(substring-before($range_, ',')) + number($end_s)"/>
- <xsl:choose>
- <xsl:when test="substring-after($range_, ',') = '∞'">
- <xsl:value-of select="$end_ss"/>
- </xsl:when>
- <xsl:when test="number(substring-after($range_, ',')) &lt; $end_ss">
- <xsl:value-of select="substring-after($range_, ',')"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$end_ss"/>
- </xsl:otherwise>
- </xsl:choose>
+ <xsl:when test="$end_end = '∞'">
+ <xsl:value-of select="$end_dur"/>
+ </xsl:when>
+ <xsl:when test="$end_dur = '∞'">
+ <xsl:value-of select="$end_end"/>
+ </xsl:when>
+ <xsl:when test="number($end_end) &lt; number($end_dur)">
+ <xsl:value-of select="$end_end"/>
</xsl:when>
<xsl:otherwise>
- <xsl:value-of select="substring-after($range_, ',')"/>
+ <xsl:value-of select="$end_dur"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>