Video metadata Tilt returning ENOENT error

We’re decoding the metadata from the Anafi USA stream using the header file video-metadata/vmeta_frame.h

We can receive all the information we need apart from Tilt and air_speed which return the following:

#define ENOENT 2 /* No such file or directory */

Air_speed could be because the drone is on the ground but we do need to get tilt reliably.

Heres how we get tilt

if (url == nullptr) {return false;}
vsink = nullptr;

// Get the frame metadata
res = mbuf_raw_video_frame_get_metadata(frame, &frame_meta);
if ((res < 0) || frame_meta == nullptr) {return false;}
// Get camera tilt
res = vmeta_frame_get_camera_tilt(frame_meta, &tilt);
// Get the location of the drone
res = vmeta_frame_get_location(frame_meta, &location);
// Get the euler angles of the drone
res = vmeta_frame_get_drone_euler(frame_meta, &euler);
// Get Field of View
res = vmeta_frame_get_picture_h_fov(frame_meta, &fov);

Can you let us know how to resolve this?

Hi,

Any getter returning -ENOENT means that the data is not present in the frame metadata. In your case, the error is expected because:

  • The air_speed metadata was only supported on the Disco fixed wing drone (which used a pitot tube to get this measurement), and is not available on any Anafi drone.
  • The vmeta_frame_get_camera_tilt() (and vmate_frame_get_camera_pan()) getters are deprecated in favor of the vmeta_frame_get_frame_euler() or vmeta_frame_get_frame_quat() functions, which return the whole euler angles / quaternion of the video frame. Those fuctions are kept for compatibility with older drone models only.

Hope this helps.

Regards,
Nicolas.

1 Like

Perfect thank you for the very fast response. We’re going to use vmeta_frame_get_frame_euler() as you suggested.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.