Reimplementation of 7a49802c01b0c39be4e86335689db8f3359fde68
This is based on a suggestion made by clone2727, so the original
idea belongs to him.
Engines can now override the common AVI audio track handler with a
custom one. This is needed for the Z-Engine AVI videos, since they
use a custom audio decoder that is only used in the two Z-Engine
games, and has its own fake AVI audio format (17). This clashes with
the MS IMA ADPCM format, and therefore shouldn't pollute the common
AVI video decoder code. The addition of this over-ridable method
allows the Z-Engine to add its own custom AVI decoder while avoiding
code duplication.
This name change accompanies a slight meaning change; now it means the current time position from the beginning of the video and not from starting the video.
MKID_BE relied on unspecified behavior of the C++ compiler,
and as such was always a bit unsafe. The new MKTAG macro
is slightly less elegant, but does no longer depend on the
behavior of the compiler.
Inspired by FFmpeg, which has an almost identical macro.