]> git.sesse.net Git - casparcg/blobdiff - shell/server.cpp
2.1.0: -casparcg.config: Updated.
[casparcg] / shell / server.cpp
index ced8032d0462865474c881caf7e63a7dbf0b3e75..9fbf722ea4778fba975f2a79894ec5cf87804dac 100644 (file)
@@ -65,7 +65,7 @@ using namespace protocol;
 \r
 struct server::impl : boost::noncopyable\r
 {\r
-       monitor::subject                                                                        event_subject_;\r
+       monitor::basic_subject                                                          event_subject_;\r
        accelerator::accelerator                                                        accelerator_;\r
        std::vector<spl::shared_ptr<IO::AsyncEventServer>>      async_servers_; \r
        std::vector<spl::shared_ptr<video_channel>>                     channels_;\r
@@ -104,11 +104,13 @@ struct server::impl : boost::noncopyable
 \r
        ~impl()\r
        {               \r
-               image::uninit();\r
-               ffmpeg::uninit();\r
-\r
                async_servers_.clear();\r
                channels_.clear();\r
+\r
+               Sleep(500); // HACK: Wait for asynchronous destruction of producers and consumers.\r
+\r
+               image::uninit();\r
+               ffmpeg::uninit();\r
        }\r
                                \r
        void setup_channels(const boost::property_tree::wptree& pt)\r
@@ -197,7 +199,7 @@ struct server::impl : boost::noncopyable
 \r
 server::server() : impl_(new impl()){}\r
 \r
-const std::vector<spl::shared_ptr<video_channel>> server::get_channels() const\r
+const std::vector<spl::shared_ptr<video_channel>> server::channels() const\r
 {\r
        return impl_->channels_;\r
 }\r