I am using the Olympe SDK to connect to my Anafi Drone. When connecting directly to the Drone I can call start_video_streaming and get streaming callbacks, however when connecting through a SkyController I get an error in the logs:
14:51:28.440 Unable to enable legacy video streaming
14:51:28.440 Result ReturnTuple(OK=False, message='Unable to enable legacy video streaming', value=None, error_code=3)
Other command such as startRecording and stopRecording works fine in both cases.
Thank you for reporting this issue.
We’re currently working on a fix but in the meantime could you try the following workaround ?
Please try the following method to connect to your SkyCtrl3: drone = olympe.Drone("192.168.53.1", is_skyctrl=True, drone_type=2324)
Thanks
If I understand things correctly this causes legacy streaming to be enabled for the Anafi drone when connected through the SkyController.
I am managed to workaround the problem by overriding the connect method and creating Pdraw with legacy set to False.
def connect(self):
super().connect()
# The legacy flag is set to True when connecting through
# a SkyController in the original method.
# This forces it to False to fix streadming video in this case.
self._pdraw = Pdraw(
name=self._name,
device_name=self._device_name,
legacy=False,
buffer_queue_size=self.video_buffer_queue_size,
)