avilib doesn't support DV type 1 AVIs at all. It used to print an
error message to standard error; additionally it didn't propagate the
error back to the caller resulting in invalid memory accesses and
subsequent crashes.
Fixes#2491.
It is dangerous insofar as it pollutes an immense number of source
files. For example, utf8cpp's stuff uses relative namespace
names (e.g. `utf8::some_type`). If `using namespace libebml` is in
effect, then this clashes with `libebml::utf8` which is a typedef for
`unsigned char`, causing compiler errors.
- convert gcc to use -include
- add clang support for -include
- new target namespace: pch (invoke rake -T or pch:overview for details)
- move pch logic into rake.d/pch.rb
- convert a few troublesome source files from ISO-8859-1 -> UTF-8
- add persistent config: config.pch.json
- add TTY support for running commands with filters (keeps pretty
color diagnostics even when filtering compiler stdout/stderr)
- for fun try:
drake "pch[pretty]"
drake -j4
drake pch:status
The dwFlags field in idx1 chunks can have other bits set, too. However,
the code in AVI_read_frame() needs it to be equal to 0x10 (which is
AVIIF_KEYFRAME from the aviriff.h header).
gcc 4.4.x mingw contains a strncasecmp() implementation that already
calls _strnicmp(). Also common/os.h already defines
strncasecmp. Defining it a second time leads to a never ending
recursive call.
Fix for bug 642.
gcc < 4.4 has a bug that is triggered by included a header with a
precompiled version more than once. Including a proxy header file that
wraps the actual precompiled one inside a #ifdef guard is fine, though.