Remove believed-unnecessary film state mutexes.
authorCarl Hetherington <cth@carlh.net>
Wed, 14 Aug 2013 14:41:03 +0000 (15:41 +0100)
committerCarl Hetherington <cth@carlh.net>
Wed, 14 Aug 2013 14:41:03 +0000 (15:41 +0100)
src/lib/ffmpeg_decoder.cc
src/lib/film.cc
src/lib/film.h
test/ffmpeg_audio_test.cc
test/ffmpeg_pts_offset.cc
test/frame_rate_test.cc

index ceb14bacc3b442056cd21c096f814fd9e6e08a0e..ede724b5f26e9d03fdb85223a8a05985c89ceeb8 100644 (file)
@@ -42,6 +42,7 @@ extern "C" {
 #include "ffmpeg_decoder.h"
 #include "filter_graph.h"
 #include "audio_buffers.h"
+#include "ffmpeg_content.h"
 
 #include "i18n.h"
 
index 2f7e0787323210d93297ae36a3248512dfc619ba..9b339ea244bb4d08d3a41465cb4a60a75c77f2de 100644 (file)
@@ -302,7 +302,6 @@ Film::write_metadata () const
                boost::filesystem::create_directory (directory());
        }
        
-       boost::mutex::scoped_lock lm (_state_mutex);
        LocaleGuard lg;
 
        boost::filesystem::create_directories (directory());
@@ -343,7 +342,6 @@ Film::write_metadata () const
 void
 Film::read_metadata ()
 {
-       boost::mutex::scoped_lock lm (_state_mutex);
        LocaleGuard lg;
 
        if (boost::filesystem::exists (file ("metadata")) && !boost::filesystem::exists (file ("metadata.xml"))) {
@@ -391,8 +389,6 @@ Film::read_metadata ()
 string
 Film::dir (string d) const
 {
-       boost::mutex::scoped_lock lm (_directory_mutex);
-       
        boost::filesystem::path p;
        p /= _directory;
        p /= d;
@@ -403,14 +399,11 @@ Film::dir (string d) const
 }
 
 /** Given a file or directory name, return its full path within the Film's directory.
- *  _directory_mutex must not be locked on entry.
  *  Any required parent directories will be created.
  */
 string
 Film::file (string f) const
 {
-       boost::mutex::scoped_lock lm (_directory_mutex);
-
        boost::filesystem::path p;
        p /= _directory;
        p /= f;
@@ -533,7 +526,6 @@ Film::dcp_name (bool if_created_now) const
 void
 Film::set_directory (string d)
 {
-       boost::mutex::scoped_lock lm (_state_mutex);
        _directory = d;
        _dirty = true;
 }
@@ -541,130 +533,91 @@ Film::set_directory (string d)
 void
 Film::set_name (string n)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _name = n;
-       }
+       _name = n;
        signal_changed (NAME);
 }
 
 void
 Film::set_use_dci_name (bool u)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _use_dci_name = u;
-       }
+       _use_dci_name = u;
        signal_changed (USE_DCI_NAME);
 }
 
 void
 Film::set_dcp_content_type (DCPContentType const * t)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _dcp_content_type = t;
-       }
+       _dcp_content_type = t;
        signal_changed (DCP_CONTENT_TYPE);
 }
 
 void
 Film::set_container (Ratio const * c)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _container = c;
-       }
+       _container = c;
        signal_changed (CONTAINER);
 }
 
 void
 Film::set_resolution (Resolution r)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _resolution = r;
-       }
+       _resolution = r;
        signal_changed (RESOLUTION);
 }
 
 void
 Film::set_scaler (Scaler const * s)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _scaler = s;
-       }
+       _scaler = s;
        signal_changed (SCALER);
 }
 
 void
 Film::set_with_subtitles (bool w)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _with_subtitles = w;
-       }
+       _with_subtitles = w;
        signal_changed (WITH_SUBTITLES);
 }
 
 void
 Film::set_j2k_bandwidth (int b)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _j2k_bandwidth = b;
-       }
+       _j2k_bandwidth = b;
        signal_changed (J2K_BANDWIDTH);
 }
 
 void
 Film::set_dci_metadata (DCIMetadata m)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _dci_metadata = m;
-       }
+       _dci_metadata = m;
        signal_changed (DCI_METADATA);
 }
 
 void
 Film::set_video_frame_rate (int f)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _video_frame_rate = f;
-       }
+       _video_frame_rate = f;
        signal_changed (VIDEO_FRAME_RATE);
 }
 
 void
 Film::set_audio_channels (int c)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _audio_channels = c;
-       }
+       _audio_channels = c;
        signal_changed (AUDIO_CHANNELS);
 }
 
 void
 Film::set_three_d (bool t)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _three_d = t;
-       }
+       _three_d = t;
        signal_changed (THREE_D);
 }
 
 void
 Film::signal_changed (Property p)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _dirty = true;
-       }
+       _dirty = true;
 
        switch (p) {
        case Film::CONTENT:
@@ -769,7 +722,6 @@ Film::make_player () const
 shared_ptr<Playlist>
 Film::playlist () const
 {
-       boost::mutex::scoped_lock lm (_state_mutex);
        return _playlist;
 }
 
@@ -888,12 +840,8 @@ Film::audio_frame_rate () const
 void
 Film::set_sequence_video (bool s)
 {
-       {
-               boost::mutex::scoped_lock lm (_state_mutex);
-               _sequence_video = s;
-               _playlist->set_sequence_video (s);
-       }
-       
+       _sequence_video = s;
+       _playlist->set_sequence_video (s);
        signal_changed (SEQUENCE_VIDEO);
 }
 
index 7279541e4dda7ebffe00cce4d86be0916cfcc658..c3c53ecd1edfccab022206eb4f9bb5fb3a3175dd 100644 (file)
 #include <string>
 #include <vector>
 #include <inttypes.h>
-#include <boost/thread/mutex.hpp>
-#include <boost/thread.hpp>
 #include <boost/signals2.hpp>
 #include <boost/enable_shared_from_this.hpp>
+#include <boost/filesystem.hpp>
 #include "util.h"
 #include "types.h"
-#include "playlist.h"
 #include "dci_metadata.h"
 
 class DCPContentType;
 class Log;
 class Content;
 class Player;
+class Playlist;
+class AudioContent;
 
 /** @class Film
  *
@@ -139,73 +139,59 @@ public:
        /* GET */
 
        std::string directory () const {
-               boost::mutex::scoped_lock lm (_directory_mutex);
                return _directory;
        }
 
        std::string name () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _name;
        }
 
        bool use_dci_name () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _use_dci_name;
        }
 
        DCPContentType const * dcp_content_type () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _dcp_content_type;
        }
 
        Ratio const * container () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _container;
        }
 
        Resolution resolution () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _resolution;
        }
 
        Scaler const * scaler () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _scaler;
        }
 
        bool with_subtitles () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _with_subtitles;
        }
 
        int j2k_bandwidth () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _j2k_bandwidth;
        }
 
        DCIMetadata dci_metadata () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _dci_metadata;
        }
 
        /** @return The frame rate of the DCP */
        int video_frame_rate () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _video_frame_rate;
        }
 
        int audio_channels () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _audio_channels;
        }
 
        bool three_d () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _three_d;
        }
 
        bool sequence_video () const {
-               boost::mutex::scoped_lock lm (_state_mutex);
                return _sequence_video;
        }
        
@@ -257,8 +243,6 @@ private:
         *  must not be relative.
         */
        std::string _directory;
-       /** Mutex for _directory */
-       mutable boost::mutex _directory_mutex;
        
        /** Name for DCP-o-matic */
        std::string _name;
@@ -293,9 +277,6 @@ private:
        /** true if our state has changed since we last saved it */
        mutable bool _dirty;
 
-       /** Mutex for all state except _directory */
-       mutable boost::mutex _state_mutex;
-
        friend class paths_test;
        friend class film_metadata_test;
 };
index 7eafeef70d1d5ae532fbd520a796dc742ca0f877..65c29325c348178b2fd4febc13fa8ac7f01044ff 100644 (file)
@@ -27,6 +27,7 @@
 #include "lib/film.h"
 #include "lib/dcp_content_type.h"
 #include "lib/ratio.h"
+#include "lib/ffmpeg_content.h"
 #include "test.h"
 
 using std::string;
index 65cc28a841a63b9d2d41d090b791d340920b0552..c6e9c0303bab5db38f745c2c39e94e804604fd78 100644 (file)
@@ -20,6 +20,7 @@
 #include <boost/test/unit_test.hpp>
 #include "lib/film.h"
 #include "lib/ffmpeg_decoder.h"
+#include "lib/ffmpeg_content.h"
 #include "test.h"
 
 using boost::shared_ptr;
index 5cdea8c6b6ca7de934f9967c85f61416566e5507..1cae59ed12b77d562c73e76821334da46def161a 100644 (file)
@@ -20,6 +20,8 @@
 #include <boost/test/unit_test.hpp>
 #include "lib/film.h"
 #include "lib/config.h"
+#include "lib/ffmpeg_content.h"
+#include "lib/playlist.h"
 #include "test.h"
 
 using boost::shared_ptr;