- a56837b recording: Fix sloppy return value check. This caused an OOM panic. by Thomas Martitz · 12 years ago
- 22e802e playback,talk: Share audiobuffer via core_alloc_maximum(). by Thomas Martitz · 12 years ago
- 5f0692b SWCODEC recording: Boost CPU frequency before doing flush on stop by Michael Sevakis · 12 years ago
- 59abdb5 Fix strlcpy warnings in 4888131. by Michael Sevakis · 12 years ago
- 4888131 Update software recording engine to latest codec interface. by Michael Sevakis · 12 years ago
- a9ea1a4 Fix some whitespace in files changed in following commit. by Michael Sevakis · 12 years ago
- 344b9d0 Some corrections after 5857c44. by Michael Sevakis · 12 years ago
- 5857c44 Refactor audio thread to run both recording and playback. by Michael Sevakis · 12 years ago
- df6e1bc pcm_record: Track initialization state by Michael Sevakis · 12 years ago
- 286a4c5 Revise the PCM callback system after adding multichannel audio. by Michael Sevakis · 13 years ago
- 5af1e2f Add a second boost condition to the recording PCM buffer to boost the CPU when 75% full or more. This is especially important for small memory when the 1-second condition frequency cannot be reached. by Michael Sevakis · 14 years ago
- e42a319 AS3525v1/v2: by Michael Sevakis · 14 years ago
- d51e598 FS#12412 : Delete old buffer allocation code which has been replaced by core_alloc, and move buffer setup code to core_alloc.c by Boris Gjenero · 14 years ago
- f301ac0 Revert 30754 because the codecs won't build correctly, anyway. by Fred Bauer · 14 years ago
- 2537e46 undef DEBUG in pcm_record.c because it's broken and breaks DEBUG builds by Fred Bauer · 14 years ago
- 8a701e5 Fix errors and warnings. by Thomas Martitz · 14 years ago
- d1322b7 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions. by Thomas Martitz · 14 years ago
- cc889e9 Change the thread api a bit. by Thomas Martitz · 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
- 5d849a9 Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead. by Andree Buschmann · 14 years ago
- 0e2286f Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this and a bit further cleanup in main gets rid of a warning when compiling for android. by Thomas Martitz · 15 years ago
- 3982f1e Simulator: build recording code by Rafaël Carré · 15 years ago
- b15a523 e200v1/c200v1: Implement limited samplerate switching. Rates 24kHz and below are being a bear as far as minor crackling at higher amplitude-- leave them out for the time being since no solution is currently evident. 48, 44, 32 (rec rates 24, 22, 16) seem perfectly fine. I'm betting c200 is ok to include because it uses the same setup as e200. by Michael Sevakis · 15 years ago
- d569998 Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API. by Michael Sevakis · 15 years ago
- 7d5e0d7 FS#11263 - Radio Art support! %C and %Cl tags work in the radio screen and Base Skin when the radio is running. by Jonathan Gordon · 15 years ago
- 020dddf Enable recording on clipv1/m200v4/c200v2 by Rafaël Carré · 15 years ago
- 05778b5 Fix further tabs by Andree Buschmann · 16 years ago
- 3d4701a FS#10080 by Nils Wallménius · 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
- 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 · 17 years ago
- 826688e PCM buffer beeping needs the audio buffer reset in order to work after operations that trash the buffer or keyclick won't be audible until playback is restarted. by Michael Sevakis · 17 years ago
- f2f3947 Fix red and a couple other things I somehow missed. by Michael Sevakis · 17 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 · 17 years ago
- 2f8a008 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*. by Frank Gevaerts · 17 years ago
- 51b45d5 Split id3.c/h into metadata.c/h and metadata/mp3.c. Updated all references. Moved mp3data.c/h from firmware to apps. by Björn Stenberg · 17 years ago
- 9558c49 Moved pcm_record from firmware to apps. Cleaned up some. Now all code using struct mp3entry is in apps. by Björn Stenberg · 17 years ago[Renamed (99%) from firmware/pcm_record.c]
- 528fe44 New recording setting to configure how mono recordings are made. Previously, this was always L+R, which was kinda silly if your signal was on L only. This setting allows for L, R or L+R. SWCODEC only for now, to be added for HWCODEC (although that will only be L and L+R probably) by Peter D'Hoye · 17 years ago
- 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 17 years ago
- 0509914 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit). by Michael Sevakis · 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
- 5323fe9 Move encoder CPU boost control to the core. Allow CPU to sleep a bit when PCM buffer is empty and save some power. Codec API becomes incompatible so full updates! :) by Michael Sevakis · 18 years ago
- a9b2fb5 Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties. by Michael Sevakis · 18 years ago
- 85058f5 Fix FS #5852 by trying to properly close and update the recorded file, and give the FAT the correct file info. Add filehandle checks to some file functions. by Peter D'Hoye · 18 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 · 18 years ago
- 035529c Enable auto reply for queue messages sent with queue_send. It's only nescessary to use queue_reply to return a value other than zero or to return a result before waiting on the queue again. by Michael Sevakis · 18 years ago
- 5be5674 Remove the PCMREC_PARANOID support since the issues have been identified and fixed however detecting an encoder writing too many samples to a chunk will remain and be enabled in a DEBUG build as an aid for adding encoders. Do some cleanup on the filename queue. Loosen up the control interface where synchronous thread blocking isn't required for pause/stop/resume. by Michael Sevakis · 18 years ago
- 7914e90 Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly. by Michael Sevakis · 18 years ago
- 2d48d0f Straighten out some audio path APIs and misc. audio stuff. Having recording is not a prerequisite to having input/output source selection which is probably most useful when adding a audio input features like FM to a new port without forcing recording to be implemented first. by Michael Sevakis · 18 years ago
- 205ec32 Make recording complain about every little file I/O problem (error on close() failure and fsync() failure). Why? I guess we will find out the disk is full about 1/2 sector sooner on average when the file APIs actually detect this correctly. :/ by Michael Sevakis · 18 years ago
- e041a32 Recording queue should be set to IRQ safe mode as well. by Miika Pekkarinen · 18 years ago
- 62e0a51 Accept FS#6918 - Remove Nested Functions by Tim Ross. Adjust some names. Hunt down and remove the remaining ones in the recording system as well. by Michael Sevakis · 18 years ago
- 3354531 More logf fixes. speex.c wants to format 64bit args so I didn't change that one nor add any formatting for that. by Michael Sevakis · 18 years ago
- 8867d00 More catching up on old work. Refine audio interface setup on Coldfire. Stop the funky glitching on the iAudio stuff when starting recording esp. at 88.2kHz. (probably due to the bidi interface). iRivers don't seem to care what you do. TLV320 still seems to have a little trouble selecting it's filters correctly for 88.2kHz or it could be some odd phasing effect. Get rid of the horrible reset parameter in pcm_apply_settings as it can decide for itself. by Michael Sevakis · 18 years ago
- 82f9056 Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly. by Daniel Ankers · 18 years ago
- 12a1e10 Fix errors I hope. by Michael Sevakis · 18 years ago
- ec1f482 SWCODEC Recording: Improve buffer handling by 1) Lowering watermark for flushing 2) Flushing down to a low watermark instead of a fixed number of chunks 3) Allowing in-process automatic flushes to be interrupted so file splits and stops can be marked in a timely manner (especially important when approaching 2GB limit) 4) Flush small amounts if buffer is filled during a split to protect integrity of streams 5) Boost both pcmrec and codec threads then thread priority boost is needed so that encoder doesn't fail to run and keep up with incoming data by Michael Sevakis · 18 years ago
- 0d094bd Finish putting all the code and data that depends upon HAVE_PRIORITY_SCHEDULING into the #ifdef blocks by Michael Sevakis · 18 years ago
- b47bc8a Make recording compile without priority scheduling by Brandon Low · 19 years ago
- 4b90267 Convert queues to use intptr_t for event data and return values as most of the time pointer are not passed and it should make some things a bit cleaner. by Michael Sevakis · 19 years ago
- 36c9405 SWCODEC recording: More cleanup of stuff after queue additions and audio driver unification. by Michael Sevakis · 19 years ago
- 98fa14b SWCODEC: More recording simplifications and less UI hanging in some cases using queue_send. by Michael Sevakis · 19 years ago
- 42b0208 Commit the kinds of changes that queue_send is mean for. by Michael Sevakis · 19 years ago
- eca9f7f Place all recording functionality on pcmrec thread to serialize all recording operations. Button mash problems should be ruled out of pcm_record.c. Add additional lightweight checks by default and display any warnings that occurred during recording in first line of recording screen when they occur by blinking back and forth from warning display to normal line (Warning: <hex bitmask>). Warnings are cleared when beginning a new recording so write the number down if you see it and file a report. Add heavier checks when PCMREC_PARANOID is defined in the player config header (encoders and pcm_record must be aware of the define since it changes the chunk header format). These checks are mainly concerned with things that may cause skipping but also add unwanted overhead for normal operation. Best used with logf enabled. by Michael Sevakis · 19 years ago
- 0d768a3 SWCODEC Recording: 1) Fix minor bug of not subtracting line aligment adjustment from buffer size. 2) Handle stop and pause better and let pcmrec thread lock the DMA as that could cause prerecording to get disabled internally 3) Make sure to snapshot DMA write index to ensure compiler doesn't perform multiple access when calculating available data (probably just paranoia on my part) 4) Handle USB connect in recording thread a little better by resetting hardware to defaults after closing 5) Make power managment stop recording properly when powering off (ie. no yield() from interrupt handler! :) by Michael Sevakis · 19 years ago
- 51189b4 Small change to PCM recording API for low latency effects. Latency can be as low as 14 samples from input to output including the FIFOs (ColdFire) but 16 is more reasonable an expectation if only tranferring one sample per interrupt (\!). May convert PCM playback to use the same method as it can still be used in the old manner with some slight mods but has the potential to enable new features since it is more flexible. by Michael Sevakis · 19 years ago
- c5d57f0 Removed the cpu boost tracking debug feature for now because of by Miika Pekkarinen · 19 years ago
- 7d00f97 PCM: A few tiny changes. 1) Recording a) Flush all pending files if filename queue is full or else perpetual flushing of 1 will occur at low bitrates and short split times. b) #ifdef out currently unused bits and save little less than 1/2K 2) Cleanup some declarations. by Michael Sevakis · 19 years ago
- ab1861a iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result. by Michael Sevakis · 19 years ago
- fbac4f8 Audio bugfixes. Should wait for voice codec to reload before returning buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'. by Michael Sevakis · 19 years ago
- cc50c14 H100/General: HAL for S/PDIF and refinement/bufixes in optical output powering/source selection. by Michael Sevakis · 19 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 · 19 years ago
- d49c810 Add CPU boost tracker to see where boosts are coming from by Steve Bavin · 19 years ago
- b183ef4 Forgot to remove a must_boost reference. Unboost after fsync by Michael Sevakis · 19 years ago
- f786097 Make sure CPU is boosted when writing recorded data by Michael Sevakis · 19 years ago
- a85044b New scheduler, with priorities for swcodec platforms. Frequent task by Miika Pekkarinen · 19 years ago
- 617b67e Display bitrate (Q value for Archos), samplerate, channels and recording format (M = MP3) in the statusbar in the recording screen. This is all new info for archos targets and I-river targets now have this info on the remote as well as the main screen by Martin Scarratt · 19 years ago
- 4fc717a Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with additional FM Recording support and my modifications by Michael Sevakis · 19 years ago
- ed4d7a3 Patch #5347 by Rani Hod - Adds FM radio and recording features to the iAudio X5. by Linus Nielsen Feltzing · 19 years ago
- e8558e2 For iriver recording: do not boost while recording unless source is spdif. When saving to disk, boost if needed. Decreased max file size a bit for safety. Increases runtime while recording analog sources. by Peter D'Hoye · 19 years ago
- a238ab9 Iriver: Moved the handling of the UDA1380 split gain (analog preamp + decimator gain) into the UDA driver. * All: Settings structure sorted & cleaned up. by Jens Arnold · 19 years ago
- 736a399 H1x0: Obey SPDIF power setting for monitoring SPDIF recordings as far as possible. by Jens Arnold · 19 years ago
- 2de6604 Iriver recording: Always route the signals through the coldfire audio interface for monitoring. Advantages: (H1x0) Enables parallel analog and SPDIF monitoring of both analog or SPDIF sources. When recording from SPDIF, the SPDIF monitor signal is pure pass-through. (all) Digital clipping is now audible in the analog monitor signal. by Jens Arnold · 19 years ago
- a4bfe37 Optical S/PDIF recording and monitoring for Iriver H1x0. Removed unsupported recording options on Iriver. Sample rate displayed in recording screen reflects the real S/PDIF sample rate when doing S/PDIF recording. Testing would be appreciated. Thanks to Jens Arnold for fixing the DMA hang issue. Will reset settings! by Thom Johansen · 19 years ago
- 67ff262 Recording buffer offset must be passed on to the firmware calls, not the other way around. Should fix yellow builds. by Peter D'Hoye · 19 years ago
- 8e71f90 The recording buffer should not try to use the voice buffer, so map our buffer after it. On swcodec targets, recording always uses this buffer so always notify the others that we did. Fixes bug 4754. by Peter D'Hoye · 19 years ago
- ff862e1 Yet another recording peakmeter sensitivity fix: only reset peak values after they've been read by Peter D'Hoye · 19 years ago
- 5ecac90 Fix by Jvo Studer for bugreport #4799. Recorded bytes counter wasn't updated with pre-recording bytes, causing an issue when file-splitting because of maximum filesize limit. by Peter D'Hoye · 19 years ago
- 9529d5f Stop mixing signed and unsigned when dealing with audio by Peter D'Hoye · 19 years ago
- 55a7a5c Oops: clipping detection optimization broke pre-recording by Peter D'Hoye · 19 years ago
- a6b913f Store recorded peak values in short; this should fix an issue where clipping wasn't always detected. Also removed an obsolete function. by Peter D'Hoye · 19 years ago
- 9ace16f use all recorded samples for peak metering and clipping detection by Peter D'Hoye · 19 years ago
- 482a242 Committed the pre-recording patch for iriver (#1387531 by Peter D'Hoye). by Miika Pekkarinen · 20 years ago
- a4b15a4 H300 FM radio support, with help from Peter D'Hoye by Linus Nielsen Feltzing · 20 years ago
- f0e733a Fixed recording peak meters to always work. Now it should be easy to by Miika Pekkarinen · 20 years ago
- 7d185d7 Fixed ui lag while writing recorded data to disk. by Miika Pekkarinen · 20 years ago
- 1e4d1f8 iRiver recording changes: by Andy · 20 years ago
- f6da6d8 Removed monitor option from audio_set_recording_options and the global setting rec_monitor. by Andy · 20 years ago
- e6e5496 iRiver: Initial support for wav-recording in recording menu. Supports mic/line-in (and radio), monitor mode, time-splitting (and byte-splitting), pause/resume etc. Things todo: Prerecording, peakmeter (should be simple), frequency other than 44.1 kHz, etc.. by Andy · 20 years ago
- 72f9878 Fixup of the MCF5249 memory mapped register definitions. by Jens Arnold · 20 years ago
- da6c0a0 Fix channel-swapping bug in iriver recordings. Left and Right channels should now be correctly written to the WAV file. by Dave Chapman · 20 years ago