1. 7ad2cad Commit work started in FS#12153 to put timing/position information in PCM by Michael Sevakis · 13 years ago
  2. 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
  3. 4d903f2 Fix a miscomment in pcmbuf.c by Michael Sevakis · 13 years ago
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 8cb4b36 Fix whitespace and some comment typos by Jeffrey Goode · 13 years ago
  11. 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
  12. ba8ce00 pcmbuf: Clear last_chunksize at stop so we don't think there's a buffer in progress. by Michael Sevakis · 14 years ago
  13. 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 · 14 years ago
  14. 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
  15. 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
  16. c8944c0 Voice buffer can be much, much smaller. Code cleanup, logf fix by Jeffrey Goode · 14 years ago
  17. b2dc7f0 Fix crash when crossfading at natural track transition - FS#10814 by Steve Bavin · 15 years ago
  18. 84ca236 pcmbuf: better debug info, reinstate flush variable clear by Jeffrey Goode · 15 years ago
  19. db82be4 Cleanup audio.h, related functions by Jeffrey Goode · 15 years ago
  20. ba9280d pcmbuf cleanup by Jeffrey Goode · 15 years ago
  21. 873c5b6 pcmbuf: consolidate some similar code by Jeffrey Goode · 15 years ago
  22. d1963e1 Crossfade: crossfaded manual skips now start fading immediately by Jeffrey Goode · 15 years ago
  23. 29d2711 Crossfade: fix shuffle OR manual skip functionality, verbiage and manual by Jeffrey Goode · 15 years ago
  24. 15351e8 pcmbuf: consolidated some crossfade code by Jeffrey Goode · 15 years ago
  25. 0db3308 pcmbuf: bug fix with pcmbuf flush, code cleanup, added comments by Jeffrey Goode · 15 years ago
  26. 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
  27. dd93ef4 HAVE_CROSSFADE defs: fix yellow and red by Jeffrey Goode · 15 years ago
  28. 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
  29. cc4d92c pcmbuf: simplify crossfade logic by Jeffrey Goode · 15 years ago
  30. 874c911 pcmbuf: refactoring by Jeffrey Goode · 15 years ago
  31. 5c69a42 pcmbuf: more refactoring by Jeffrey Goode · 15 years ago
  32. 73c4791 pcmbuf: eliminate add_chunk as a separate function by Jeffrey Goode · 15 years ago
  33. d0ac045 pcmbuf: fix yellow. More renaming. by Jeffrey Goode · 15 years ago
  34. 8edac6e pcmbuf: refactoring, renamed confusing variables, moved some code around, but still no functional changes by Jeffrey Goode · 15 years ago
  35. b6f15f2 pcmbuf: moved some functions around, no functional changes yet by Jeffrey Goode · 15 years ago
  36. e9f389a pcmbuf: need ifdef to fix yellow by Jeffrey Goode · 15 years ago
  37. 37adbee pcmbuf: sorted functions into logical sections for readability. Tiny changes, nothing functional by Jeffrey Goode · 15 years ago
  38. 04b01e1 pcmbuf: clarify and simplify crossfade code, etc. by Jeffrey Goode · 15 years ago
  39. 013fe35 pcmbuf: better latency calculation, added debug code by Jeffrey Goode · 15 years ago
  40. 5ce8e2c Clarify track transition code in pcmbuf and playback. No functional changes yet. by Jeffrey Goode · 15 years ago
  41. e8eefe9 Code cleanup in codec_thread, playback and pcmbuf; more elegant solution to leftover samples by Jeffrey Goode · 15 years ago
  42. 96bb9ef Consolidate almost identical code in pcmbuf.c by Jeffrey Goode · 15 years ago
  43. faa47bf Code cleanup in dsp.c and misc.c, some comments by Jeffrey Goode · 15 years ago
  44. cf19ba5 Replace limiter with dynamic range compressor by Jeffrey Goode · 15 years ago
  45. 2b7ef6b FS#10199: Adds limiter DSP function by Jeffrey Goode · 15 years ago
  46. e3f36a1 FS#10446: Bug defense in dsp.c, minor tweaks and comments by Jeffrey Goode · 15 years ago
  47. 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
  48. d52c661 Commit FS#10335 from Jeffrey Goode. by Dan Everton · 15 years ago
  49. 66cf3a3 Clean up some #includes by Bertrik Sikken · 16 years ago
  50. 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 · 16 years ago
  51. 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 · 16 years ago
  52. 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 · 16 years ago
  53. ff49851 Red build fix. by Björn Stenberg · 16 years ago
  54. 6427d12 Calculate watermark from bitrate and harddisk spinup time. by Björn Stenberg · 16 years ago
  55. 26bf32c Check that PCM is playing/recording *after* getting the current position from the hardware layer. by Michael Sevakis · 16 years ago
  56. 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
  57. 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
  58. f2f3947 Fix red and a couple other things I somehow missed. by Michael Sevakis · 16 years ago
  59. 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
  60. 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
  61. c616520 Style police, place opening braces for function definitions on new lines by Nils Wallménius · 16 years ago
  62. 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
  63. 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 16 years ago
  64. 405e90e PCM buffer muting doesn't seem benificial for wm8978 so turn it off. by Michael Sevakis · 16 years ago
  65. 7f4a713 Removed unused function get_pcmbuf_descsize from pcmbuf.c by Bertrik Sikken · 16 years ago
  66. 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 · 17 years ago
  67. 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 · 17 years ago
  68. 135cc75 Revert my earlier const madness, we'll keep the parameter lists simple. by Steve Bavin · 17 years ago
  69. c9df8fd The const police raid playback.c, should be no change to behaviour. by Steve Bavin · 17 years ago
  70. 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 · 17 years ago
  71. ca55f13 Fix typo. by Nicolas Pennequin · 17 years ago
  72. 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
  73. 88c4748 Couple more tiny changes. :) by Michael Sevakis · 17 years ago
  74. 18330a0 Missed a couple changes by Michael Sevakis · 17 years ago
  75. 5398125 Use sized data types for audio data in the pcm buffer. Speed up the clipping routine. by Michael Sevakis · 17 years ago
  76. 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
  77. 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
  78. 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 · 18 years ago
  79. 938593b Put the sims in their place. by Michael Sevakis · 18 years ago
  80. 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 · 18 years ago
  81. 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 · 18 years ago
  82. 2597a13 Next round of static'ing and related fixes. by Jens Arnold · 18 years ago
  83. e3b0937 Priority overriding was not working correctly. by Miika Pekkarinen · 18 years ago
  84. bf65676 Removed muting from pcm buffer during starts, stops and pauses for tlv320 and uda1380. Far less in the way of pops now. Voice during FM radio playback keeps radio steady. If it is determined that other audio codecs don't benefit from this remove the muting code and defines altogether. Saving the state and not resetting more than needed seems to prevent popping more effectively than muting at DMA starts and stops. Voice can click a little if truncating a clip (not annoyingly though) but that should be handled by a DSP fade out over a few ms instead-- a side benefit would be a general DSP fade rather than using volume control. by Michael Sevakis · 18 years ago
  85. 5dd0775 Calculation was wrong in pcmbuf_is_same_size such that is would almost certainly return false. by Michael Sevakis · 18 years ago
  86. 0f5cb94 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs. by Michael Sevakis · 18 years ago
  87. 7058752 Removed ugly boosting solutions from playback code and let scheduler by Miika Pekkarinen · 18 years ago
  88. 10befc8 Don't unboost CPU in an ISR by Steve Bavin · 18 years ago
  89. 1f3360f Just take out some out-of-date TODOs from playback.c and put a big FIXME in pcmbuf.c by Brandon Low · 18 years ago
  90. d49c810 Add CPU boost tracker to see where boosts are coming from by Steve Bavin · 18 years ago
  91. d5dcb49 Fix for crossfade crashes if in or out delay are zero by Steve Bavin · 18 years ago
  92. 081281f Fix a crash and CPU being left boosted when using voice - FS#6024 by Steve Bavin · 18 years ago
  93. 815684a FS#5992 Reworked playback.c to fix voice bugs by Steve Bavin. Fixed to by Miika Pekkarinen · 18 years ago
  94. a85044b New scheduler, with priorities for swcodec platforms. Frequent task by Miika Pekkarinen · 18 years ago
  95. 0a7ded3 Memory size checks in .c/.h files should use MEM, not MEMORYSIZE by Dave Chapman · 18 years ago
  96. 28910e7 Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx). by Tomasz Malesinski · 18 years ago
  97. f3add92 Adjusted buffer watermarks for better crossfade and playback stability. by Miika Pekkarinen · 18 years ago
  98. c9a1b4e Correctly enable crossfade mixmode only when not skipping tracks manually. by Miika Pekkarinen · 18 years ago
  99. ddaf5f0 Revert a previous change, works around the problem of freezing on stop-while-paused, and skipping with crossfade by Brandon Low · 18 years ago
  100. b961551 Hopefully fix some old audio playing during manual track skip w/o crossfade. Worst case was 1/5 second of audio from pcmbuflen bytes later than the playign position of the old track would play. by Brandon Low · 18 years ago