7 #include <nx/sdk/analytics/helpers/consuming_device_agent.h> 8 #include <nx/sdk/analytics/i_object_metadata_packet.h> 13 namespace vms_server_plugins {
16 namespace object_streamer {
25 virtual std::string manifestString()
const override;
30 virtual void doSetNeededMetadataTypes(
42 std::map<std::string, std::string> attributes;
43 int frameNumberToGenerateObject = 0;
44 int64_t timestampUs = -1;
49 objectStreamIsNotAValidJson,
50 objectStreamIsNotAJsonArray,
51 objectItemIsNotAJsonObject,
55 frameNumberIsNotANumber,
56 boundingBoxIsNotAJsonObject,
62 attributesFieldIsNotAJsonObject,
63 attributeValueIsNotAString,
64 timestampIsNotANumber,
69 std::set<Issue> errors;
70 std::set<Issue> warnings;
75 std::map<int, std::vector<Object>> objectsByFrameNumber;
76 std::set<std::string> objectTypeIds;
80 static StreamInfo parseObjectStreamFile(
const std::string& filePath, Issues* outIssues);
82 static bool parseCommonFields(
87 static bool parseBoundingBox(
92 static bool parseAttributes(
94 std::map<std::string, std::string>* outAttributes,
97 static bool parseTimestamp(
99 int64_t* outTimestamp,
102 static std::string issueToString(Issue issue);
104 static std::string makePluginDiagnosticEventDescription(
const std::set<Issue>& issues);
107 std::vector<nx::sdk::Ptr<nx::sdk::analytics::IObjectMetadataPacket>> generateObjects(
109 int64_t frameTimestampUs,
113 const std::string& manifestFilePath,
114 const std::string& streamFilePath)
const;
116 void reportIssues(
const Issues& issues);
119 StreamInfo m_streamInfo;
120 std::set<std::string> m_disabledObjectTypeIds;
121 int m_frameNumber = 0;
122 int m_maxFrameNumber = 0;
123 int64_t m_lastFrameTimestampUs = -1;
124 std::string m_pluginHomeDir;
125 bool m_isInitialSettings =
true;
virtual nx::sdk::Result< const nx::sdk::ISettingsResponse * > settingsReceived() override
Definition: device_agent.cpp:159
Definition: i_compressed_video_packet.h:34
Definition: device_agent.h:18
Definition: consuming_device_agent.h:38
Definition: i_device_info.h:14
Definition: apple_utils.h:6
virtual bool pushCompressedVideoFrame(const nx::sdk::analytics::ICompressedVideoPacket *videoFrame) override
Definition: device_agent.cpp:86