diff options
Diffstat (limited to 'src/lib/playlist.cc')
| -rw-r--r-- | src/lib/playlist.cc | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/src/lib/playlist.cc b/src/lib/playlist.cc index 645993050..092060fa0 100644 --- a/src/lib/playlist.cc +++ b/src/lib/playlist.cc @@ -150,12 +150,8 @@ Playlist::video_identifier () const string t; BOOST_FOREACH (shared_ptr<const Content> i, _content) { - shared_ptr<const VideoContent> vc = dynamic_pointer_cast<const VideoContent> (i); - shared_ptr<const SubtitleContent> sc = dynamic_pointer_cast<const SubtitleContent> (i); - if (vc) { - t += vc->identifier (); - } else if (sc && sc->burn_subtitles ()) { - t += sc->identifier (); + if (i->video || (i->subtitle && i->subtitle->burn_subtitles())) { + t += i->identifier (); } } @@ -346,7 +342,7 @@ Playlist::video_end () const { DCPTime end; BOOST_FOREACH (shared_ptr<Content> i, _content) { - if (dynamic_pointer_cast<const VideoContent> (i)) { + if (i->video) { end = max (end, i->end ()); } } @@ -359,7 +355,7 @@ Playlist::subtitle_end () const { DCPTime end; BOOST_FOREACH (shared_ptr<Content> i, _content) { - if (dynamic_pointer_cast<const SubtitleContent> (i)) { + if (i->subtitle) { end = max (end, i->end ()); } } |
