]> git.sesse.net Git - casparcg/blobdiff - core/producer/flash/flash_producer.cpp
2.0.0.2:
[casparcg] / core / producer / flash / flash_producer.cpp
index eddbe023f8c74f75c54adc76c347a29b033b1596..9b1f114d34ae7bd04a1fe39ed5f1890c8a2e5c5a 100644 (file)
@@ -33,7 +33,6 @@
 #include "../../../common/utility/find_file.h"\r
 #include "../../server.h"\r
 #include "../../../common/concurrency/executor.h"\r
-#include "../../../common/concurrency/function_task.h"\r
 #include "../../../common/utility/memory.h"\r
 #include "../../../common/utility/scope_exit.h"\r
 \r
@@ -72,6 +71,8 @@ struct flash_producer::implementation
        ~implementation() \r
        {\r
                stop();\r
+               if(factory_)\r
+                       factory_->release_frames(this);\r
        }\r
 \r
        void start(bool force = true)\r
@@ -267,8 +268,8 @@ struct flash_producer::implementation
                        });\r
                }       \r
 \r
-               auto frame = factory_->create_frame(format_desc_);\r
-               common::aligned_memcpy(frame->data(), current_frame_->data(), current_frame_->size());  \r
+               auto frame = factory_->create_frame(format_desc_, this);\r
+               common::aligned_parallel_memcpy(frame->data(), current_frame_->data(), current_frame_->size()); \r
 \r
                return frame;\r
        }\r