videodecoder: Call drain() rather then finish() on segment-done
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.
See gst-plugins-bad!2333 (comment 960801) for more details.