]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 27 Oct 2011 21:37:52 +0000 (21:37 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Thu, 27 Oct 2011 21:37:52 +0000 (21:37 +0000)
modules/ffmpeg/producer/input/input.cpp

index 127cf99459e32b33a2c15dfbd12576c1300cebef..82f9dcf6ae5dd6c4da249183142f2cbd6b0af29f 100644 (file)
@@ -62,7 +62,9 @@ namespace caspar { namespace ffmpeg {
 static const size_t MAX_PACKETS_SIZE = 16 * 1000000;\r
 static const size_t MAX_PACKETS_COUNT = 50;\r
        \r
-struct input::implementation : public Concurrency::agent, boost::noncopyable\r
+struct input::implementation : public Concurrency::agent\r
+                                                        , public std::enable_shared_from_this<implementation>\r
+                                                        , boost::noncopyable\r
 {\r
        input::target_t&                                                target_;\r
 \r
@@ -201,7 +203,8 @@ public:
                ++packets_count_;\r
                packets_size_ += size;\r
 \r
-               packet = safe_ptr<AVPacket>(packet.get(), [=](AVPacket*)\r
+               auto self = shared_from_this();\r
+               packet = safe_ptr<AVPacket>(packet.get(), [this, self, packet, size, data](AVPacket*)\r
                {\r
                        packet->size = size;\r
                        packet->data = data;\r