Make the _film member of Player a weak_ptr.
[dcpomatic.git] / src / lib / player.h
index 3dbc1c0341e7cedd862108bf11b5b15ed33f5143..6e83da103df66d8444171025230c8912dc59e702 100644 (file)
@@ -63,6 +63,11 @@ public:
        static int const FILM_VIDEO_FRAME_RATE;
        static int const DCP_DECODE_REDUCTION;
        static int const PLAYBACK_LENGTH;
+       static int const IGNORE_VIDEO;
+       static int const IGNORE_AUDIO;
+       static int const IGNORE_TEXT;
+       static int const ALWAYS_BURN_OPEN_SUBTITLES;
+       static int const PLAY_REFERENCED;
 };
 
 
@@ -99,6 +104,8 @@ public:
        boost::optional<dcpomatic::DCPTime> content_time_to_dcp (std::shared_ptr<const Content> content, dcpomatic::ContentTime t) const;
        boost::optional<dcpomatic::ContentTime> dcp_to_content_time (std::shared_ptr<const Content> content, dcpomatic::DCPTime t) const;
 
+       void signal_change(ChangeType type, int property);
+
        /** First parameter is PENDING, DONE or CANCELLED.
         *  Second parameter is the property.
         *  Third parameter is true if these signals are currently likely to be frequent.
@@ -166,7 +173,7 @@ private:
        */
        mutable boost::mutex _mutex;
 
-       std::shared_ptr<const Film> const _film;
+       std::weak_ptr<const Film> const _film;
        /** Playlist, or 0 if we are using the one from the _film */
        std::shared_ptr<const Playlist> const _playlist;