The current version relied on poll_frame to request the very first frame, that would not work if the surrounding code does not call poll_frame.