projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'origin/master' into 2.0
[dcpomatic.git]
/
src
/
lib
/
subrip.cc
diff --git
a/src/lib/subrip.cc
b/src/lib/subrip.cc
index 9d207d528d0f04f7060ebc18c5e8d2fbe4228a16..11ad3302d3659abf107eed8b8fa69d33d8109c69 100644
(file)
--- a/
src/lib/subrip.cc
+++ b/
src/lib/subrip.cc
@@
-66,13
+66,18
@@
SubRip::SubRip (shared_ptr<const SubRipContent> content)
switch (state) {
case COUNTER:
{
switch (state) {
case COUNTER:
{
+ if (line.empty ()) {
+ /* a blank line at the start is ok */
+ break;
+ }
+
int x = 0;
try {
x = lexical_cast<int> (line);
} catch (...) {
}
int x = 0;
try {
x = lexical_cast<int> (line);
} catch (...) {
}
-
+
if (x == next_count) {
state = METADATA;
++next_count;
if (x == next_count) {
state = METADATA;
++next_count;
@@
-90,8
+95,7
@@
SubRip::SubRip (shared_ptr<const SubRipContent> content)
throw SubRipError (line, _("a time/position line"), content->path (0));
}
throw SubRipError (line, _("a time/position line"), content->path (0));
}
- current->from = convert_time (p[0]);
- current->to = convert_time (p[2]);
+ current->period = ContentTimePeriod (convert_time (p[0]), convert_time (p[2]));
if (p.size() > 3) {
current->x1 = convert_coordinate (p[3]);
if (p.size() > 3) {
current->x1 = convert_coordinate (p[3]);
@@
-233,5
+237,5
@@
SubRip::length () const
return ContentTime ();
}
return ContentTime ();
}
- return _subtitles.back().to;
+ return _subtitles.back().
period.
to;
}
}