list<DCPTextTrack> tt;
BOOST_FOREACH (shared_ptr<Content> i, content()) {
BOOST_FOREACH (shared_ptr<TextContent> j, i->text) {
- if (j->type() == TEXT_CLOSED_CAPTION && j->dcp_track() && find(tt.begin(), tt.end(), j->dcp_track().get()) == tt.end()) {
- tt.push_back (j->dcp_track().get());
+ /* XXX: Empty DCPTextTrack ends up being a magic value here */
+ DCPTextTrack dtt = j->dcp_track().get_value_or(DCPTextTrack());
+ if (j->type() == TEXT_CLOSED_CAPTION && find(tt.begin(), tt.end(), dtt) == tt.end()) {
+ tt.push_back (dtt);
}
}
}