obs-studio/libobs/media-io
pkviet bbac3280c1 libobs: Add surround sound audio support
(This commit also modifies the following modules: UI,
deps/media-playback, coreaudio-encoder, decklink, linux-alsa,
linux-pulseaudio, mac-capture, obs-ffmpeg, obs-filters, obs-libfdk,
obs-outputs, win-dshow, and win-wasapi)

Adds surround sound audio support to the core, core plugins, and user
interface.

Compatible streaming services: Twitch, FB 360 live
Compatible protocols: rtmp / mpeg-ts tcp udp
Compatible file formats: mkv mp4 ts  (others untested)
Compatible codecs: ffmpeg aac, fdk_aac, CoreAudio aac,
		   opus, vorbis, pcm (others untested).
Tested streaming servers: wowza, nginx
	 HLS, mpeg-dash : surround passthrough
Html5 players tested with live surround:
	 videojs, mediaelement, viblast (hls+dash), hls.js
Decklink: on win32, swap channels order for 5.1 7.1
         (due to different channel mapping on wav, mpeg, ffmpeg)
Audio filters: surround working.
Monitoring: surround working (win macOs linux (pulse-audio)).
VST:	 stereo plugins keep in general only the first two channels.
	 surround plugins should work (e.g. mcfx does).
OS: win, macOs, linux (alsa, pulse-audio).
Misc: larger audio bitrates unlocked to accommodate more channels
NB: mf-aac only supports mono and stereo + 5.1 on win 10
         (not implemented due to lack of usefulness)

Closes jp9000/obs-studio#968
2017-11-26 03:41:53 -08:00
..
audio-io.c libobs/media-io: Reset audio array for each input 2016-01-26 11:49:36 -08:00
audio-io.h libobs: Add surround sound audio support 2017-11-26 03:41:53 -08:00
audio-math.h libobs/media-io: Add common audio math functions 2015-06-26 03:40:27 -07:00
audio-resampler-ffmpeg.c media-io: Fix check before passing pointer to av_freep 2015-05-11 20:42:53 +02:00
audio-resampler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00
format-conversion.c libobs/media-io: Fix decompress_420 function 2017-10-02 07:36:02 -07:00
format-conversion.h libobs: Add packed yuv to planar 4:4:4 conversion 2015-04-16 22:51:31 -07:00
frame-rate.h libobs/media-io: Add frame rate helpers 2015-11-14 15:37:47 +01:00
media-io-defs.h libobs: Move macro to internal C file 2017-10-02 07:36:02 -07:00
media-remux.c libobs: Fix FFmpeg constants 2017-11-16 21:38:37 -08:00
media-remux.h Add media remuxer to media-io 2014-10-12 06:27:33 +02:00
video-fourcc.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-frame.h libobs/media-io: Add frame copying function 2014-12-31 04:03:45 -08:00
video-io.c libobs: Don't allow lagged frames to be counted as skipped 2017-05-06 11:29:32 -07:00
video-io.h libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-matrices.c libobs: Fix full range min/max output 2015-04-10 07:27:26 -07:00
video-scaler-ffmpeg.c libobs: Add Y800 color format support 2016-03-24 03:33:35 -07:00
video-scaler.h (API Change) Remove pointers from all typedefs 2014-09-25 21:48:11 -07:00