Commit Graph

15 Commits

Author SHA1 Message Date
Aaron Culliney
2cc23cf35d Upgrade to GPLv3 "or later" and update copyrights 2015-10-22 21:09:13 -07:00
Aaron Culliney
4742d4e03e Misc moar logging 2015-10-20 20:51:21 -07:00
Aaron Culliney
d263478e83 Use calloc() for soundcore allocations
- Avoids potential for transacting upon uninitialized memory, thank you Valgrind
2015-09-12 15:04:09 -07:00
Aaron Culliney
2cbc53ef45 Correctly zero-out entire structure 2015-09-07 11:07:49 -07:00
Aaron Culliney
a1c497bfa0 Lightly refactor testing codepaths for desktop Linux and Android 2015-09-06 22:10:25 -07:00
Aaron Culliney
f95a00df7b Silence some Clang complaints 2015-09-06 13:55:17 -07:00
Aaron Culliney
36baaa04d5 Allow dynamic configuration of audio latency
- This allows for user-configured device-specific tuning (which makes sense in the Android world with 10,000+
      different devices out there ;-)
2015-07-25 12:57:16 -07:00
Aaron Culliney
5f4bf6b1a7 Use single buffer queue callback for OpenSLES/Android
- OpenSLES Callback now performs simple mix of 2 sources (speaker and mockingboard)
    - Avoids multiple callbacks which was a performance penalty especially for low-end droids
2015-07-12 12:59:49 -07:00
Aaron Culliney
1b4962169a Enabled backfilling quiet samples for stereo
- This is a bit of a hack that fixes mockingboard glitching
2015-07-08 20:14:16 -07:00
Aaron Culliney
0cefe60e06 Force OpenSLES to start playback immediately
- Without this, mockingboard will queue a few samples on U5 boot, but then it won't restart
2015-07-07 21:32:43 -07:00
Aaron Culliney
dfbb13906a Working buffer size should be around 0.1-0.3 sec of data
- This appears to work on a wide grange of older Gingerbread through to the latest Nexus class devices
    - TODO : we really should write a dynamic calculation/adjustment routine to determine the best working buffer for
      any device this code runs on =)
2015-07-05 13:16:20 -07:00
Aaron Culliney
8ecab7cf91 Eliminate using a local variable 2015-07-05 12:58:43 -07:00
Aaron Culliney
e04f5c046c Just use the workingBytes for bytes_queued calculation 2015-07-05 12:57:24 -07:00
Aaron Culliney
2aba9a5ba1 Better OpenSLES backend implementation for Android
- Uses buffer values gleaned from Android system
    - Removes completely unnecessary playq and uses ringBuffer instead with read/write heads
    - ringBuffer includes a certain amount of "overflow" space for callback convenience
2015-07-04 18:01:44 -07:00
Aaron Culliney
bb8d51817b First cut at Android OpenSLES backend 2015-06-27 11:48:00 -07:00