summaryrefslogtreecommitdiff
path: root/firmware/pcm_record.c (follow)
Commit message (Collapse)AuthorAge
* Make recording compile without priority schedulingBrandon Low2006-12-25
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11837 a1c6a512-1295-4272-9138-f99709370657
* Convert queues to use intptr_t for event data and return values as most of ↵Michael Sevakis2006-12-19
| | | | | | the time pointer are not passed and it should make some things a bit cleaner. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC recording: More cleanup of stuff after queue additions and audio ↵Michael Sevakis2006-12-17
| | | | | | driver unification. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11783 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC: More recording simplifications and less UI hanging in some cases ↵Michael Sevakis2006-12-17
| | | | | | using queue_send. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11781 a1c6a512-1295-4272-9138-f99709370657
* Commit the kinds of changes that queue_send is mean for.Michael Sevakis2006-12-16
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11778 a1c6a512-1295-4272-9138-f99709370657
* Place all recording functionality on pcmrec thread to serialize all ↵Michael Sevakis2006-12-10
| | | | | | 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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11705 a1c6a512-1295-4272-9138-f99709370657
* SWCODEC Recording: 1) Fix minor bug of not subtracting line aligment ↵Michael Sevakis2006-12-07
| | | | | | 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! :) git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11685 a1c6a512-1295-4272-9138-f99709370657
* Small change to PCM recording API for low latency effects. Latency can be as ↵Michael Sevakis2006-12-06
| | | | | | 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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11668 a1c6a512-1295-4272-9138-f99709370657
* Removed the cpu boost tracking debug feature for now because ofMiika Pekkarinen2006-12-05
| | | | | | | different kind of problems. Better implementation can be done later. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11665 a1c6a512-1295-4272-9138-f99709370657
* PCM: A few tiny changes. 1) Recording a) Flush all pending files if filename ↵Michael Sevakis2006-11-29
| | | | | | 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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11623 a1c6a512-1295-4272-9138-f99709370657
* iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin ↵Michael Sevakis2006-11-23
| | | | | | API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
* Audio bugfixes. Should wait for voice codec to reload before returning ↵Michael Sevakis2006-11-22
| | | | | | buffer when stealing voice. Certain variables that get or may get used during an IRQ should be declared 'volatile'. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
* H100/General: HAL for S/PDIF and refinement/bufixes in optical output ↵Michael Sevakis2006-11-13
| | | | | | powering/source selection. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11523 a1c6a512-1295-4272-9138-f99709370657
* Big Patch adds primarily: Samplerate and format selection to recording for ↵Michael Sevakis2006-11-06
| | | | | | 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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
* Add CPU boost tracker to see where boosts are coming fromSteve Bavin2006-10-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11125 a1c6a512-1295-4272-9138-f99709370657
* Forgot to remove a must_boost reference. Unboost after fsyncMichael Sevakis2006-09-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11008 a1c6a512-1295-4272-9138-f99709370657
* Make sure CPU is boosted when writing recorded dataMichael Sevakis2006-09-20
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11007 a1c6a512-1295-4272-9138-f99709370657
* New scheduler, with priorities for swcodec platforms. Frequent taskMiika Pekkarinen2006-09-16
| | | | | | | | | | switching should be more efficient and tasks are stored in linked lists to eliminate unnecessary task switching to improve performance. Audio should no longer skip on swcodec targets caused by too CPU hungry UI thread or background threads. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10958 a1c6a512-1295-4272-9138-f99709370657
* Display bitrate (Q value for Archos), samplerate, channels and recording ↵Martin Scarratt2006-09-02
| | | | | | 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 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10856 a1c6a512-1295-4272-9138-f99709370657
* Added FS#2939 Encoder Codec Interface + Codecs by Antonius Hellmann with ↵Michael Sevakis2006-08-28
| | | | | | additional FM Recording support and my modifications git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10789 a1c6a512-1295-4272-9138-f99709370657
* Patch #5347 by Rani Hod - Adds FM radio and recording features to the iAudio X5.Linus Nielsen Feltzing2006-07-21
| | | | | | | Also includes a rewrite of the Coldfire I2C driver to include both read and write. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10272 a1c6a512-1295-4272-9138-f99709370657
* For iriver recording: do not boost while recording unless source is spdif. ↵Peter D'Hoye2006-06-30
| | | | | | When saving to disk, boost if needed. Decreased max file size a bit for safety. Increases runtime while recording analog sources. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10159 a1c6a512-1295-4272-9138-f99709370657
* Iriver: Moved the handling of the UDA1380 split gain (analog preamp + ↵Jens Arnold2006-05-14
| | | | | | decimator gain) into the UDA driver. * All: Settings structure sorted & cleaned up. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9927 a1c6a512-1295-4272-9138-f99709370657
* H1x0: Obey SPDIF power setting for monitoring SPDIF recordings as far as ↵Jens Arnold2006-05-12
| | | | | | possible. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9923 a1c6a512-1295-4272-9138-f99709370657
* Iriver recording: Always route the signals through the coldfire audio ↵Jens Arnold2006-05-12
| | | | | | 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. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9918 a1c6a512-1295-4272-9138-f99709370657
* Optical S/PDIF recording and monitoring for Iriver H1x0. Removed unsupported ↵Thom Johansen2006-05-11
| | | | | | 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! git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9916 a1c6a512-1295-4272-9138-f99709370657
* Recording buffer offset must be passed on to the firmware calls, not the ↵Peter D'Hoye2006-04-30
| | | | | | other way around. Should fix yellow builds. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9842 a1c6a512-1295-4272-9138-f99709370657
* The recording buffer should not try to use the voice buffer, so map our ↵Peter D'Hoye2006-04-30
| | | | | | buffer after it. On swcodec targets, recording always uses this buffer so always notify the others that we did. Fixes bug 4754. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9841 a1c6a512-1295-4272-9138-f99709370657
* Yet another recording peakmeter sensitivity fix: only reset peak values ↵Peter D'Hoye2006-03-09
| | | | | | after they've been read git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8985 a1c6a512-1295-4272-9138-f99709370657
* Fix by Jvo Studer for bugreport #4799. Recorded bytes counter wasn't updated ↵Peter D'Hoye2006-03-09
| | | | | | with pre-recording bytes, causing an issue when file-splitting because of maximum filesize limit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8979 a1c6a512-1295-4272-9138-f99709370657
* Stop mixing signed and unsigned when dealing with audioPeter D'Hoye2006-03-01
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8876 a1c6a512-1295-4272-9138-f99709370657
* Oops: clipping detection optimization broke pre-recordingPeter D'Hoye2006-02-27
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8861 a1c6a512-1295-4272-9138-f99709370657
* Store recorded peak values in short; this should fix an issue where clipping ↵Peter D'Hoye2006-02-26
| | | | | | wasn't always detected. Also removed an obsolete function. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8852 a1c6a512-1295-4272-9138-f99709370657
* use all recorded samples for peak metering and clipping detectionPeter D'Hoye2006-02-24
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8837 a1c6a512-1295-4272-9138-f99709370657
* Committed the pre-recording patch for iriver (#1387531 by Peter D'Hoye).Miika Pekkarinen2005-12-23
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8287 a1c6a512-1295-4272-9138-f99709370657
* H300 FM radio support, with help from Peter D'HoyeLinus Nielsen Feltzing2005-12-15
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8237 a1c6a512-1295-4272-9138-f99709370657
* Fixed recording peak meters to always work. Now it should be easy toMiika Pekkarinen2005-12-02
| | | | | | | add pre-recording support too. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8126 a1c6a512-1295-4272-9138-f99709370657
* Fixed ui lag while writing recorded data to disk.Miika Pekkarinen2005-12-02
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8122 a1c6a512-1295-4272-9138-f99709370657
* iRiver recording changes:Andy2005-12-02
| | | | | | | | | - Added Peakmeter in recording screen - Fix for stop bug - Fix for playback peakmeter not working after recording git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8120 a1c6a512-1295-4272-9138-f99709370657
* Removed monitor option from audio_set_recording_options and the global ↵Andy2005-11-12
| | | | | | setting rec_monitor. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7821 a1c6a512-1295-4272-9138-f99709370657
* iRiver: Initial support for wav-recording in recording menu. Supports ↵Andy2005-11-12
| | | | | | 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.. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7818 a1c6a512-1295-4272-9138-f99709370657
* Fixup of the MCF5249 memory mapped register definitions.Jens Arnold2005-11-05
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7755 a1c6a512-1295-4272-9138-f99709370657
* Fix channel-swapping bug in iriver recordings. Left and Right channels ↵Dave Chapman2005-10-06
| | | | | | should now be correctly written to the WAV file. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7585 a1c6a512-1295-4272-9138-f99709370657
* Replace SWAB16 and SWAB32 with a comprehensive set of byte-swap macros - ↵Dave Chapman2005-10-06
| | | | | | letoh16, letoh32, htole16, htole32, betoh16, betoh32, htobe16 and htobe32 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7584 a1c6a512-1295-4272-9138-f99709370657
* Add pcm_set_mux() for switching between FM radio and Line inputLinus Nielsen Feltzing2005-08-13
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7315 a1c6a512-1295-4272-9138-f99709370657
* iAudio: First unfinished attempt for tlv320 driver and rockbox integrationChristian Gmeiner2005-08-06
| | | | git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7286 a1c6a512-1295-4272-9138-f99709370657
* Removed the XYZ_PIXEL() macros. They are no longer needed, and they did only ↵Jens Arnold2005-07-08
| | | | | | work correctly for b&w. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7074 a1c6a512-1295-4272-9138-f99709370657
* Iriver: First attempt at recording. Use Info->Debug->PCM recording to test ↵Andy2005-06-19
recording of wav-files. Seams to work fine except occasional 100 ms noise at pos 100 ms (not later) so initialization or synch problem.. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6763 a1c6a512-1295-4272-9138-f99709370657