void RekognitionEnabledKinesisVideoFrameTransportCallback()

in kinesis_video_streamer/src/subscriber_callbacks.cpp [26:47]


void RekognitionEnabledKinesisVideoFrameTransportCallback(
  KinesisStreamManagerInterface & stream_manager, std::string stream_name,
  const kinesis_video_msgs::KinesisVideoFrame::ConstPtr & frame_msg,
  const ros::Publisher & publisher)
{
  KinesisVideoFrameTransportCallback(stream_manager, stream_name, frame_msg);
  Aws::Vector<Model::Record> records;
  KinesisManagerStatus status = stream_manager.FetchRekognitionResults(stream_name, &records);
  if (KINESIS_MANAGER_STATUS_FAILED(status) &&
      KINESIS_MANAGER_STATUS_GET_RECORDS_THROTTLED != status) {
    AWS_LOGSTREAM_WARN(__func__, stream_name.c_str()
                                   << " FetchRekognitionResults failed. Error code: " << status);
    return;
  }
  for (auto item = records.begin(); item != records.end(); item++) {
    std_msgs::String message;
    const char * data = reinterpret_cast<char *>(item->GetData().GetUnderlyingData());
    size_t length = item->GetData().GetLength();
    message.data = std::string(data, length);
    publisher.publish(message);
  }
}