1. 5e4532c Fix a problem with audio not starting on a list of short files by Michael Sevakis · 7 years ago
  2. bc4c13e Fix previous errors for targets with no crossfade. by Michael Sevakis · 8 years ago
  3. 6c83739 Playback: Fix problems with crossfade on short tracks. by Michael Sevakis · 8 years ago
  4. d37bf24 Enable setting of global output samplerate on certain targets. by Michael Sevakis · 11 years ago
  5. 662f757 Fix a bug in pcmbuf.c when doing offset with modulus. by Michael Sevakis · 11 years ago
  6. 363f96b Fix whitespace for next commit by Michael Sevakis · 11 years ago
  7. 56f17c4 Make rbcodec/dsp includes more specific. by Michael Sevakis · 12 years ago
  8. c9bcbe2 Fundamentally rewrite much of the audio DSP. by Michael Sevakis · 12 years ago
  9. fdd3634 Fix up some more type stuff in pcmbuf.c. by Michael Sevakis · 12 years ago
  10. 286a4c5 Revise the PCM callback system after adding multichannel audio. by Michael Sevakis · 12 years ago
  11. 72c41a3 crosfade_mix_fade should be returning size_t, not int. by Michael Sevakis · 12 years ago
  12. 5833cc1 pcmbuf minor cleaning by Michael Sevakis · 12 years ago
  13. c7f3a0b Neaten up pcmbuf a bit with regards to differences determined by MEMORYSIZE. by Michael Sevakis · 12 years ago
  14. a43df15 Collect the 16-bit signed range sample clipping routines scattered about, which can be optimized on armv6 and create firmware/export/dsp-util.h (for lack of better place right now). by Michael Sevakis · 13 years ago
  15. 11cbffa Do a bandaid fix for the moment to address FS#12250 : Playback freezes when using speed or pitch change. Task should remain open for now since this is just a brute force buffer increase rather than (re)endowing the DSP with the expected behavior. by Michael Sevakis · 13 years ago
  16. 3156730 Restore functionality of pcmbuf_is_lowdata. It fell out of sync since the mixer code and then an incorrect change unintentionally remained in r30366. by Michael Sevakis · 13 years ago
  17. 9384cda Remove INT_MAX from pcmbuf.c. Win32 sim compained about it and it isn't specifically important enough for another #include - it just needs a great enough value to cover any remaining data. by Michael Sevakis · 13 years ago
  18. 7ad2cad Commit work started in FS#12153 to put timing/position information in PCM by Michael Sevakis · 13 years ago
  19. 697aa7f Do sync between pcmbuf volume controls without explicit IRQ masking, which is nicer and also allows pcmbuf.c to compile again as thumb code. by Michael Sevakis · 13 years ago
  20. 4d903f2 Fix a miscomment in pcmbuf.c by Michael Sevakis · 13 years ago
  21. 5078d46 Fix FS#12238 - WPS delay on pause introduced by r30097 which was the excuse I wanted anyway to do a better PCM fade on stop/pause implementation. New fade is asynchronous tick-based. Restores skin update points in the WPS that were removed when fading mechanism was changed. by Michael Sevakis · 13 years ago
  22. 96f02a9 is_codec_thread() is not needed anymore since PCM buffer calls other than volume level are no longer made by the voice thread. by Michael Sevakis · 13 years ago
  23. a802eba The voice PCM buffer has nothing to do with the playback PCM buffer any longer. Allocate it independently from the playback engine's PCM buffer and only when voice is required. Additionally, allocate actual space for the crossfade buffer only when using crossfade. Will save 18.3KB when neither is needed (10.3KB for voice and 8.0KB for crossfade). by Michael Sevakis · 13 years ago
  24. 185fddb Fix FS#12179 - Simulator build fails when using "configure --sdl-threads". HAVE_PRIORITY_SCHEDULING checks were missing to exclude priority calls when building without priority. by Michael Sevakis · 13 years ago
  25. 5ff641f Do some adjustments to alleviate IRAM congestion on some targets from r30097. Include removing pointless IRAM declarations in pcmbuf.c because that callback code runs at a fairly relaxed pace. M5 is still the biggest problem. by Michael Sevakis · 13 years ago
  26. a2b6703 Commit FS#12150 - Fully-functional audio mixer - and finally whip old limitations about playback of voice and other sounds when paused. Channels are independent in state and amplitude. Fade on stop/pause is handled by the channel's volume control rather than global volume which means it now works from anywhere. Opens up the possibility of plugin sounds during music playback by merely adding an additional channel enum. If any PCM drivers were not properly modified, see one of the last comments in the task for a description of the simple change that is expected. Some params are tunable in firmware/export/pcm-mixer.h as well. by Michael Sevakis · 13 years ago
  27. 8cb4b36 Fix whitespace and some comment typos by Jeffrey Goode · 13 years ago
  28. c537d59 Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. by Michael Sevakis · 13 years ago
  29. ba8ce00 pcmbuf: Clear last_chunksize at stop so we don't think there's a buffer in progress. by Michael Sevakis · 13 years ago
  30. 6510973 Give playback engine better control over the codec. Codec simply follows commands and doesn't concern itself with audio state. Get track change notification in on the actual last buffer insert of the track because now audio simply waits for a track change notify from PCM on the last track and it must be sent reliably. This is still at an intermediate stage but works. Codecs and plugins become incompatible. by Michael Sevakis · 13 years ago
  31. 9afb55a Redo raising the priority of the codec (and voice) thread to fix audio dropouts under heavy UI load, such as during kinetic scrolling or pictureflow. by Thomas Martitz · 14 years ago
  32. 35e8b14 Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). by Thomas Martitz · 14 years ago
  33. c8944c0 Voice buffer can be much, much smaller. Code cleanup, logf fix by Jeffrey Goode · 14 years ago
  34. b2dc7f0 Fix crash when crossfading at natural track transition - FS#10814 by Steve Bavin · 15 years ago
  35. 84ca236 pcmbuf: better debug info, reinstate flush variable clear by Jeffrey Goode · 15 years ago
  36. db82be4 Cleanup audio.h, related functions by Jeffrey Goode · 15 years ago
  37. ba9280d pcmbuf cleanup by Jeffrey Goode · 15 years ago
  38. 873c5b6 pcmbuf: consolidate some similar code by Jeffrey Goode · 15 years ago
  39. d1963e1 Crossfade: crossfaded manual skips now start fading immediately by Jeffrey Goode · 15 years ago
  40. 29d2711 Crossfade: fix shuffle OR manual skip functionality, verbiage and manual by Jeffrey Goode · 15 years ago
  41. 15351e8 pcmbuf: consolidated some crossfade code by Jeffrey Goode · 15 years ago
  42. 0db3308 pcmbuf: bug fix with pcmbuf flush, code cleanup, added comments by Jeffrey Goode · 15 years ago
  43. 664dc90 Crossfade: added a new option, rewrote decision logic, updated manual and menus. Translators please note that updated translations may be required for some crossfade menu items! by Jeffrey Goode · 15 years ago
  44. dd93ef4 HAVE_CROSSFADE defs: fix yellow and red by Jeffrey Goode · 15 years ago
  45. 9e09534 Crossfade: carved out crossfade related code with lots of HAVE_CORSSFADE conditionals, eliminated fade buffer on low memory targets by Jeffrey Goode · 15 years ago
  46. cc4d92c pcmbuf: simplify crossfade logic by Jeffrey Goode · 15 years ago
  47. 874c911 pcmbuf: refactoring by Jeffrey Goode · 15 years ago
  48. 5c69a42 pcmbuf: more refactoring by Jeffrey Goode · 15 years ago
  49. 73c4791 pcmbuf: eliminate add_chunk as a separate function by Jeffrey Goode · 15 years ago
  50. d0ac045 pcmbuf: fix yellow. More renaming. by Jeffrey Goode · 15 years ago
  51. 8edac6e pcmbuf: refactoring, renamed confusing variables, moved some code around, but still no functional changes by Jeffrey Goode · 15 years ago
  52. b6f15f2 pcmbuf: moved some functions around, no functional changes yet by Jeffrey Goode · 15 years ago
  53. e9f389a pcmbuf: need ifdef to fix yellow by Jeffrey Goode · 15 years ago
  54. 37adbee pcmbuf: sorted functions into logical sections for readability. Tiny changes, nothing functional by Jeffrey Goode · 15 years ago
  55. 04b01e1 pcmbuf: clarify and simplify crossfade code, etc. by Jeffrey Goode · 15 years ago
  56. 013fe35 pcmbuf: better latency calculation, added debug code by Jeffrey Goode · 15 years ago
  57. 5ce8e2c Clarify track transition code in pcmbuf and playback. No functional changes yet. by Jeffrey Goode · 15 years ago
  58. e8eefe9 Code cleanup in codec_thread, playback and pcmbuf; more elegant solution to leftover samples by Jeffrey Goode · 15 years ago
  59. 96bb9ef Consolidate almost identical code in pcmbuf.c by Jeffrey Goode · 15 years ago
  60. faa47bf Code cleanup in dsp.c and misc.c, some comments by Jeffrey Goode · 15 years ago
  61. cf19ba5 Replace limiter with dynamic range compressor by Jeffrey Goode · 15 years ago
  62. 2b7ef6b FS#10199: Adds limiter DSP function by Jeffrey Goode · 15 years ago
  63. e3f36a1 FS#10446: Bug defense in dsp.c, minor tweaks and comments by Jeffrey Goode · 15 years ago
  64. 6469926 FS#10506. Don't compile various crossfade only functions in pcmbuf.c on low memory targets (mainly AMS) to save memory. Some crossfade related items remain in the code, but they're not worth cluttering the code with ifdefs over. Also, introduce HAVE_CROSSFADE define for neatness. by Michael Giacomelli · 15 years ago
  65. d52c661 Commit FS#10335 from Jeffrey Goode. by Dan Everton · 15 years ago
  66. 66cf3a3 Clean up some #includes by Bertrik Sikken · 15 years ago
  67. 6c399b8 Use DMA for audio playback on PP502x (FS#9910 + some further mods). I can't say at this point about any change in battery life but it frees up a percent or two of CPU cycles as measured in the buffering screen. No change in recording transfers yet. Testing seemed to check out so put it out for general use and see what happens. by Michael Sevakis · 15 years ago
  68. e86ece4 Fix too-soon frequency unboost when pcm buffer crosses watermark from the low side. It's supposed to stay boosted until full again. Also align the static beep buffer to 4 bytes. by Michael Sevakis · 15 years ago
  69. 94537f9 Gigabeat S: Implement an SDMA API and use it in the PCM driver. Some other miscellaneous adjustments to recording and PCM buffer to accomodate use of physical addresses and cache coherency. by Michael Sevakis · 15 years ago
  70. ff49851 Red build fix. by Björn Stenberg · 16 years ago
  71. 6427d12 Calculate watermark from bitrate and harddisk spinup time. by Björn Stenberg · 16 years ago
  72. 26bf32c Check that PCM is playing/recording *after* getting the current position from the hardware layer. by Michael Sevakis · 16 years ago
  73. 93572e2 Keyclick fixup take two. It is only 88 samples (2msec) long so keep a small static buffer around for beeps less than or equal to keyclick duration. This way it operates no matter the buffer state and still won't interfere with alternate PCM operations like recording or plugin playback. by Michael Sevakis · 16 years ago
  74. 5e73f9f Fix FS#8660-Recording hardlocks with keyclick enabled and FS#9388-keyclicks too late. Introduce audio_buffer_state to check whether PCM buffer is useable or disabled (trashed). by Michael Sevakis · 16 years ago
  75. f2f3947 Fix red and a couple other things I somehow missed. by Michael Sevakis · 16 years ago
  76. 8cfbd36 Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required. by Michael Sevakis · 16 years ago
  77. 89da432 Meg F/X can beep and click using a hardware timer so let us try it out. To match things up better, fix PCM beeping to give correct frequency (and get a pointer wrap bug too). Do some minor adjustments to compensate for corrections. by Michael Sevakis · 16 years ago
  78. c616520 Style police, place opening braces for function definitions on new lines by Nils Wallménius · 16 years ago
  79. 0e97b1a Fix FS#9507 - video audio is not played if song is paused. Audio was not being unmuted by playback. by Michael Sevakis · 16 years ago
  80. 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 16 years ago
  81. 405e90e PCM buffer muting doesn't seem benificial for wm8978 so turn it off. by Michael Sevakis · 16 years ago
  82. 7f4a713 Removed unused function get_pcmbuf_descsize from pcmbuf.c by Bertrik Sikken · 16 years ago
  83. b24ed65 Simplify pcmbuf_beep() a little, should be no functional change but it seems to mysteriously change the PortalPlayer 'keyclick beep of death' problem into a 'barely-there keyclick' problem. by Steve Bavin · 16 years ago
  84. 21870cf Fixes FS#8651 (noise and/or crash while crossfading). Latest ARM-asm submit for dsp showed we had a possible alignment issue with pcm-buffer when using crossfade. by Andree Buschmann · 16 years ago
  85. 135cc75 Revert my earlier const madness, we'll keep the parameter lists simple. by Steve Bavin · 16 years ago
  86. c9df8fd The const police raid playback.c, should be no change to behaviour. by Steve Bavin · 16 years ago
  87. 27cf677 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed. by Michael Sevakis · 16 years ago
  88. ca55f13 Fix typo. by Nicolas Pennequin · 17 years ago
  89. 99617d7 Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary. by Michael Sevakis · 17 years ago
  90. 88c4748 Couple more tiny changes. :) by Michael Sevakis · 17 years ago
  91. 18330a0 Missed a couple changes by Michael Sevakis · 17 years ago
  92. 5398125 Use sized data types for audio data in the pcm buffer. Speed up the clipping routine. by Michael Sevakis · 17 years ago
  93. 6077e5b Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound. by Michael Sevakis · 17 years ago
  94. 3bec38e SWCODEC: Get rid of unneeded pcm_mute() calls. Leave the only ones that seem to be needed for WM codecs. by Michael Sevakis · 17 years ago
  95. e1dd10d SWCODEC: Get rid of extra swap buffer and get back 512K of RAM or 100K if the players RAM is <= 1MB. Make any needed changes to things to stabilize and facilitate this including removing flattening out initialization. Comment some things heavily. Fix a few logfs I didn't want to see the compiler complaining about. by Michael Sevakis · 17 years ago
  96. 938593b Put the sims in their place. by Michael Sevakis · 17 years ago
  97. b425de7 Fix problem with recording screen creep and bag a bigfoot. Voice clips aren't long enough now to untrigger the thread boost that was supposed to be applied to the codec thread. The voice thread was needlessly boosting the codec thread and leaving it boosted which explains the encoders' ability to flood the output buffer when everything else was stopped in its tracks. Check which thread is calling pcmbuf_under_watermark and only initiate the boost when it's the codec thread. Always return the codec thread to its usual priority in pcmbuf_play_stop. by Michael Sevakis · 17 years ago
  98. aba6ca0 Fix resampling clicking as much as possible at the moment. 1) Upsampling clicked because of size inaccuracies returned by DSP. Fix by simplifying audio system to use per-channel sample count from codec to pcm buffer. 2) Downsampling affected by 1) and was often starting passed the end of the data when not enough was available to generate an output sample. Fix by clamping input range to last sample in buffer and using the last sample value in the buffer. A perfect fix will require a double buffering scheme on the resampler to sufficient data during small data transients on both ends at all times of the down ratio on input and the up ratio on output. by Michael Sevakis · 17 years ago
  99. 2597a13 Next round of static'ing and related fixes. by Jens Arnold · 18 years ago
  100. e3b0937 Priority overriding was not working correctly. by Miika Pekkarinen · 18 years ago