mirror of
https://github.com/mpv-player/mpv
synced 2025-04-26 13:19:12 +00:00
changed subreader.c to read microdvd lines in form "{%ld}{}[^\r\n]" too
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4049 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
9e128e3e82
commit
8da82b8b0e
17
subreader.c
17
subreader.c
@ -171,11 +171,18 @@ subtitle *sub_read_line_microdvd(FILE *fd,subtitle *current) {
|
|||||||
char *p, *next;
|
char *p, *next;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
static subtitle *prevsub = NULL;
|
||||||
|
|
||||||
memset(current, 0, sizeof(subtitle));
|
memset(current, 0, sizeof(subtitle));
|
||||||
|
|
||||||
do {
|
do {
|
||||||
if (!fgets (line, LINE_LEN, fd)) return NULL;
|
if (!fgets (line, LINE_LEN, fd)) return NULL;
|
||||||
} while (sscanf (line, "{%ld}{%ld}%[^\r\n]", &(current->start), &(current->end),line2) <3);
|
} while ((sscanf (line,
|
||||||
|
"{%ld}{}%[^\r\n]",
|
||||||
|
&(current->start), line2) < 2) &&
|
||||||
|
(sscanf (line,
|
||||||
|
"{%ld}{%ld}%[^\r\n]",
|
||||||
|
&(current->start), &(current->end), line2) < 3));
|
||||||
|
|
||||||
p=line2;
|
p=line2;
|
||||||
|
|
||||||
@ -187,6 +194,14 @@ subtitle *sub_read_line_microdvd(FILE *fd,subtitle *current) {
|
|||||||
}
|
}
|
||||||
current->lines= ++i;
|
current->lines= ++i;
|
||||||
|
|
||||||
|
if (!current->end)
|
||||||
|
current->end = current->start + 150; /* approx 6 sec */
|
||||||
|
|
||||||
|
if (prevsub && (prevsub->end >= current->start))
|
||||||
|
prevsub->end = current->start - 1; /* correct previous end time */
|
||||||
|
|
||||||
|
prevsub = current;
|
||||||
|
|
||||||
return current;
|
return current;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user