|
|
|
@@ -94,6 +94,7 @@ static int microdvd_read_header(AVFormatContext *s) |
|
|
|
int64_t pos = avio_tell(s->pb); |
|
|
|
int len = ff_get_line(s->pb, line_buf, sizeof(line_buf)); |
|
|
|
char *line = line_buf; |
|
|
|
int64_t pts; |
|
|
|
|
|
|
|
if (!strncmp(line, bom, 3)) |
|
|
|
line += 3; |
|
|
|
@@ -137,13 +138,16 @@ static int microdvd_read_header(AVFormatContext *s) |
|
|
|
SKIP_FRAME_ID; |
|
|
|
if (!*p) |
|
|
|
continue; |
|
|
|
pts = get_pts(line); |
|
|
|
if (pts == AV_NOPTS_VALUE) |
|
|
|
continue; |
|
|
|
sub = ff_subtitles_queue_insert(µdvd->q, p, strlen(p), 0); |
|
|
|
if (!sub) { |
|
|
|
ret = AVERROR(ENOMEM); |
|
|
|
goto fail; |
|
|
|
} |
|
|
|
sub->pos = pos; |
|
|
|
sub->pts = get_pts(line); |
|
|
|
sub->pts = pts; |
|
|
|
sub->duration = get_duration(line); |
|
|
|
} |
|
|
|
ff_subtitles_queue_finalize(s, µdvd->q); |
|
|
|
|