Before, we were only returning an error once, in an effort to log only
once. This meant sometimes games would not realize they needed to add
packets.
Un-reverted from e866d83. No longer breaks Patapon with other mpeg fixes.
Without doing this, FFmpeg will try to probe the streams to detect them
instead. When it does this, sometimes it tries to read beyond the data
that's available - and then gets confused by EOFs.
Parsing this way allows us to control the situation.
An example is Valkyrie Profile, corruption in the first frames of the
second video during the intro. Thi doesn't fix it yet, but now it's just
a matter of buffering.
When we've got garbage data, this has to stay incorrect. Without this,
Megaman X gets confused when playing its video (because it enqueues
garbage packets.)
See #3318.
Older libraries only, but this will cause it to reject packets that don't
make sense. So far, this seems to mirror the behavior of various garbage
packets sent to the real firmware.
This reverts commit c03f6c23ed.
This caused trouble as seen in #8464, but is probably right - needs other fixes though so
it will have to wait until after 1.2.0.