citra/src
zhupengfei 4161163d9c
ffmpeg: Correctly handle sample rates
Previously, we just used the native sample rate for encoding. However, some encoders like libmp3lame doesn't support it. Therefore, we now use a supported sample rate (preferring the native one if possible).

FFmpeg requires audio data to be sent in a sequence of frames, each containing the same specific number of samples. Previously, we buffered input samples in FFmpegBackend. However, as the source and destination sample rates can now be different, we should buffer resampled data instead. swresample have an internal input buffer, so we now just forward all data to it and 'gradually' receive resampled data, at most one frame_size at a time. When there is not enough resampled data to form a frame, we will record the current offset and request for less data on the next call.

Additionally, this commit also fixes a flaw. When an encoder supports variable frame sizes, its frame size is reported to be 0, which breaks our buffering system. Now we treat variable frame size encoders as having a frame size of 160 (the size of a HLE audio frame).
2020-02-27 16:55:13 +08:00
..
android android: add logging 2019-03-09 18:23:32 -06:00
audio_core core: Properly std::move things around 2020-02-27 16:55:09 +08:00
citra citra, citra_qt: Add video dumping config read/write 2020-02-27 16:55:11 +08:00
citra_qt citra, citra_qt: Add video dumping config read/write 2020-02-27 16:55:11 +08:00
common core/dumping: Allow format/encoder selection+configuration 2020-02-27 16:55:10 +08:00
core ffmpeg: Correctly handle sample rates 2020-02-27 16:55:13 +08:00
dedicated_room Fix moderation by room host in dedicated rooms 2019-11-17 09:59:54 -05:00
input_common Fix compilation 2020-02-10 12:10:42 +01:00
network network/room: add message/join/leave/kick/ban/unban/game name logging 2019-11-03 09:55:38 -05:00
tests Core timing 2.0 (#4913) 2020-02-21 19:31:32 +01:00
video_core core: Properly std::move things around 2020-02-27 16:55:09 +08:00
web_service HTTP_C::Implement Context::MakeRequest (#4754) 2020-02-21 19:04:04 +01:00
.clang-format add java to .clang-format 2019-02-22 16:29:19 -06:00
CMakeLists.txt Remove C++ standard flag 2020-02-21 16:45:02 -06:00