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
Miika Pekkarinen
e3b0937a4a
Priority overriding was not working correctly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11573 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 10:46:38 +00:00
Michael Sevakis
bf65676226
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11538 a1c6a512-1295-4272-9138-f99709370657
2006-11-16 05:33:42 +00:00
Michael Sevakis
5dd0775924
Calculation was wrong in pcmbuf_is_same_size such that is would almost certainly return false.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11460 a1c6a512-1295-4272-9138-f99709370657
2006-11-07 19:30:48 +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
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
d49c810ec9
Add CPU boost tracker to see where boosts are coming from
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11125 a1c6a512-1295-4272-9138-f99709370657
2006-10-05 10:07:03 +00:00
Steve Bavin
d5dcb49f17
Fix for crossfade crashes if in or out delay are zero
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11078 a1c6a512-1295-4272-9138-f99709370657
2006-09-27 15:23:10 +00:00
Steve Bavin
081281f6a1
Fix a crash and CPU being left boosted when using voice - FS#6024
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11053 a1c6a512-1295-4272-9138-f99709370657
2006-09-26 07:19:43 +00:00
Miika Pekkarinen
815684aced
FS#5992 Reworked playback.c to fix voice bugs by Steve Bavin. Fixed to
...
work with the new scheduler and handled properly and fast the track
skipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10966 a1c6a512-1295-4272-9138-f99709370657
2006-09-17 08:34:42 +00:00
Miika Pekkarinen
a85044bf9e
New scheduler, with priorities for swcodec platforms. Frequent task
...
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
2006-09-16 16:18:11 +00:00
Dave Chapman
0a7ded3e29
Memory size checks in .c/.h files should use MEM, not MEMORYSIZE
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10557 a1c6a512-1295-4272-9138-f99709370657
2006-08-13 09:19:24 +00:00
Tomasz Malesinski
28910e7e17
Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10556 a1c6a512-1295-4272-9138-f99709370657
2006-08-12 23:01:52 +00:00
Miika Pekkarinen
f3add92841
Adjusted buffer watermarks for better crossfade and playback stability.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10416 a1c6a512-1295-4272-9138-f99709370657
2006-08-02 18:35:24 +00:00
Miika Pekkarinen
c9a1b4e9aa
Correctly enable crossfade mixmode only when not skipping tracks
...
manually.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9926 a1c6a512-1295-4272-9138-f99709370657
2006-05-14 14:08:26 +00:00
Brandon Low
ddaf5f096c
Revert a previous change, works around the problem of freezing on stop-while-paused, and skipping with crossfade
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9889 a1c6a512-1295-4272-9138-f99709370657
2006-05-08 11:03:19 +00:00
Brandon Low
b9615514bf
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9876 a1c6a512-1295-4272-9138-f99709370657
2006-05-05 03:13:06 +00:00
Brandon Low
2306433eb7
Make crossfade less twitchy more
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9801 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 16:15:11 +00:00
Brandon Low
08cdc439ce
GOTO POWER. Improve crossfade performance, and cleanliness, and termination conditions. Make consistent insert vs. request/complete types of buffering.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9800 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 16:12:43 +00:00
Brandon Low
1f4a63441a
Make crossfade less twitchy about buffer level
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9799 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 15:06:55 +00:00
Brandon Low
9602dd7e60
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
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9798 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 12:34:28 +00:00
Brandon Low
1924769631
Fix crossfade. Again.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9797 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 10:39:56 +00:00
Brandon Low
9aa49a4360
More crossfade work, should fix crossfade on coldfire, and possibly improve crossfade performance in some cases.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9796 a1c6a512-1295-4272-9138-f99709370657
2006-04-25 02:28:21 +00:00
Brandon Low
8ef18271dd
Fix another possible glitch causer on crossfade
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9789 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 12:41:30 +00:00
Brandon Low
9ca16a66bf
Fix crossfade locational setting
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9785 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 03:43:43 +00:00
Brandon Low
2da61ff3fb
Remove accidentally commited commented code, no functional changes
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9784 a1c6a512-1295-4272-9138-f99709370657
2006-04-24 01:32:28 +00:00
Brandon Low
6c0908b416
Rework crossfade to properly follow pcmbuf chunks instaed of blindly inserting into the ring buffer
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9780 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 22:54:34 +00:00
Brandon Low
920516c3e9
Whoops, forgot to 'duck' the music below the voice when I redid the mix
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9772 a1c6a512-1295-4272-9138-f99709370657
2006-04-23 05:30:52 +00:00
Brandon Low
f3bc1efc49
First commit of reworking voice to be mroe stable on swcodec
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9758 a1c6a512-1295-4272-9138-f99709370657
2006-04-22 14:40:13 +00:00
Brandon Low
37faaab0ee
Fix a crossfade problem (not initializing quite right), and a end of track problem (should solve some problemwith last bits of audio not playing).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9736 a1c6a512-1295-4272-9138-f99709370657
2006-04-20 02:30:59 +00:00
Brandon Low
86c7e1a947
Fix some stop/pause/boost stuff
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9662 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 16:42:14 +00:00
Brandon Low
0744e760cb
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9646 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 17:30:54 +00:00
Brandon Low
a131580c61
Add a comment only
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9554 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 20:03:26 +00:00
Brandon Low
0fcd411965
Fix bug #4896 and make the beep code a bit cleaner
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9514 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 13:00:31 +00:00
Brandon Low
33a62e8a8e
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9510 a1c6a512-1295-4272-9138-f99709370657
2006-04-05 04:27:16 +00:00
Zakk Roberts
8bdd92b05e
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.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9353 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 05:56:19 +00:00
Brandon Low
dbcc9c25d5
Add comments, and avoid throw-away calculations in crossfade buffer process
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9352 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 00:47:05 +00:00
Brandon Low
a9c168834d
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
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9250 a1c6a512-1295-4272-9138-f99709370657
2006-03-25 18:37:31 +00:00
Brandon Low
86f1e2ead2
Convert playback.c to use unsigned byte counters, and _minor_ refactoring of buffer callbacks
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9227 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 13:43:15 +00:00
Brandon Low
8307d0b388
Fix weirdness caused by not stopping buffering during pause, and generally use a more sane pause behavior on swcodec targets
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9221 a1c6a512-1295-4272-9138-f99709370657
2006-03-24 02:38:57 +00:00
Brandon Low
9535a9a639
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
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8775 a1c6a512-1295-4272-9138-f99709370657
2006-02-22 01:56:44 +00:00
Brandon Low
3bbd93b260
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
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8678 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 17:08:53 +00:00
Brandon Low
3a37faee57
Don't boost from inside the DMA interrupt, ever
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8677 a1c6a512-1295-4272-9138-f99709370657
2006-02-13 16:55:25 +00:00
Brandon Low
413da2a3d9
Rework PCM buffer
...
* Linked list instead of static array buffer pointers
* Variable sized chunks
* Improved mix handling
* Reduction in duplicated code
* Reduced IRAM usage w/o sacrificing performance
* Converted to almost entirely unsigned math
* Add pause function to reduce pcm_* exposure to playback.
This WILL break playback on the iPod until linuxstb makes a followup commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8612 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 20:38:55 +00:00
Miika Pekkarinen
8f369c2d22
Fixed the previous commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8610 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 19:40:17 +00:00
Miika Pekkarinen
4408b6b70c
Reduce latency when configuring the EQ.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8609 a1c6a512-1295-4272-9138-f99709370657
2006-02-07 19:17:51 +00:00
Miika Pekkarinen
a4f8d1c621
Don't use crossfader mix mode when skipping tracks manually.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8470 a1c6a512-1295-4272-9138-f99709370657
2006-01-27 16:25:44 +00:00
Miika Pekkarinen
6d6ca6b6a5
Muting trick to prevent tiny pops and glitchless mp3 seeking.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8416 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 10:25:07 +00:00
Brandon Low
ee6a95a7d1
Initialize callback for safety
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8411 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 00:03:20 +00:00
Brandon Low
a3868d35d3
Continue to update playback status after decoding is complete (the progress bar makes it to 100%!)
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8407 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:42:44 +00:00
Brandon Low
d8a6c0665d
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).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8404 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 16:47:36 +00:00
Miika Pekkarinen
0e159f13cf
Fixed a few iriver playback quirks and issues with previous fixes.
...
Also fixed "TST.." bug when seeking and possible an enhancement to mp3
gapless playback also.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8402 a1c6a512-1295-4272-9138-f99709370657
2006-01-20 22:02:44 +00:00
Miika Pekkarinen
b770d53cb4
Fixed the crossfade and track skipping glitches.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8292 a1c6a512-1295-4272-9138-f99709370657
2005-12-28 21:13:52 +00:00
Miika Pekkarinen
07fd5d9534
Fixed a division by zero problem with simulator when crossfade is
...
disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8245 a1c6a512-1295-4272-9138-f99709370657
2005-12-15 18:44:59 +00:00
Daniel Stenberg
f981ea93fb
kill gcc4 warnings
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8162 a1c6a512-1295-4272-9138-f99709370657
2005-12-05 22:44:42 +00:00
Miika Pekkarinen
e7461b3609
iRiver: New crossfader with more configuration capability. Might still
...
have small bugs, but those will be fixed as soon as possible. Config
block version bumped; please SAVE YOUR SETTINGS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7765 a1c6a512-1295-4272-9138-f99709370657
2005-11-06 16:40:20 +00:00
Miika Pekkarinen
bdf558ca53
Fixed the voice codec when no audio is playing. Now attenuating audio
...
instead of making the voice louder.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7653 a1c6a512-1295-4272-9138-f99709370657
2005-10-22 21:07:35 +00:00
Miika Pekkarinen
c52f7f1b5e
iRiver: Fixed broken items skipping on playlist: Now skipping and
...
marking them as bad instead of deleting the entries from playlist.
Faster buffered track skipping and preventing glitches from previous
tracks (still something might occur though, please report them).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7647 a1c6a512-1295-4272-9138-f99709370657
2005-10-21 06:40:45 +00:00
Miika Pekkarinen
65d43a2d22
Define empty macros for cpu boosting on targets with no such a feature.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7412 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 19:55:30 +00:00
Miika Pekkarinen
29aad55d97
Fixed iriver cpu boosting problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7410 a1c6a512-1295-4272-9138-f99709370657
2005-08-28 14:16:03 +00:00
Linus Nielsen Feltzing
7c8c0a6fb6
Fixed a rounding error in the PCM buffer latency calculation
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7386 a1c6a512-1295-4272-9138-f99709370657
2005-08-22 21:54:34 +00:00
Miika Pekkarinen
159c52dd36
Initial voice ui support for software codec platforms. Added also a
...
beep when changing tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7360 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 11:13:19 +00:00
Miika Pekkarinen
90161c92dd
It's now possible to select the crossfading mode: "Off, Crossfade,
...
Mix". If set to mix, no fading is applied but tracks are mixed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7224 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 16:46:27 +00:00
Miika Pekkarinen
eab434c416
More accurate playback position calculation.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7218 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 06:32:55 +00:00
Miika Pekkarinen
ab2163bdf5
Fixed the crossfade setting: Resuming stopped playback automatically
...
when changing values, setting crossfade amount correctly and pcm
drivers should not be re-initialized.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7214 a1c6a512-1295-4272-9138-f99709370657
2005-07-21 15:47:29 +00:00
Miika Pekkarinen
f090dc3829
Crossfade (and pcm buffer size) length is now configurable.
...
Implemented anti-skip buffer setting for iriver also. Settings block
bumped up, PLEASE SAVE YOUR SETTINGS BEFORE UPGRADING.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7210 a1c6a512-1295-4272-9138-f99709370657
2005-07-21 11:44:00 +00:00
Miika Pekkarinen
d83b659fa7
Fixed track changing problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7201 a1c6a512-1295-4272-9138-f99709370657
2005-07-19 19:57:23 +00:00
Miika Pekkarinen
34a25a6a3b
Fixed a problem that caused playback to stutter when changing tracks
...
fast.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7157 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 16:42:01 +00:00
Miika Pekkarinen
2159811c66
Fixed a problem that cpu boost didn't always reset when stopping the
...
playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7153 a1c6a512-1295-4272-9138-f99709370657
2005-07-15 07:57:09 +00:00
Miika Pekkarinen
3ba52e2a7d
Removed an unnecessary logf call.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7132 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:53:01 +00:00
Miika Pekkarinen
20b3897474
Separated buffering stuff from pcm_playback to pcmbuf. Renamed some
...
function calls (audiobuffer -> pcmbuf etc.).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7131 a1c6a512-1295-4272-9138-f99709370657
2005-07-13 12:48:22 +00:00