Jelajahi Sumber

解决数据源与结果不对应的问题

lishengyin 3 tahun lalu
induk
melakukan
b9954e0cf0

TEMPAT SAMPAH
lib/libmodules.so


+ 1 - 1
modules/inference/include/inference.h

@@ -56,7 +56,7 @@ namespace MIVA{
         Inference();
         ~Inference();
     public:
-        int32_t Init(std::list<DataSource> DataList);
+        int32_t Init(std::vector<DataSource> DataList);
         void Destory();
         void StartTask();
         void PauseTask();

+ 2 - 2
modules/inference/src/inference.cpp

@@ -50,7 +50,7 @@ namespace MIVA{
         Destory();
     }
     // Init 初始化
-    int32_t Inference::Init(list<DataSource> DataList)
+    int32_t Inference::Init(vector<DataSource> DataList)
     {
         // init
         this->loop = g_main_loop_new (NULL, FALSE);
@@ -68,7 +68,7 @@ namespace MIVA{
         gst_bin_add (GST_BIN (this->pipeline), this->streammux);
 
         // 创建数据源
-        std::list<DataSource>::iterator iter;
+        std::vector<DataSource>::iterator iter;
         int i = 0;
         for(iter = DataList.begin(); iter != DataList.end(); iter++){
             GstPad *sinkpad, *srcpad;

+ 2 - 1
modules/userApp/include/user_app.h

@@ -87,10 +87,11 @@ namespace MIVA
         std::shared_ptr<Inference> m_Infer = NULL;
         Socket::Ptr m_udpClient = NULL;
 
-        std::list<DataSource> DataList;
+        std::vector<DataSource> DataList;
         Timer::Ptr m_timer0;
         Timer::Ptr m_timer1;
         Timer::Ptr m_timer2;
+        
 
     private:
         void ListenInfer(int Source_id, int num);

+ 3 - 2
modules/userApp/src/user_app.cpp

@@ -174,9 +174,10 @@ namespace MIVA
         vector<vector<std::string>> sqlRet;
         getDataTime(ctime);
 
-        Source_id +=1;
+        int id = this->DataList[Source_id].Id;
+        // Source_id +=1;
         SqlWriter updataSql("UPDATE MIVA_DB.DataSources SET Num = '?',DataTime = '?' WHERE Id = '?';");
-        updataSql << num << ctime << Source_id << sqlRet;
+        updataSql << num << ctime << id << sqlRet;
     }   
 
     // 连接Netty