7 #include <condition_variable> 9 #include <nx/sdk/uuid.h> 10 #include <nx/sdk/analytics/helpers/engine.h> 11 #include <nx/sdk/analytics/i_uncompressed_video_frame.h> 14 namespace vms_server_plugins {
21 using PixelFormat = nx::sdk::analytics::IUncompressedVideoFrame::PixelFormat;
24 virtual ~
Engine()
override;
30 bool needUncompressedVideoFrames()
const {
return m_needUncompressedVideoFrames; }
31 PixelFormat pixelFormat()
const {
return m_pixelFormat; }
34 virtual std::string manifest()
const override;
39 const std::string& actionId,
43 const std::map<std::string, std::string>& params,
44 std::string* outActionUrl,
45 std::string* outMessageToUser,
46 nx::sdk::Error* error)
override;
49 void initCapabilities();
50 void generatePluginEvents();
53 mutable std::mutex m_pluginEventGenerationLoopMutex;
54 mutable std::condition_variable m_pluginEventGenerationLoopCondition;
56 std::unique_ptr<std::thread> m_thread;
57 bool m_terminated =
false;
59 std::string m_capabilities;
60 bool m_needUncompressedVideoFrames =
false;
61 PixelFormat m_pixelFormat = PixelFormat::yuv420;
virtual void settingsReceived()
Definition: engine.h:49
Definition: i_plugin.h:17
Definition: i_device_info.h:12
Definition: i_device_agent.h:28
Engine(IPlugin *plugin, bool enableOutput, const std::string &printPrefix="")
Definition: engine.cpp:41
virtual void executeAction(const std::string &, Uuid, Uuid, int64_t, const std::map< std::string, std::string > &, std::string *, std::string *, Error *)
Definition: engine.h:68