In previous implementation that job was split between handle_frame and the processing loop and it wasn't clear if this mechanism was race free. The capture setup would also be tried for every buffer, which was not necessary. This also simplify the handling of SRC_CH event, dropping the unneeded atomic boolean. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4437>