645d6ae8dd
(This commit also modifies the obs-ffmpeg module) The default channel layouts from aac spec are implemented in FFmpeg native aac encoder as follows: AV_CH_LAYOUT_MONO, AV_CH_LAYOUT_STEREO, AV_CH_LAYOUT_SURROUND, AV_CH_LAYOUT_4POINT0, AV_CH_LAYOUT_5POINT0_BACK, AV_CH_LAYOUT_5POINT1_BACK, AV_CH_LAYOUT_7POINT1, The correspondence of speaker layouts to AV_CH_LAYOUT from FFmpeg is changed to reflect the previous table. Although FFmpeg native aac encoder can now encode all the layouts listed in avutil channel_layout.h (on master), there might be issues with older FFmpeg binaries. Note that 2.1 speaker layout will be encoded as AV_CH_LAYOUT_SURROUND (FL FR FC) because it is not listed as the default layout for three channels. This just means some optimizations for LFE channel will not be used by the encoder which will treat it as an SCE (single channel element). Closes jp9000/obs-studio#1182