* CXX_BUILD buildfixes
* (D3D11) Buildfixes for CXX_BUILD
* (Linux/qb) Disable KMS for Linux when building for C89, headers use inline which is not
available for C89
This is implementing the send/receive encoding API of ffmpeg in the
ffmpeg record backend.
Newer encoder do need the client to use this API to use them (for
example h264_amf and hvec_amf). "Old" encoders should work fine
(Tested x264 and webm profiles).
The biggest change is the handling of the encoded packets, since
the API can return multiple packets in it's queue. As a positive
side-effect the code for flushing is much more easier.
- use STRLEN_CONST for constant strings, translates to sizeof
which should be computed at compile-time
- found some places where we are needlessly calling strlen two
times instead of just once