C++11 tidying.
[dcpomatic.git] / src / lib / ffmpeg_subtitle_stream.cc
index c3c6c1f8635cc0d0c3c013d464a101f7f5d159ee..e500dd35b6294b91c6750ae6532ef3ae0fdddca1 100644 (file)
 */
 
 #include "ffmpeg_subtitle_stream.h"
+#include "warnings.h"
 #include <dcp/raw_convert.h>
+DCPOMATIC_DISABLE_WARNINGS
 #include <libxml++/libxml++.h>
-#include <boost/foreach.hpp>
+DCPOMATIC_ENABLE_WARNINGS
 #include <iostream>
 
 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<RGBA, RGBA>::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<RGBA, RGBA>
 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;
 }