Jens Arnold
2597a13497
Next round of static'ing and related fixes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11836 a1c6a512-1295-4272-9138-f99709370657
2006-12-25 14:01:47 +00:00
Michael Sevakis
4b902679cc
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11818 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 16:50:07 +00:00
Jonathan Gordon
3bceded793
Accept FS#5344 by Mike Schmitt. Add a "shuffle and track skip" option to
...
crossfade.
Bumps config versino, so SAVE SETTINGS before updating.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11811 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 01:26:37 +00:00
Michael Sevakis
84a013ea41
Attempt at fixing 64-bit sim warning.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11788 a1c6a512-1295-4272-9138-f99709370657
2006-12-17 14:47:12 +00:00
Michael Sevakis
42b0208253
Commit the kinds of changes that queue_send is mean for.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11778 a1c6a512-1295-4272-9138-f99709370657
2006-12-16 20:19:58 +00:00
Mark Arigo
8eaa685e1b
Fix an errant #if effecting targets with MEM <= 8
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11677 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 16:21:04 +00:00
Jonathan Gordon
3e24665c41
Fix settings not saving to disk correctly, (fixes FS#6408)
...
Stop playback.c requesting a rebuffer while not playing
Shutting down from inside the menu will now save settings to disk, and
entering the main menu will not force a setting save unless a setting
actually changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11674 a1c6a512-1295-4272-9138-f99709370657
2006-12-06 12:11:57 +00:00
Michael Sevakis
97d1ca5a23
SWCODEC: Audio-related threads must be free of further tasks before returning buffers. Cleanup declarations of related functions.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11618 a1c6a512-1295-4272-9138-f99709370657
2006-11-28 15:00:56 +00:00
Michael Sevakis
a1af87ffe7
Avoid calls to audio and talk functions in audio_get_buffer until init is complete. Just good hygiene really.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11615 a1c6a512-1295-4272-9138-f99709370657
2006-11-27 13:54:50 +00:00
Michael Sevakis
bbef13eddf
SWCODEC: Stop clicks between tracks when resampler is active by only switching the DSP frequency and not resetting the resampler at track boundaries. Will make sure DSP is correctly flushed at dicontinuities but don't hear any problems currently.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11600 a1c6a512-1295-4272-9138-f99709370657
2006-11-26 12:02:47 +00:00
Michael Sevakis
fbac4f8444
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'.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11572 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 09:13:14 +00:00
Daniel Ankers
242cbd5cd7
Change if CONFIG_CPU==PP50XX to ifdef CPU_PP where appropriate
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11569 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:41:30 +00:00
Michael Sevakis
acc29d95be
SWCODEC/IRAM: Save voice IRAM when a plugin initializes its IRAM. Defines two macros for declaring and initializing IRAM. Plugins should use these instead. See mp3_encoder, doom, etc. for details. Further tweaks in buffer restoration after other use. Hiding of some interfaces that should only be used by buffer management.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11544 a1c6a512-1295-4272-9138-f99709370657
2006-11-18 02:18:29 +00:00
Mark Arigo
a60caa9f54
Fix alignment issue that caused data aborts on arm targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11540 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 21:04:04 +00:00
Mark Arigo
9b0ef15c0d
Strip APE tags during buffering so they do not break MP3 gapless playback.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11525 a1c6a512-1295-4272-9138-f99709370657
2006-11-14 15:48:20 +00:00
Michael Sevakis
7bc41203af
Removed anachronisms introduced with low battery shutdown patch.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11524 a1c6a512-1295-4272-9138-f99709370657
2006-11-14 02:46:59 +00:00
Steve Bavin
6a27006a5d
Minor voice fixes; prevent voice queue overflow, fix compile of voice-less build
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11521 a1c6a512-1295-4272-9138-f99709370657
2006-11-13 09:07:18 +00:00
Brandon Low
8a82892e52
Thread API enhancements.
...
1) block_thread -> block_thread + block_thread_w_tmo -- this call was always used in distinct ways so having one call with a conditional was ugly.
2) enhance Slasheri's scheduler controlled boost concept. now any thread may trigger a boost which will last until that thread next sleeps.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11509 a1c6a512-1295-4272-9138-f99709370657
2006-11-11 05:33:24 +00:00
Jens Arnold
03adbd280d
Ooops, adapt playback.c to the new IRAM distribution on X5. Codec IRAM is defined in more than one place...
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11495 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 07:45:30 +00:00
Tomasz Malesinski
5c54ba49d5
Added macros controlling what goes to IRAM on different targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11483 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 21:59:27 +00:00
Jonathan Gordon
d9f7ac24f4
fix booboo in ata.c (SYS_POWEROFF falling into SYS_USB_CONNECTED)
...
enable ata_idle callbacks in ata_mmc.c (calls the callbacks after 10s of
real inactivity)
fix builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11462 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 02:23:01 +00:00
Jonathan Gordon
f184152c05
* changes to ata.c - idle callbacks are called after 2 sec of real idle,
...
and shutdown and usb (it makes sense here). ata_sleep doesnt get broken
by callbacks.
* allow ata_sleep() at the end of buffering again
* config block uses ata_idle instead of delayed sector when saving
* remove delayed sector code from ata_mmc.c (idle callbacks are not yet
implemented for ata_mmc.c tho)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11461 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 01:55:26 +00:00
Jonathan Gordon
a018641105
allow the nano to rebuffer on "disk" spindown, seems to be fine
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11457 a1c6a512-1295-4272-9138-f99709370657
2006-11-07 06:31:36 +00:00
Michael Sevakis
0f5cb94aa4
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Jonathan Gordon
0b22795e26
adds ata_idle_notify system which allows callbacks in apps/ to be called
...
when the hard disk is idle but spinning, and just before shutting down.
on SWCODEC targets with > 8MB RAM the playback engine will try to
refill the buffer if it is less than 75% full while the disk is spinning
(temporarily disabled on the nano)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11451 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 14:24:18 +00:00
Steve Bavin
f71da380c2
A better fix for the crossfade setting crash (with no global variables added)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11415 a1c6a512-1295-4272-9138-f99709370657
2006-11-02 07:53:55 +00:00
Steve Bavin
e5f43ebaba
Remove unwanted logf
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11414 a1c6a512-1295-4272-9138-f99709370657
2006-11-01 19:35:53 +00:00
Steve Bavin
faace1eae4
Fix up non-voice build and stop crashes if crossfade settings changed during playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11413 a1c6a512-1295-4272-9138-f99709370657
2006-11-01 19:19:36 +00:00
Magnus Holmgren
39fe51e88d
Improve accuracy a little when seeking and resuming MP3 files. Mainly noticable for low-bitrate files with large ID3V2 tags, and no effect if no ID3V2 tag. Should be ported to hwcodec targets. :)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11402 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 20:19:21 +00:00
Steve Bavin
6bad631af4
Little tidy-up - track_changed is now only updated on the audio thread
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11400 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 17:10:52 +00:00
Steve Bavin
145ec81d2f
Rearrange and comment variable declarations; no functional change
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11391 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 08:54:48 +00:00
Mark Arigo
0e12829b9a
Do not flood the queue with unnecessary fill buffer requests at the end of a playlist. Should fix the stopping bug in FS#6117.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11366 a1c6a512-1295-4272-9138-f99709370657
2006-10-27 15:42:34 +00:00
Steve Bavin
ee9b85456f
Revert this morning's change as it can cause old metadata to be reused inapproprately. A better fix coming later.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11353 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 17:33:54 +00:00
Steve Bavin
34193e5cf2
Don't clear previous track details during playback so the progress bar works properly at track transition
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11350 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 12:13:28 +00:00
Jonathan Gordon
710ccb7b48
ifdef all the tagcache code, allows rombox to be compiled again, Thanks Austin Appel
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11338 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 10:17:57 +00:00
Steve Bavin
71dd94a7eb
A bit more voice simplification/MAS fixage (FS#6241). Also clear any buffered voice when playback is started.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11334 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 08:54:25 +00:00
Steve Bavin
f512558650
Only flush PCM buffered voice data when explicitly told to. Patch by Stephane Doyen.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11331 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 06:19:27 +00:00
Brandon Low
97f2af2553
Fix FS 6205: id3v1 stripping messed up rebuffer_and_seeks. Add an assurance check JinC other things mess it up, more graceful recovery.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11318 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 16:47:48 +00:00
Brandon Low
500a761cb0
Last fix was wrong, I did the math this time, should fix more buffering edges
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11315 a1c6a512-1295-4272-9138-f99709370657
2006-10-23 12:44:11 +00:00
Brandon Low
1fef2dcb45
Fix edge case handling for buffer writing into the playing track; Improve comments and variable naming
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11311 a1c6a512-1295-4272-9138-f99709370657
2006-10-22 21:56:42 +00:00
Linus Nielsen Feltzing
da153da0be
Patch #5166 by Robert Keevil - Last.fm logging
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11269 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 09:42:58 +00:00
Steve Bavin
2baaac130e
Oops; sleep != yield
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11267 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 08:55:24 +00:00
Steve Bavin
004ee26e17
Keep the WPS progress bar updating at end of playback
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11266 a1c6a512-1295-4272-9138-f99709370657
2006-10-19 07:43:07 +00:00
Brandon Low
08a4ceaae7
Remove fill_bytesleft, simplify some buffering code, fix bug 5906
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11247 a1c6a512-1295-4272-9138-f99709370657
2006-10-17 12:56:22 +00:00
Miika Pekkarinen
7058752789
Removed ugly boosting solutions from playback code and let scheduler
...
handle unboosting instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11226 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:57:52 +00:00
Steve Bavin
10befc8e6e
Don't unboost CPU in an ISR
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11224 a1c6a512-1295-4272-9138-f99709370657
2006-10-15 11:03:26 +00:00
Brandon Low
1f3360f021
Just take out some out-of-date TODOs from playback.c and put a big FIXME in pcmbuf.c
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11217 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 20:48:23 +00:00
Steve Bavin
1c3d89c35e
Fix race condition when playback stopped - see FS#6174. Thanks to Jared Stafford
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11214 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 13:08:05 +00:00
Steve Bavin
3a8ad7fe7e
Minor simplification #3 ; use macros for ring buffer arithmetic. Also fixed unlikely problem where file close was missed on an error path.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11212 a1c6a512-1295-4272-9138-f99709370657
2006-10-13 09:16:36 +00:00
Steve Bavin
73e2f7bd6b
Minor simplification #2 ; replace unneeded variable filebufused with a macro
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11201 a1c6a512-1295-4272-9138-f99709370657
2006-10-12 16:51:22 +00:00