X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fffmpeg_subtitle_stream.cc;h=da8bafc0af788a3c76328b6b7ef5a54445f2c1f1;hb=9262839360779de83b711f86151fcf56b86c3989;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..da8bafc0a 100644 --- a/src/lib/ffmpeg_subtitle_stream.cc +++ b/src/lib/ffmpeg_subtitle_stream.cc @@ -39,6 +39,7 @@ FFmpegSubtitleStream::FFmpegSubtitleStream (cxml::ConstNodePtr node, int version : FFmpegStream (node) { if (version >= 33) { + boost::mutex::scoped_lock lm (_mutex); BOOST_FOREACH (cxml::NodePtr i, node->node_children ("Colour")) { _colours[RGBA(i->node_child("From"))] = RGBA (i->node_child("To")); } @@ -50,6 +51,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 +62,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; }