MCPcopy Create free account
hub / github.com/OpenShot/libopenshot / SaveTrackedData

Method SaveTrackedData

src/CVTracker.cpp:329–359  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

327}
328
329bool CVTracker::SaveTrackedData(){
330 using std::ios;
331
332 // Create tracker message
333 pb_tracker::Tracker trackerMessage;
334
335 // Iterate over all frames data and save in protobuf message
336 for(std::map<size_t,FrameData>::iterator it=trackedDataById.begin(); it!=trackedDataById.end(); ++it){
337 FrameData fData = it->second;
338 pb_tracker::Frame* pbFrameData;
339 AddFrameDataToProto(trackerMessage.add_frame(), fData);
340 }
341
342 // Add timestamp
343 *trackerMessage.mutable_last_updated() = TimeUtil::SecondsToTimestamp(time(NULL));
344
345 {
346 // Write the new message to disk.
347 std::fstream output(protobuf_data_path, ios::out | ios::trunc | ios::binary);
348 if (!trackerMessage.SerializeToOstream(&output)) {
349 std::cerr << "Failed to write protobuf message." << std::endl;
350 return false;
351 }
352 }
353
354 // Delete all global objects allocated by libprotobuf.
355 google::protobuf::ShutdownProtobufLibrary();
356
357 return true;
358
359}
360
361// Add frame tracked data into protobuf message.
362void CVTracker::AddFrameDataToProto(pb_tracker::Frame* pbFrameData, FrameData& fData) {

Callers 3

trackClipMethod · 0.80
CVTracker.cppFile · 0.80
mainFunction · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected