- 7ad2cad Commit work started in FS#12153 to put timing/position information in PCM by Michael Sevakis · 13 years ago
- 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
- 4d903f2 Fix a miscomment in pcmbuf.c by Michael Sevakis · 13 years ago
- 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
- 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
- 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
- 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
- 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
- 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
- 8cb4b36 Fix whitespace and some comment typos by Jeffrey Goode · 13 years ago
- 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
- ba8ce00 pcmbuf: Clear last_chunksize at stop so we don't think there's a buffer in progress. by Michael Sevakis · 14 years ago
- 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
- 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
- 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
- c8944c0 Voice buffer can be much, much smaller. Code cleanup, logf fix by Jeffrey Goode · 14 years ago
- b2dc7f0 Fix crash when crossfading at natural track transition - FS#10814 by Steve Bavin · 15 years ago
- 84ca236 pcmbuf: better debug info, reinstate flush variable clear by Jeffrey Goode · 15 years ago
- db82be4 Cleanup audio.h, related functions by Jeffrey Goode · 15 years ago
- ba9280d pcmbuf cleanup by Jeffrey Goode · 15 years ago
- 873c5b6 pcmbuf: consolidate some similar code by Jeffrey Goode · 15 years ago
- d1963e1 Crossfade: crossfaded manual skips now start fading immediately by Jeffrey Goode · 15 years ago
- 29d2711 Crossfade: fix shuffle OR manual skip functionality, verbiage and manual by Jeffrey Goode · 15 years ago
- 15351e8 pcmbuf: consolidated some crossfade code by Jeffrey Goode · 15 years ago
- 0db3308 pcmbuf: bug fix with pcmbuf flush, code cleanup, added comments by Jeffrey Goode · 15 years ago
- 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
- dd93ef4 HAVE_CROSSFADE defs: fix yellow and red by Jeffrey Goode · 15 years ago
- 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
- cc4d92c pcmbuf: simplify crossfade logic by Jeffrey Goode · 15 years ago
- 874c911 pcmbuf: refactoring by Jeffrey Goode · 15 years ago
- 5c69a42 pcmbuf: more refactoring by Jeffrey Goode · 15 years ago
- 73c4791 pcmbuf: eliminate add_chunk as a separate function by Jeffrey Goode · 15 years ago
- d0ac045 pcmbuf: fix yellow. More renaming. by Jeffrey Goode · 15 years ago
- 8edac6e pcmbuf: refactoring, renamed confusing variables, moved some code around, but still no functional changes by Jeffrey Goode · 15 years ago
- b6f15f2 pcmbuf: moved some functions around, no functional changes yet by Jeffrey Goode · 15 years ago
- e9f389a pcmbuf: need ifdef to fix yellow by Jeffrey Goode · 15 years ago
- 37adbee pcmbuf: sorted functions into logical sections for readability. Tiny changes, nothing functional by Jeffrey Goode · 15 years ago
- 04b01e1 pcmbuf: clarify and simplify crossfade code, etc. by Jeffrey Goode · 15 years ago
- 013fe35 pcmbuf: better latency calculation, added debug code by Jeffrey Goode · 15 years ago
- 5ce8e2c Clarify track transition code in pcmbuf and playback. No functional changes yet. by Jeffrey Goode · 15 years ago
- e8eefe9 Code cleanup in codec_thread, playback and pcmbuf; more elegant solution to leftover samples by Jeffrey Goode · 15 years ago
- 96bb9ef Consolidate almost identical code in pcmbuf.c by Jeffrey Goode · 15 years ago
- faa47bf Code cleanup in dsp.c and misc.c, some comments by Jeffrey Goode · 15 years ago
- cf19ba5 Replace limiter with dynamic range compressor by Jeffrey Goode · 15 years ago
- 2b7ef6b FS#10199: Adds limiter DSP function by Jeffrey Goode · 15 years ago
- e3f36a1 FS#10446: Bug defense in dsp.c, minor tweaks and comments by Jeffrey Goode · 15 years ago
- 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
- d52c661 Commit FS#10335 from Jeffrey Goode. by Dan Everton · 15 years ago
- 66cf3a3 Clean up some #includes by Bertrik Sikken · 16 years ago
- 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
- 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
- 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
- ff49851 Red build fix. by Björn Stenberg · 16 years ago
- 6427d12 Calculate watermark from bitrate and harddisk spinup time. by Björn Stenberg · 16 years ago
- 26bf32c Check that PCM is playing/recording *after* getting the current position from the hardware layer. by Michael Sevakis · 16 years ago
- 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
- 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
- f2f3947 Fix red and a couple other things I somehow missed. by Michael Sevakis · 16 years ago
- 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
- 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
- c616520 Style police, place opening braces for function definitions on new lines by Nils Wallménius · 16 years ago
- 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
- 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 16 years ago
- 405e90e PCM buffer muting doesn't seem benificial for wm8978 so turn it off. by Michael Sevakis · 16 years ago
- 7f4a713 Removed unused function get_pcmbuf_descsize from pcmbuf.c by Bertrik Sikken · 16 years ago
- 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
- 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
- 135cc75 Revert my earlier const madness, we'll keep the parameter lists simple. by Steve Bavin · 17 years ago
- c9df8fd The const police raid playback.c, should be no change to behaviour. by Steve Bavin · 17 years ago
- 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
- ca55f13 Fix typo. by Nicolas Pennequin · 17 years ago
- 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
- 88c4748 Couple more tiny changes. :) by Michael Sevakis · 17 years ago
- 18330a0 Missed a couple changes by Michael Sevakis · 17 years ago
- 5398125 Use sized data types for audio data in the pcm buffer. Speed up the clipping routine. by Michael Sevakis · 17 years ago
- 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
- 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
- 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
- 938593b Put the sims in their place. by Michael Sevakis · 18 years ago
- 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
- 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
- 2597a13 Next round of static'ing and related fixes. by Jens Arnold · 18 years ago
- e3b0937 Priority overriding was not working correctly. by Miika Pekkarinen · 18 years ago
- 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
- 5dd0775 Calculation was wrong in pcmbuf_is_same_size such that is would almost certainly return false. by Michael Sevakis · 18 years ago
- 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
- 7058752 Removed ugly boosting solutions from playback code and let scheduler by Miika Pekkarinen · 18 years ago
- 10befc8 Don't unboost CPU in an ISR by Steve Bavin · 18 years ago
- 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
- d49c810 Add CPU boost tracker to see where boosts are coming from by Steve Bavin · 18 years ago
- d5dcb49 Fix for crossfade crashes if in or out delay are zero by Steve Bavin · 18 years ago
- 081281f Fix a crash and CPU being left boosted when using voice - FS#6024 by Steve Bavin · 18 years ago
- 815684a FS#5992 Reworked playback.c to fix voice bugs by Steve Bavin. Fixed to by Miika Pekkarinen · 18 years ago
- a85044b New scheduler, with priorities for swcodec platforms. Frequent task by Miika Pekkarinen · 18 years ago
- 0a7ded3 Memory size checks in .c/.h files should use MEM, not MEMORYSIZE by Dave Chapman · 18 years ago
- 28910e7 Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx). by Tomasz Malesinski · 18 years ago
- f3add92 Adjusted buffer watermarks for better crossfade and playback stability. by Miika Pekkarinen · 18 years ago
- c9a1b4e Correctly enable crossfade mixmode only when not skipping tracks manually. by Miika Pekkarinen · 18 years ago
- 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
- 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