X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_subtitle_stream.cc;h=e500dd35b6294b91c6750ae6532ef3ae0fdddca1;hb=ca44e3542214050de6cb8bbb223138765ac4bdb7;hp=c3c6c1f8635cc0d0c3c013d464a101f7f5d159ee;hpb=ba8a5a15cc27988e2bbc6acd470d8532f1d8e99f;p=dcpomatic.git diff --git a/src/lib/ffmpeg_subtitle_stream.cc b/src/lib/ffmpeg_subtitle_stream.cc index c3c6c1f86..e500dd35b 100644 --- a/src/lib/ffmpeg_subtitle_stream.cc +++ b/src/lib/ffmpeg_subtitle_stream.cc @@ -19,9 +19,11 @@ */ #include "ffmpeg_subtitle_stream.h" +#include "warnings.h" #include +DCPOMATIC_DISABLE_WARNINGS #include -#include +DCPOMATIC_ENABLE_WARNINGS #include using std::string; @@ -39,7 +41,8 @@ FFmpegSubtitleStream::FFmpegSubtitleStream (cxml::ConstNodePtr node, int version : FFmpegStream (node) { if (version >= 33) { - BOOST_FOREACH (cxml::NodePtr i, node->node_children ("Colour")) { + boost::mutex::scoped_lock lm (_mutex); + for (auto i: node->node_children ("Colour")) { _colours[RGBA(i->node_child("From"))] = RGBA (i->node_child("To")); } } @@ -50,6 +53,7 @@ FFmpegSubtitleStream::as_xml (xmlpp::Node* root) const { FFmpegStream::as_xml (root); + boost::mutex::scoped_lock lm (_mutex); for (map::const_iterator i = _colours.begin(); i != _colours.end(); ++i) { xmlpp::Node* node = root->add_child("Colour"); i->first.as_xml (node->add_child("From")); @@ -60,11 +64,13 @@ FFmpegSubtitleStream::as_xml (xmlpp::Node* root) const map FFmpegSubtitleStream::colours () const { + boost::mutex::scoped_lock lm (_mutex); return _colours; } void FFmpegSubtitleStream::set_colour (RGBA from, RGBA to) { + boost::mutex::scoped_lock lm (_mutex); _colours[from] = to; }