in mqtt-publish-sample/mqttpublisher-gstreamer-plugin/mqttpublisher/gstmqttpublisher.cc [159:180]
static GstFlowReturn gst_mqtt_publisher_chain(GstPad * pad, GstObject * parent, GstBuffer * buf) {
GstMqttPublisher *filter;
filter = GST_MQTTPUBLISHER(parent);
GstLookoutVisionMeta* lookoutvision_meta = gst_buffer_get_lookout_vision_meta(buf);
if (lookoutvision_meta) {
GstLookoutVisionResult* inference_result = lookoutvision_meta->result;
if (inference_result && inference_result->result_status == GstLookoutVisionResultStatus::SUCCESSFUL) {
std::string result_message = "Detect Anomaly Result - Is Anomalous? "
+ std::to_string(inference_result->is_anomalous) + ", Confidence: "
+ std::to_string(inference_result->confidence);
filter->greengrass_client->PublishToIoTMQTT(filter->publish_topic, result_message);
g_print("Published to MQTT topic %s\n", filter->publish_topic);
} else {
std::cout << "Inference call failed / No result in metadata" << std::endl;
}
} else {
std::cout << "Failed to read metadata" << std::endl;
}
return gst_pad_push(filter->srcpad, buf);
}