Skip to content

Commit e64c7c5

Browse files
committed
feat: allow 1s tolerance for media overlays duration sum check
Fix #1328
1 parent a42b070 commit e64c7c5

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

src/main/java/com/adobe/epubcheck/opf/OPFChecker30.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -439,7 +439,7 @@ private void checkMediaOverlaysDuration()
439439
}
440440
}
441441
// report if the sum and total don't match
442-
if (!totalDuration.equals(sumDuration))
442+
if (!totalDuration.eqWithinTolerance(sumDuration, 1000))
443443
{
444444
report.message(MessageId.MED_016, EPUBLocation.of(context));
445445
}

src/test/resources/epub3/09-media-overlays/files/mediaoverlays-duration-total-not-sum-warning.opf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<!-- Media Overlays Duration Properties -->
1010
<meta property="media:duration">10min</meta>
1111
<meta refines="#mo001" property="media:duration">5min</meta>
12-
<meta refines="#mo002" property="media:duration">0:05:00.200</meta>
12+
<meta refines="#mo002" property="media:duration">0:05:01.100</meta>
1313
</metadata>
1414
<manifest>
1515
<item id="t001" href="contents.xhtml" properties="nav" media-type="application/xhtml+xml"/>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<package xmlns="http://www.idpf.org/2007/opf" version="3.0" unique-identifier="uid"
3+
xmlns:dc="http://purl.org/dc/elements/1.1/">
4+
<metadata>
5+
<dc:title>Title</dc:title>
6+
<dc:language>en</dc:language>
7+
<dc:identifier id="uid">NOID</dc:identifier>
8+
<meta property="dcterms:modified">2019-01-01T12:00:00Z</meta>
9+
<!-- Media Overlays Duration Properties -->
10+
<meta property="media:duration">10min</meta>
11+
<meta refines="#mo001" property="media:duration">5min</meta>
12+
<meta refines="#mo002" property="media:duration">0:05:00.500</meta>
13+
</metadata>
14+
<manifest>
15+
<item id="t001" href="contents.xhtml" properties="nav" media-type="application/xhtml+xml"/>
16+
<item id="mo001" href="mediaoverlay_001.smil" media-type="application/smil+xml"/>
17+
<item id="mo002" href="mediaoverlay_002.smil" media-type="application/smil+xml"/>
18+
</manifest>
19+
<spine>
20+
<itemref idref="t001"/>
21+
</spine>
22+
</package>

src/test/resources/epub3/09-media-overlays/media-overlays.feature

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,13 @@ Feature: EPUB 3 — Media Overlays
316316
And the message contains "item media:duration meta element not set"
317317
And no other errors or warnings are reported
318318

319+
@spec @xref:sec-mo-package-metadata
319320
Scenario: the total duration should be the sum of all Media Overlay durations
320321
When checking file 'mediaoverlays-duration-total-not-sum-warning.opf'
321322
Then warning MED-016 is reported
322323
And no other errors or warnings are reported
324+
325+
@spec @xref:sec-mo-package-metadata
326+
Scenario: the total duration has a 1s tolerance
327+
When checking file 'mediaoverlays-duration-total-within-tolerance-valid.opf'
328+
Then no errors or warnings are reported

0 commit comments

Comments
 (0)