- 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
- 2306433 Make crossfade less twitchy more by Brandon Low · 18 years ago
- 08cdc43 GOTO POWER. Improve crossfade performance, and cleanliness, and termination conditions. Make consistent insert vs. request/complete types of buffering. by Brandon Low · 18 years ago
- 1f4a634 Make crossfade less twitchy about buffer level by Brandon Low · 18 years ago
- 9602dd7 Fix asymetric crossfade cases that were broken, and also a not yet reported bug where a buffer underrun during crossfade would take a long time to resume playing by Brandon Low · 18 years ago
- 1924769 Fix crossfade. Again. by Brandon Low · 18 years ago
- 9aa49a4 More crossfade work, should fix crossfade on coldfire, and possibly improve crossfade performance in some cases. by Brandon Low · 18 years ago
- 8ef1827 Fix another possible glitch causer on crossfade by Brandon Low · 18 years ago
- 9ca16a6 Fix crossfade locational setting by Brandon Low · 18 years ago
- 2da61ff Remove accidentally commited commented code, no functional changes by Brandon Low · 18 years ago
- 6c0908b Rework crossfade to properly follow pcmbuf chunks instaed of blindly inserting into the ring buffer by Brandon Low · 18 years ago
- 920516c Whoops, forgot to 'duck' the music below the voice when I redid the mix by Brandon Low · 18 years ago
- f3bc1ef First commit of reworking voice to be mroe stable on swcodec by Brandon Low · 18 years ago
- 37faaab Fix a crossfade problem (not initializing quite right), and a end of track problem (should solve some problemwith last bits of audio not playing). by Brandon Low · 18 years ago
- 86c7e1a Fix some stop/pause/boost stuff by Brandon Low · 18 years ago
- 0744e76 Ensure that the buffer doesn't get out of sync on rebuffer track changes. Remove the concept of pcmuf_boost_mode as it doesn't seem necessary, and adds an unnecessary way for the CPU to stay boosted. by Brandon Low · 18 years ago
- a131580 Add a comment only by Brandon Low · 19 years ago
- 0fcd411 Fix bug #4896 and make the beep code a bit cleaner by Brandon Low · 19 years ago
- 33a62e8 More work on swcodec. No significant pcmbuf functions are called from the audio thread now. Do not be surprised if seek or skip behavior gets weird after this, but it Works for Me (TM), and is a significant step in the right direction. by Brandon Low · 19 years ago
- 8bdd92b New 'Track Skip Only' option for Crossfading; crossfading is disabled except for manual track changes. NOTE: If you were using 'Always' mode previously, check again after updating: you'll now be in the new 'Track Skip Only' mode. by Zakk Roberts · 19 years ago
- dbcc9c2 Add comments, and avoid throw-away calculations in crossfade buffer process by Brandon Low · 19 years ago
- a9c1688 Fix lockups people have been having with track skipping during buffer fill, this is a reversion of a previous commit pending more fixes to playback engine by Brandon Low · 19 years ago
- 86f1e2e Convert playback.c to use unsigned byte counters, and _minor_ refactoring of buffer callbacks by Brandon Low · 19 years ago
- 8307d0b Fix weirdness caused by not stopping buffering during pause, and generally use a more sane pause behavior on swcodec targets by Brandon Low · 19 years ago
- 9535a9a Fix some of the voice and beep bugs that people have noticed since my new pcmbuf code went in, reduce code duplication, and improve performance while I'm at it by Brandon Low · 19 years ago
- 3bbd93b Add comments, and prevent a nearly impossible wrapping bug. There's always enough space for the next whole audio chunk now, so it's faster too by Brandon Low · 19 years ago
- 3a37fae Don't boost from inside the DMA interrupt, ever by Brandon Low · 19 years ago
- 413da2a Rework PCM buffer by Brandon Low · 19 years ago
- 8f369c2 Fixed the previous commit. by Miika Pekkarinen · 19 years ago
- 4408b6b Reduce latency when configuring the EQ. by Miika Pekkarinen · 19 years ago
- a4f8d1c Don't use crossfader mix mode when skipping tracks manually. by Miika Pekkarinen · 19 years ago
- 6d6ca6b Muting trick to prevent tiny pops and glitchless mp3 seeking. by Miika Pekkarinen · 19 years ago
- ee6a95a Initialize callback for safety by Brandon Low · 19 years ago
- a3868d3 Continue to update playback status after decoding is complete (the progress bar makes it to 100%!) by Brandon Low · 19 years ago
- d8a6c06 Improve performance by putting more of the code and variables that are called by the DMA0 interrupt into IRAM (3% boost improvement on my test track). by Brandon Low · 19 years ago
- 0e159f1 Fixed a few iriver playback quirks and issues with previous fixes. by Miika Pekkarinen · 19 years ago
- b770d53 Fixed the crossfade and track skipping glitches. by Miika Pekkarinen · 19 years ago