diff options
| author | Carl Hetherington <cth@carlh.net> | 2016-10-04 11:54:45 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2016-10-04 11:54:45 +0100 |
| commit | 4750382795aaf7964cfc4af9483d30dd4e565b4c (patch) | |
| tree | 33877ce252ba386f1b3f74fc5622a33900c390fc /src/lib | |
| parent | 069afcb80c8eefe46d101de39160c7b80bafa1d6 (diff) | |
Fix subtitle_id to work with _TEXT and _ASS subtitles (fixes #969).
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/ffmpeg.cc | 30 | ||||
| -rw-r--r-- | src/lib/ffmpeg_subtitle_stream.cc | 1 |
2 files changed, 19 insertions, 12 deletions
diff --git a/src/lib/ffmpeg.cc b/src/lib/ffmpeg.cc index 4b95666b8..af6c8e167 100644 --- a/src/lib/ffmpeg.cc +++ b/src/lib/ffmpeg.cc @@ -282,21 +282,27 @@ FFmpeg::subtitle_id (AVSubtitle const & sub) digester.add (sub.pts); for (unsigned int i = 0; i < sub.num_rects; ++i) { AVSubtitleRect* rect = sub.rects[i]; - digester.add (rect->x); - digester.add (rect->y); - digester.add (rect->w); - digester.add (rect->h); + if (rect->type == SUBTITLE_BITMAP) { + digester.add (rect->x); + digester.add (rect->y); + digester.add (rect->w); + digester.add (rect->h); #ifdef DCPOMATIC_HAVE_AVSUBTITLERECT_PICT - int const line = rect->pict.linesize[0]; - for (int j = 0; j < rect->h; ++j) { - digester.add (rect->pict.data[0] + j * line, line); - } + int const line = rect->pict.linesize[0]; + for (int j = 0; j < rect->h; ++j) { + digester.add (rect->pict.data[0] + j * line, line); + } #else - int const line = rect->linesize[0]; - for (int j = 0; j < rect->h; ++j) { - digester.add (rect->data[0] + j * line, line); - } + int const line = rect->linesize[0]; + for (int j = 0; j < rect->h; ++j) { + digester.add (rect->data[0] + j * line, line); + } #endif + } else if (rect->type == SUBTITLE_TEXT) { + digester.add (string (rect->text)); + } else if (rect->type == SUBTITLE_ASS) { + digester.add (string (rect->ass)); + } } return digester.get (); } diff --git a/src/lib/ffmpeg_subtitle_stream.cc b/src/lib/ffmpeg_subtitle_stream.cc index 627b0fef1..cf3a8c0f2 100644 --- a/src/lib/ffmpeg_subtitle_stream.cc +++ b/src/lib/ffmpeg_subtitle_stream.cc @@ -128,6 +128,7 @@ FFmpegSubtitleStream::add_image_subtitle (string id, ContentTimePeriod period) void FFmpegSubtitleStream::add_text_subtitle (string id, ContentTimePeriod period) { + cout << id << " " << to_string(period.from) << " " << to_string(period.to) << "\n"; DCPOMATIC_ASSERT (_text_subtitles.find (id) == _text_subtitles.end ()); _text_subtitles[id] = period; } |
