gstreamer1.0-plugins-good (1.20): v4l2 decoder: Reverse playback (speed based) failure

I’m observing a failure with speed based rewind (seek rate: -2) with v4l2 decoder plugin (v 1.20)
During rewind, bufferpool flush is called then decoder drain. Drain implementation here first calls decoder finish which sends a stop command to decoder and closes the task loop.
And then decoder flush is called which does streamoff on the driver.

This flow seems to be causing some failure on the driver.
Is this the correct flow specifically for reverse playback (speed based) because if this drain implementation is removed, there is no failure and reverse playback is as expected.

Might have been fixed in 1.22 or 1.24, please have a try, if not file an issue please.