A recent change allows DecoderStream to fallback to a SW decoder if the HW decoder fails on its first attempt to decode (see https://codereview.chromium.org/1879353003/)
However, the DecoderStream can be left in a bad state if we if reach the EOS before falling back to the SW decoder (if the video has 1-3 frames for example). Read requests might be short circuited by the EOS flag, before attempting to decode the buffers saved from the demuxer stream before fallback. This would result in 0 frames being decoded/returned, instead of the 1-3 frames.
Comment 1 by bugdroid1@chromium.org
, Apr 26 2016