Fixes#11898, some audio contained in pmf videos seem not be actually played by the games. current code prevents video from moving forward for waiting auido and sync, similar issue will happen.
This gets rid of OpenWithError(), and just always returns a negative value
on error for OpenFile(). Also fixed the sequence rollover, which could've
returned 0.
0 should be considered a valid handle ideally, but left it never returning
0 to simplify cleanup in some areas.
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.
This actually grabs from the currently specified stream, and fails if it's
the wrong type. Additionally, return stream-specific info... unlikely to
matter, hard to imagine a video with a mono and stereo stream.
Also reduces log verbosity.