The finish() virtual function documentation state that "Sub-classes can refuse to decode new data after." Though, it is very common to issue a non-flushing seek after that event in gapless playback uses case. This fixes potential stalls with code using segment seeks, by using drain() virtual funciton instead. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1206>