xperia64
5f1eb7146d
Merge generic part of Android microphone changes ( #5624 )
2020-12-30 19:21:03 -05:00
Marshall Mohror
ab6c605e59
Merge pull request #5609 from gal20/enable-fdk-patch
...
Enable fdk decoder for flatpak version
2020-12-30 11:59:18 -06:00
Tobias
3f13e1cc24
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback() ( #5573 )
...
Conversions from void* to the proper data type are well-defined and
supported by static_cast. We don't need to use reinterpret_cast here.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-12-07 16:06:16 +01:00
Tobias
f0e3637c7a
codec: Make lookup table static constexpr ( #5572 )
...
Allows compilers to elide needing to push these values on the stack
every time the function is called.
Co-authored-by: Lioncash <mathew1800@gmail.com>
2020-12-07 16:05:45 +01:00
xperia64
1aaec7938f
Initial implementation of partial_embedded_buffer_dirty handling ( #5548 )
...
* Initial implementation of partial_embedded_buffer_dirty handling
* Apply suggestions from code review
Co-authored-by: Marshall Mohror <mohror64@gmail.com>
* Serialize physical address, fix LOG_TRACE
* Add bracket
* Avoid crash in partial update behavior
Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2020-11-17 17:31:05 -05:00
gal20
5683f86ed3
Remove pessimistic sanity check
...
This check creates false positive when using the flatpak runtime library
2020-11-14 20:06:25 +02:00
Vitor Kiguchi
1efe80bd10
Update cubeb and request a persistent stream session
2020-10-20 11:19:58 -03:00
FearlessTobi
51d348b087
General: Make use of std::nullopt where applicable
...
Allows some implementations to avoid completely zeroing out the internal
buffer of the optional, and instead only set the validity byte within
the structure.
This also makes it consistent how we return empty optionals.
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-10-03 17:25:54 +02:00
tywald
3d9d071262
cubeb_sink.cpp: Change one log from INFO to DEBUG level.
2020-08-20 20:22:50 +02:00
xperia64
b4ec50ba21
Actually return true if InitMFDLL succeeded ( #5470 )
2020-07-23 00:46:10 -04:00
Pengfei Zhu
5b245aafd3
Merge pull request #5402 from xperia64/update_teakra_sync
...
Update teakra, adjust TeakraSlice for new audio frame period
2020-06-11 22:41:01 +08:00
Pengfei Zhu
2632b421c2
Merge pull request #5266 from xperia64/audio_ticks_tweak
...
Adjust audio_frame_ticks
2020-06-11 22:37:30 +08:00
xperia64
b0a20180ee
Update comments after hardware testing
2020-06-10 23:05:02 -04:00
xperia64
62e2cd6239
Use samples_per_frame instead of hardcoded 160
2020-06-10 17:10:50 -04:00
xperia64
20d823a42a
Fix WMF AAC decoder bug
2020-06-10 16:58:09 -04:00
xperia64
daf0e750d2
Update teakra, adjust TeakraSlice for new audio frame period
2020-06-07 20:06:22 -04:00
xperia64
21159dd83a
clang-format, and avoid another potential leak
2020-05-21 21:05:03 -04:00
xperia64
f9750875e3
Avoid leaking the cubeb input stream
2020-05-21 20:34:00 -04:00
xperia64
a0e8255b65
Update cycles and explanation
2020-04-26 03:14:54 -04:00
xperia64
3a1601a534
Change audio_frame_ticks with length explanation
2020-04-21 23:40:34 -04:00
xperia64
38c3c9c74b
Add sample rate field to AAC decoder ( #5195 )
...
* Add sample rate field to AAC decoder
* Fix TODO comment
* Remove unneeded conversion
2020-04-21 20:34:50 -05:00
Hamish Milne
828f88d20a
Merge branch 'master' into feature/savestates-2
2020-04-12 11:24:06 +01:00
Marshall Mohror
9c7da35382
Merge pull request #5083 from zhaowenlan1779/video-dumping-update
...
video_core, citra_qt: Video dumping updates
2020-04-03 21:15:32 -05:00
Hamish Milne
92640fc29c
Code review actions (plus hopefully fix the linux CI)
2020-03-31 17:54:28 +01:00
Hamish Milne
841255cd16
Attempt to fix the linux builds
2020-03-28 21:40:18 +00:00
James Rowe
a6ee1bf913
HLE Audio: Increase frame position by input buffer sample rate ( #5049 )
...
* HLE Audio: Increase frame position by input buffer sample rate
Currently the frame position moves ahead by the number of samples
output, but thats a fixed number based on the 3ds native sample rate.
Instead, based on a homebrew by cyuubi and looking at the lle audio,
this sample position should be moved forward by the number of samples
from the input buffer that was read, based on the buffer's sample rate.
2020-03-28 10:39:50 -05:00
Hamish Milne
025960bcdd
Attempt to fix flatpak CI
2020-03-28 15:10:35 +00:00
Hamish Milne
7049af744f
Merge remote-tracking branch 'upstream/master' into feature/savestates-2
2020-03-28 12:33:21 +00:00
Hamish Milne
232b52a27d
Minor cleanup
2020-03-28 09:59:45 +00:00
Hamish Milne
3d1180ee21
DSP now works... committing this!!
2020-03-27 22:19:29 +00:00
BreadFish64
37384174d9
fix formatting for media-ndk
2020-03-17 21:15:33 -05:00
zhang wei
3410b96400
mediandk for android ( #4921 )
2020-03-16 21:07:22 -05:00
Hamish Milne
da3ab3d56e
Merge branch 'master' into feature/savestates-2
2020-03-07 21:23:08 +00:00
zhupengfei
3c6765e87c
core: Properly std::move things around
2020-02-27 16:55:09 +08:00
liushuyu
cff00f38c5
Implements fdk_aac decoder ( #4764 )
...
* audio_core: dsp_hle: implements fdk_aac decoder
* audio_core: dsp_hle: clean up and add comments
* audio_core: dsp_hle: move fdk include to cpp file
* audio_core: dsp_hle: detects broken fdk_aac...
... and refuses to initialize if that's the case
* audio_core: dsp_hle: fdk_aac: address comments...
... and rebase commits
* fdk_decoder: move fdk header to cpp file
2020-02-23 11:01:21 +01:00
Hamish Milne
c983528862
Reworked DSP serialization
2020-02-13 17:42:12 +08:00
Hamish Milne
6917eaf53b
Use load_construct_data for kernel objects
2020-02-13 17:38:25 +08:00
Hamish Milne
ee2cae2093
Added core serialization
2020-02-13 17:34:13 +08:00
James Rowe
5fd1ff08d7
Merge pull request #5024 from jroweboy/temp-hle-audio-fix
...
Prevent out of memory errors when the game passes in an improper length value
2020-01-21 15:30:20 -07:00
James Rowe
e53a2ac411
Reenable AAC FFMPEG decoding
...
Simple cut/paste issue where initialized is only set to true when the
emulation attempts to init the Binary Pipe, but we used it to test if
the FFMPEG decoder was valid and disabled it if it wasn't. Just return
the value of have_ffmpeg_dl instead so when dynamic loading is added
it'll still work.
2019-12-16 19:23:43 -07:00
James Rowe
87facaa2e2
Prevent out of memory errors when the game passes in an improper length value
...
HACK
In Luigi's Mansion Dark Moon in HLE audio, the game mysteriously passes
in an extremely large value for length, which without any checks, causes
HLE audio to allocate an extremely large buffer.
This value seemingly is caused by some other HLE audio feature is missing,
and Luigi's Mansion subtracts two values to get a length, without
checking for overflow first. This appears to be caused by an incorrect
HLE audio emulation, as its fixed entirely by only changing to LLE. As
such, further investigation is required, but in the meantime, completely
eating up our users RAM is unacceptable.
2019-12-14 18:18:59 -07:00
James Rowe
337ac73915
Improve aac decoder selection
2019-12-08 16:18:39 -07:00
James Rowe
b395efe804
Dynamically load Media Foundation
2019-12-08 13:54:27 -07:00
vvanelslande
e1e136d72f
service/mic: actually use the specified device
2019-11-11 17:15:10 -05:00
zhupengfei
f8b3950829
CMake: separate options for FFmpeg decoder/dumper
...
Separate options are now provided for FFmpeg AAC audio decoder and FFmpeg video dumper. This allows users to configure Citra with greater freedom.
Also, previously for Linux builds, AAC decoder is accidentally enabled along with the dumper, which could potentially cause patent issues (?). This commit fixes it by only enabling video dumper.
2019-08-20 14:45:39 +08:00
zhupengfei
cf2c354fb9
CMake, CI: Add FFmpeg library dependency
2019-08-14 09:27:03 +08:00
zhupengfei
fff570012f
audio_core: Dump audio frames and samples
...
This is tested to work with all three current methods - HLE, LLE and multithread LLE.
2019-08-13 19:28:03 +08:00
Weiyi Wang
3dbd1fd4a8
audio_core/cubeb: silent signed/unsigned comparison warning
2019-07-14 14:30:24 -04:00
liushuyu
8021361bb4
audio_core: dsp_hle: use better f32 to s16...
...
... conversion by clamping and clipping sample to [-1,1] and use
different masks for negative and positive samples
2019-05-01 15:58:26 -06:00
James Rowe
f4d0bdd09a
Destroy the callback after the stream is destroyed
...
Prevents a crash on close if the callback was running on a different
thread.
2019-04-05 14:16:55 -06:00
Vamsi Krishna
aedf5a84b0
Merge pull request #4671 from jroweboy/mic4
...
Microphone support
2019-03-20 23:12:38 +05:30
James Rowe
b4d538468d
Change resampling s16 -> u8 to respect aliasing rules
2019-03-20 09:31:03 -06:00
James Rowe
9739e2b6fd
Support signed 8bit pcm in cubeb input. Address review
2019-03-17 22:52:03 -06:00
James Rowe
f5df13eb24
Remove global state and add mic hot swapping
2019-03-06 20:59:58 -07:00
James Rowe
182d672c15
Add ifdef around cubeb for android. Address a few review comments
2019-03-06 20:03:22 -07:00
James Rowe
5c61d53047
Fix compiler error
2019-03-06 11:30:23 -07:00
James Rowe
ba4dfe4217
Increase mic stream volume to max in case the users mic is set low for some reason
2019-03-06 11:17:32 -07:00
James Rowe
5f532c2560
Address review comments
2019-03-06 11:16:43 -07:00
James Rowe
c669aa8d55
Rest of the owl
2019-03-04 23:07:05 -07:00
fearlessTobi
5c9e327ff3
Fix
2019-03-04 23:07:05 -07:00
James Rowe
7fccc995ce
Initial Mic setup
2019-03-04 23:06:42 -07:00
Lioncash
d354a2ee3b
audio_core/codec: Resolve truncation warnings within DecodeADPCM
...
The assignments here were performing an implicit truncation from int to
s16. Make it explicit that this is desired behavior.
2019-03-02 14:06:30 +01:00
Weiyi Wang
8f2bd97277
Merge pull request #4655 from tgsm/gcc-version
...
Remove GCC version checks
2019-02-22 16:21:21 -05:00
tgsm
433ab35e7e
Remove GCC version checks
...
Citra can't be compiled using GCC <7 because of required C++17 support, so these version checks don't need to exist anymore.
2019-02-19 16:39:34 -05:00
tgsm
a400e49338
audio_core: use nested namespaces
2019-02-17 23:41:48 -05:00
liushuyu
a4ba35fe3a
audio_core: hle: mf: lint
2019-02-13 15:15:11 -07:00
liushuyu
671ac441e9
audio_core: hle: mf: move transform initializer to ctor
2019-02-13 14:32:14 -07:00
liushuyu
6178cc08b7
audio_core: hle: mf: conform to RAII as possible
2019-02-13 14:08:34 -07:00
liushuyu
f0e041e27a
audio_core: hle: mf: correctly handle stream change
2019-02-09 16:49:48 -07:00
liushuyu
01e0902fa4
audio_core: hle: mf: fix a memory accessing issue
2019-02-09 13:55:54 -07:00
liushuyu
6281660844
audio_core: hle: mf: address yet another batch of reviews
2019-02-09 13:55:42 -07:00
liushuyu
ab1f47ed15
audio_core: hle: mf: make DetectMediaType return a struct
2019-02-09 11:57:36 +01:00
liushuyu
168f2ee79a
audio_core: mf: make initialize function return smart pointer
2019-02-09 11:57:36 +01:00
liushuyu
c91f5029ff
audio_core: hle: mf: fix a regression...
...
... where the sample copying logic is incorrect due to the wrong usage
of `std::array`
2019-02-09 11:57:36 +01:00
liushuyu
6332e57069
audio_core: hle: mf: return values as std::optional
2019-02-09 11:57:36 +01:00
liushuyu
25fa10327b
audio_core: hle: mf: use object proxy
2019-02-09 11:57:36 +01:00
liushuyu
26b3b41788
audio_core: hle: mf: wrap enum in class
2019-02-09 11:57:36 +01:00
liushuyu
633f02b9b2
audio_core: hle: mf: avoid name conflicts
2019-02-09 11:57:36 +01:00
liushuyu
452ac7b874
audio_core: hle: mf: use more enum
2019-02-09 11:57:36 +01:00
liushuyu
be764e4f88
audio_core: hle: mf: multiple fixes...
...
... more smart pointers and re-arrange code
2019-02-09 11:57:36 +01:00
liushuyu
4bc6bfd51f
audio_core: hle: mf: re-arrange comments
2019-02-09 11:57:36 +01:00
liushuyu
972b527374
audio_core: hle: mf: cleanup headers
2019-02-09 11:57:36 +01:00
liushuyu
2c40ef2a90
audio_core: hle: mf: rename functions
2019-02-09 11:57:36 +01:00
liushuyu
ea8a1f8754
Media Foundation Memory Fix
...
* audio_core: hle: mf: more smart pointers
* audio_core: hle: mf: fix memory leaks
* audio_core: hle: mf: even more smart pointers
2019-02-09 11:57:36 +01:00
liushuyu
10f876653d
audio_core: hle: mf: transition to use smart pointers
2019-02-09 11:56:51 +01:00
liushuyu
bee5ba3e33
audio_core: hle: mf: fix a regression...
...
... an introduction in 8f591d3b85
2019-02-09 11:56:51 +01:00
liushuyu
06316be8a7
audio_core: hle: mf: minor fix
2019-02-09 11:56:51 +01:00
liushuyu
c03861c2d9
audio_core: hle: mf: address another batch of reviews from @B3N30
2019-02-09 11:56:51 +01:00
liushuyu
7f5b54fda4
audio_core: hle: mf: address reviews from @B3N30
2019-02-09 11:56:51 +01:00
liushuyu
11e277149c
audio_core: hle: fix compile
2019-02-09 11:56:51 +01:00
B3N30
80b4dd21d2
audio_core: dsp_hle: add Media Foundation decoder...
...
* appveyor: switch to Media Foundation API
* Travis CI MinGW build needs an update with the container image
2019-02-09 11:56:51 +01:00
B3N30
1581dea6de
more reviews addressed
2019-02-09 11:55:12 +01:00
liushuyu
8fe3e37df5
audio_core: fix msvc include issue
2019-02-09 11:55:12 +01:00
B3N30
bd9984b5f8
Addressed reviews
2019-02-09 11:55:12 +01:00
B3N30
847003cc1c
FFmpegDL: Added external_dlls folder to user folder
...
AACDecoder: addressed reviews
2019-02-09 11:52:31 +01:00
B3N30
45b5de7a18
Fixup: Merge conflict with dsp lle
2019-02-09 11:52:31 +01:00
B3N30
c521f3b7d6
CoreAudio::HLE: Add FFmpeg aac decoder
2019-02-09 11:52:31 +01:00
Weiyi Wang
f78512d6de
Merge pull request #4599 from wwylele/bitfield-endian
...
Common: make BitField endianness-aware
2019-02-01 10:48:56 -05:00
Weiyi Wang
104829ae58
remove all occurance of specifying endianness inside BitField
...
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)
BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-01-28 22:09:43 -05:00
fearlessTobi
24f966481f
dsp_interface: fix sound being played while volume is 0
...
According to documentation, if the argument of std::exp is zero, one is returned.
However we want the return value to be also zero in this case so no audio is played.
2019-01-26 14:53:58 +01:00