Commit graph

377 commits

Author SHA1 Message Date
Brandon Low
7c986a91a6 Work around the bug with buffer wrapping. Serious performance penalty, and a lot of buffering is discarded to achieve this, but it doesn't crash while I find the real cause
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9664 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:31:19 +00:00
Brandon Low
348d9ece4b Fix some unlikely buffer problems. Doesn't fix any reported bugs, but fixes some possible ones.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9663 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:00:22 +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
fb966b3cf8 Fix a lack of return on error for check_new_track (rare condition)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9661 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 14:19:56 +00:00
Brandon Low
0291a6e200 Fix the queue implementation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9660 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 14:03:43 +00:00
Brandon Low
fd08424694 Change to using a queue to synchronize between threads instead of abusing a mutex
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9659 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 13:05:08 +00:00
Brandon Low
fbe74d1df6 Fix one cause of buffer-offness, but I'm pretty sure this is not the cause of problems that people are having as the debug code I put in detects and corrects it. Make taginfo instead of stupid filename appear on manual track skip, off buffer (stupid bug).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9658 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 12:53:29 +00:00
Brandon Low
2f4edabfce Tweak id3v1 tag stripping, better code, same functionality. Ensure correct buf_idx on track when rebuffer&seek.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9653 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 04:42:11 +00:00
Brandon Low
2f11d60dcd Change when the new_track variable is reset to fix the track display during skipping
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9652 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 03:47:32 +00:00
Brandon Low
1d41f77b37 Boost during the track transition, trust me, it makes sense. Better logging of buffer-not-synched issues. Revert a previous change to make a function take a parameter intead of using cur_ti. Add some todos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9651 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 21:47:00 +00:00
Brandon Low
017914a087 Adjust filesize if id3v1 is stripped
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9648 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 20:42:11 +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
483c947c3d Add a logf, remove an unused parameter, and an unused member of the track_info struct, ensure that we unboos on stop even if buffering, make a function take a parameter instead of using a global
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9644 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 15:48:00 +00:00
Brandon Low
c95044a9c1 Track skipping rework more. This seems to handle rapid skipping very gracefully without compromising buffer safety. There may still be a potentially broken code path if the user does a very rapid skip, stop sequence, and I will be sure to investigate this. Due to Slasheri's concern, reimplement rapid GUI update for track skipping in a safe way.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9643 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 14:17:12 +00:00
Brandon Low
b1fa534f14 Simplify audio startup, and remove some unnecessary code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9640 a1c6a512-1295-4272-9138-f99709370657
2006-04-13 02:46:34 +00:00
Brandon Low
44d9576ff5 Track changes should zero the seek_time to prevent undesired seeking in the new track
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9636 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 03:25:54 +00:00
Brandon Low
54af304a5b use the cur_ti pointer, as it's always synched up with track_ridx any way
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9635 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 02:01:26 +00:00
Brandon Low
376950155c Get the GUI and audio in sync for track changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9634 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 01:45:53 +00:00
Brandon Low
10c3a34c85 Fix major rebuffer stupidity, remove a redundant call, and a wrong comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9633 a1c6a512-1295-4272-9138-f99709370657
2006-04-12 00:21:29 +00:00
Brandon Low
af09d22125 Add and improve logfing, fix a possible cause of problems due to abuse of read_next_metadata
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9628 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 23:08:21 +00:00
Brandon Low
d6b370be02 Fix logf build, fix double reporting buffer events.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9627 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 22:38:33 +00:00
Brandon Low
87484fcbc7 Almost entirely formatting changes, but also add one logf, and fix one nearly impossible to hit (I doubt it's been hit in the history of rockbox) bug
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9621 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 20:41:04 +00:00
Brandon Low
8529414c7f Clarify a comment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9616 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:20:55 +00:00
Brandon Low
8966c018fa Clear tracks in more appropriate ways/places
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9615 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:17:24 +00:00
Brandon Low
01219fa29e Handle rebuffer-and-seek and track skip buffer events smarter. Fill the buffer all the way around on a 'normal' rebuffer. Rename and invert a strangely named variable for simpler logic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9614 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 17:08:11 +00:00
Brandon Low
a476718aab Fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9613 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 16:13:24 +00:00
Brandon Low
73365c8bda Fix a (very unlikely) bug in buffering
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9611 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 15:45:11 +00:00
Brandon Low
b6607459c2 Fix some signedness and exit condition stuff. Not sure if this addresses live bugs, but it was wrong nonetheless
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9610 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 14:13:41 +00:00
Brandon Low
6bd1f143fa Try to recover from a codec failure by restarting playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9608 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:21:51 +00:00
Brandon Low
afb64a481b Whoops, remove a done TODO
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9607 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:02:06 +00:00
Brandon Low
a9debda64e Fix some comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9606 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 13:00:45 +00:00
Brandon Low
3b76544fa9 Ensure that codecs are cleared from the buffer if they will not be needed by the track about to play and some minor changes for correctness with no functional difference
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9605 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 12:29:46 +00:00
Brandon Low
62ccbbb418 Rework track skipping. Full playback stop is no longer involved in track skipping. Further simplification of the play related functions can be achieved with this in place, but that's for later. Known skip related bug, high pitched noise sometimes, otherwise stuff is better
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9601 a1c6a512-1295-4272-9138-f99709370657
2006-04-11 03:55:58 +00:00
Brandon Low
2caad6fbc1 Get the next track's metadata in a more timely manner
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9591 a1c6a512-1295-4272-9138-f99709370657
2006-04-10 04:14:20 +00:00
Brandon Low
25e367ce34 Formatting, and logf changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9583 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 16:12:12 +00:00
Brandon Low
4f3bb2ded7 Fix another nasty rebuffering bug, and ensure that buffer and unbuffer events are triggered correctly. Also remove another unused varialbe track_info->filepos
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9582 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 15:30:28 +00:00
Brandon Low
72232bdc66 Fix bad rebuffering bug, and kill the track_count variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9571 a1c6a512-1295-4272-9138-f99709370657
2006-04-09 02:15:35 +00:00
Brandon Low
3e3c21b6f0 Fix the condition on an error splash
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9565 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 13:06:28 +00:00
Brandon Low
502fbd710c Correct seeking behavior (whoops), might fix the coldfire deadlocks. Reintroduce the foreshortened initial buffer fill, this should maybe be optional
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9564 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 12:58:39 +00:00
Brandon Low
0be0b43466 Fix seeking not resuming playback, many thanks to Ralf Herz for being an excellent debugger
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9558 a1c6a512-1295-4272-9138-f99709370657
2006-04-08 07:46:48 +00:00
Brandon Low
dd8d97ae8c Change around some logfing to help debugging seek problems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9557 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 22:13:00 +00:00
Brandon Low
29f7dd3c9f Fix the playback sometimes doesn't start at all problems, and always fully fill the buffer, because it was silly not to (this one may be controversial)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9556 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 21:32:30 +00:00
Brandon Low
554f206ba1 Further unify start playback vs. other buffering situations, hopefully fixes some people's audio doesn't start problems
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9553 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 19:48:48 +00:00
Brandon Low
ab57025e33 This makes seeking work for me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9552 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 18:18:36 +00:00
Brandon Low
71fe062e3d Fix some type casting => 64bit warning issues
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9550 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 16:45:44 +00:00
Brandon Low
de6023146a Fix play initialization problems and buffering problems. This behaves _much_ better for me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9549 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 16:31:20 +00:00
Jens Arnold
24bb9d4ceb Fix 64bit warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9547 a1c6a512-1295-4272-9138-f99709370657
2006-04-07 07:05:02 +00:00
Brandon Low
2736363d71 Remove duplicated code and improve button responsiveness during buffer fill
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9541 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 21:06:37 +00:00
Brandon Low
930785cd8f Stop abusing the queuing features, and start treating them with respect. This seems to solve audio skipping and track skipping issues as well as seeking inside the disk buffer for me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9534 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 16:21:31 +00:00
Brandon Low
857db456af Fix seeking on swcodec, but probably break some cases of skipping. Another important rework here, buffer management is serialized along with most other operations on the audio thread. This has some minor performance issues on ipod that can lead to audio skips during buffer fill as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9529 a1c6a512-1295-4272-9138-f99709370657
2006-04-06 04:07:06 +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
Miika Pekkarinen
93b6a1d12c Prevent two division by zeros and one problem causing a crash in the
mp3 metadata parser.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9438 a1c6a512-1295-4272-9138-f99709370657
2006-04-02 20:19:00 +00:00
Miika Pekkarinen
44b76bc4fa Added track number sorting to the tagcache and a few new tags to the
engine: track number, year, composer, length and bitrate.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9358 a1c6a512-1295-4272-9138-f99709370657
2006-03-30 12:07:32 +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
Miika Pekkarinen
e859e16420 Fixed some red builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9261 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 17:07:00 +00:00
Miika Pekkarinen
b7251261de Fill WPS tags from tagcache if available.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9260 a1c6a512-1295-4272-9138-f99709370657
2006-03-26 16:37:18 +00:00
Brandon Low
09c09738ab Fix a problem where audio would stay paused after a stop and start of playback
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9248 a1c6a512-1295-4272-9138-f99709370657
2006-03-25 15:58:10 +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
fdb58dfe1c Allow the pcm buffer to fill while playback is paused
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9212 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 17:11:00 +00:00
Brandon Low
a553d5f048 First small step in playback.c's pending makeover. Properly lock and cleanup codec swapping
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9210 a1c6a512-1295-4272-9138-f99709370657
2006-03-23 16:18:17 +00:00
Thom Johansen
e2824c94fc Use size-correct casts. Fixes some AMD64 sim warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9192 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 16:04:51 +00:00
Thom Johansen
a7b5a2ce73 Quick fix for voice UI on iPods. Proper fix (which does not impact
functionality in any way) coming later.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9190 a1c6a512-1295-4272-9138-f99709370657
2006-03-22 15:19:59 +00:00
Jens Arnold
8ac3ae73c5 More 64bit simulator fixes, coinciding with the long policy this time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8890 a1c6a512-1295-4272-9138-f99709370657
2006-03-03 02:09:58 +00:00
Miika Pekkarinen
747664918b Fixed the early usb initialization problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8825 a1c6a512-1295-4272-9138-f99709370657
2006-02-24 10:27:23 +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
Dave Chapman
fbd8e5d29c Patch #1421483 - AIFF codec by Jvo Studer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8524 a1c6a512-1295-4272-9138-f99709370657
2006-02-01 16:42:02 +00:00
Miika Pekkarinen
05411983c7 Codec buffer was initialized too early thus crashing the unit later.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8473 a1c6a512-1295-4272-9138-f99709370657
2006-01-28 12:49:05 +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
d319116be4 iriver: Init audio on background.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8465 a1c6a512-1295-4272-9138-f99709370657
2006-01-27 11:39:46 +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
998610ca0b Fix a bug in the end of track updates
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8415 a1c6a512-1295-4272-9138-f99709370657
2006-01-22 04:35:28 +00:00
Brandon Low
8d5a6609a3 AB-repeat mode for software codecs. Accessible through menu as a repeat mode, with buttom mappings much like those on other rockbox targets for now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8409 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 23:43:57 +00:00
Brandon Low
0a9179cb0a Add seamless seeking support, this is needed for AB-repeat mode on swcodec.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8408 a1c6a512-1295-4272-9138-f99709370657
2006-01-21 22:58:08 +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
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
178a85f31c iriver: Better fix for the previous problem, stop playback if next
song is not immediately available, don't flush buffer when changing to
next directory,


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8393 a1c6a512-1295-4272-9138-f99709370657
2006-01-19 20:35:06 +00:00
Miika Pekkarinen
61cd604369 Don't start playback twice if pcm buffer runs empty when switching to
the next directory.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8390 a1c6a512-1295-4272-9138-f99709370657
2006-01-19 18:21:12 +00:00
Linus Nielsen Feltzing
27312b2855 Patch #1408536 by Mark Arigo - properly strip ID3V1 tags
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8370 a1c6a512-1295-4272-9138-f99709370657
2006-01-18 14:20:34 +00:00
Magnus Holmgren
917f2c1804 Simulator fixes: id3 string pointers can be null.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8282 a1c6a512-1295-4272-9138-f99709370657
2005-12-22 21:42:00 +00:00
Linus Nielsen Feltzing
735f8273f0 H300: quick fix for the broken line-in recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8266 a1c6a512-1295-4272-9138-f99709370657
2005-12-20 21:49:47 +00:00
Marcoen Hirschberg
b0fee17d6e waiting is over: initial unicode commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8169 a1c6a512-1295-4272-9138-f99709370657
2005-12-06 13:27:15 +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
999f89c46d Fixed a problem with playback when skipping from last track. No more
skipping the first track in a directory when advancing to the next dir.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8133 a1c6a512-1295-4272-9138-f99709370657
2005-12-03 12:14:26 +00:00
Miika Pekkarinen
59e0ccb278 Fixed a playback problem when seeking "too early".
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8117 a1c6a512-1295-4272-9138-f99709370657
2005-12-01 19:38:08 +00:00
Miika Pekkarinen
6a4bfb5dcf iRiver: Fixed several problems with playback on track skipping & loading:
* Correctly detecting codec type from metadata.
* Skipping incorrect tracks correctly if there are more than one unloadable track.
* Fixed internal ram skipping when codec switching is required.
* Fixed hang if no files in playlist is playable.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8116 a1c6a512-1295-4272-9138-f99709370657
2005-12-01 18:44:11 +00:00
Thom Johansen
27c658c8a6 Enabled playback speed adjustment support for H1x0. Modified the resampler to do both channels in one pass.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8099 a1c6a512-1295-4272-9138-f99709370657
2005-11-28 22:26:20 +00:00
Miika Pekkarinen
71489347c1 iRiver: Removed a playlist_update_resume_info call which was called a way too
often reducing performance and increasing disk head moving.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8083 a1c6a512-1295-4272-9138-f99709370657
2005-11-27 14:50:21 +00:00
Miika Pekkarinen
47569223eb iRiver: Fixed the resume behaviour with the playback engine.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8052 a1c6a512-1295-4272-9138-f99709370657
2005-11-23 19:13:25 +00:00
Miika Pekkarinen
d1704f6894 Fixed playlist skipping of incorrect files and playback engine not to
hang if codec loading fails. Also displaying a "Loading..." message on
resume and not calling queue_post too often.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8021 a1c6a512-1295-4272-9138-f99709370657
2005-11-21 11:14:51 +00:00
Anton Oleynikov
c94557e0b9 refactored radio status code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7999 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 19:23:44 +00:00
Miika Pekkarinen
8690a394b1 Fixed a problem that wps didn't update instantly with buffered tracks
when skipping.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7995 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 14:35:37 +00:00
Miika Pekkarinen
731b22e2e7 Fixed the track skipping problem when repeat all and change to next
directory options were set to off.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7994 a1c6a512-1295-4272-9138-f99709370657
2005-11-19 14:04:07 +00:00
Miika Pekkarinen
9c0f1a9e39 More stable playback with reduced stuttering when skipping tracks.
Removed CODEC_SET_FILEBUF_LIMIT setting; now playback.c determines how
to buffer the files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7970 a1c6a512-1295-4272-9138-f99709370657
2005-11-18 20:21:13 +00:00
Christi Scarborough
4c0b83f5e9 Remote WPS support (and some WPS bugfixes) by Stephan Wezel
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7934 a1c6a512-1295-4272-9138-f99709370657
2005-11-17 20:14:59 +00:00
Miika Pekkarinen
735f453730 Added dircache support to playlist. Now playlist filename pointers are
automatically accuired from dircache. WPS UI response with dircache
enabled should be instant.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7931 a1c6a512-1295-4272-9138-f99709370657
2005-11-17 19:31:29 +00:00
Kevin Ferrare
e991beed6d replaced all the splash calls by gui_sync_splash, added some missing remote key in the playlist viewer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7909 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 15:12:15 +00:00
Anton Oleynikov
0bb62fb1e2 removed set audio status method - will be using different approach
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7844 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 14:10:57 +00:00
Anton Oleynikov
3dbb3a271d iRiver: fix for audio kept on while playing a file + new function to set audio status (to be used later)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7838 a1c6a512-1295-4272-9138-f99709370657
2005-11-13 10:57:35 +00:00
Dave Chapman
2bf9be1c02 Patch #1352575 - Shorten codec from the ffmpeg project. Rockbox implementation by Mark Arigo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7814 a1c6a512-1295-4272-9138-f99709370657
2005-11-11 19:45:36 +00:00
Anton Oleynikov
00928af4dd iRiver: more robust folder skip routines + folder navigation on main unit via
either PLAY+LEFT/RIGHT or short then long LEFT/RIGHT


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7810 a1c6a512-1295-4272-9138-f99709370657
2005-11-10 22:31:47 +00:00
Jens Arnold
8051a0b724 Sound settings rework: * Put all fixed parameters (unit, decimals, step, min, max, default, set function) for the individual settings into one structure array. * Use the new individual sound setting functions where appropriate. * Added dummy sound setting functions and defined the codec type for the sims. Fixes wrong sound settings ranges in the simulators. * Code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7770 a1c6a512-1295-4272-9138-f99709370657
2005-11-06 23:12:11 +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
Anton Oleynikov
d102e1f345 patch 1328447: folder skip routines in playlist API plus next/prev folder navigation for iRiver's remote
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7735 a1c6a512-1295-4272-9138-f99709370657
2005-11-02 22:32:04 +00:00
Miika Pekkarinen
4392506d59 iRiver: Fixed another mutex issue that caused problems with seeking.
Don't crossfade if audio is paused when selecting a new track.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7711 a1c6a512-1295-4272-9138-f99709370657
2005-11-01 13:39:01 +00:00
Dave Chapman
cea6d0c92f Initial check-in of AAC codec. Currently only recognises the .mp4 extension and is not yet capable of realtime operation
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7706 a1c6a512-1295-4272-9138-f99709370657
2005-10-31 20:56:29 +00:00
Miika Pekkarinen
a4c190f7d4 Increased the guard buffer size to support larger frame sizes used by
FLAC codec for example.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7688 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 09:30:14 +00:00
Miika Pekkarinen
b142a58124 Moved also the other mutex into a right place.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7687 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 08:51:47 +00:00
Miika Pekkarinen
74528fc4a4 Added a missing mutex lock to the initial buffer filling code. That
fixes a problem with some FLAC files.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7686 a1c6a512-1295-4272-9138-f99709370657
2005-10-30 08:27:34 +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
Jens Arnold
abd9f83e92 Two new sections for IRAM usage: .irodata (selectable with the ICONST_ATTR attribute macro), allowing to put 'const' data into IRAM without causing a section type conflict, and .ibss (selectable with the IBSS_ATTR attribute macro) for uninitialised data. * Rockbox core: Adjusted the linker scripts and init code to not include the .ibss section in the binary, it is cleared instead. Saves ~500 bytes on archos and ~30KB on iriver. Codecs and plugins don't handle .ibss in a special way yet. * The init code properly handles empty sections now (except .stack, which should never be empty). * Unified the init code for SH1 and coldfire a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7644 a1c6a512-1295-4272-9138-f99709370657
2005-10-19 19:35:24 +00:00
Magnus Holmgren
0293dba5d2 iRiver: The audio init fix caused problems if a voice file was present.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7635 a1c6a512-1295-4272-9138-f99709370657
2005-10-16 12:05:58 +00:00
Magnus Holmgren
62634a323e iriver: audio_init really needs to be called after playlist and tree init; delay initial application of buffer margin and crossfade to solve the settings dependency. This should fix the problem with large values in 'Max files in dir browser'.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7633 a1c6a512-1295-4272-9138-f99709370657
2005-10-16 08:01:02 +00:00
Ryan Jackson
7d51325b1d Skip buffer refill after end of playlist (conf_watermark == 0). With 'move to next folder' enabled, the last song in the folder was being buffered a second time if filebufused == 0 and the end of the playlist had been reached. This caused moving to the next folder to fail on some Vorbis files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7622 a1c6a512-1295-4272-9138-f99709370657
2005-10-12 08:49:37 +00:00
Thom Johansen
849c2bbd9f seek_time should be reset here, not in each codec, as is currently done.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7610 a1c6a512-1295-4272-9138-f99709370657
2005-10-10 18:20:40 +00:00
Ryan Jackson
7d0b7e9378 Temporary trivial workaround for empty/invalid playlists
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7595 a1c6a512-1295-4272-9138-f99709370657
2005-10-07 22:55:30 +00:00
Jonas Häggqvist
0dd0d3134d Fix for the problem that the iriver would not auto poweroff if a file had been played. Pointed out by Stephan Wezel in patch #1298779. Tested, and pause still remains on if skipping tracks, but if this causes problems, revert it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7564 a1c6a512-1295-4272-9138-f99709370657
2005-09-26 01:20:02 +00:00
Ryan Jackson
c694954f73 Skipping to the previous track from the last buffered track caused playback to stop after the last buffered track if it didn't originally fit completely in the file buffer.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7559 a1c6a512-1295-4272-9138-f99709370657
2005-09-24 15:44:07 +00:00
Dave Chapman
139c1cb824 First version of ALAC (Apple Lossless) decoder
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7547 a1c6a512-1295-4272-9138-f99709370657
2005-09-22 21:55:37 +00:00
Miika Pekkarinen
acdcdb0278 iRiver: Correctly keeping playback paused when skipping tracks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7506 a1c6a512-1295-4272-9138-f99709370657
2005-09-10 21:02:42 +00:00
Jens Arnold
ec9b202a92 Reworked handling of MPEG audio frame & file info: * Fixed frame size calculation for layer 1 (all versions) and layer 2 (V2/V2.5). * Exact frame time (expressed as a fraction) for way more precise playtime calculation at 44100/22050/11025Hz sample frequency. * Exact playtime<->position conversion for CBR also used for resume position. * More compact code, long policy.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7505 a1c6a512-1295-4272-9138-f99709370657
2005-09-10 12:28:16 +00:00
Miika Pekkarinen
9146406061 Fixed possible problem with move to next folder option enabled. Placed
voice codec stack on iram and reduced both codec stack sizes by 0x500.
Now voice codec should be much faster.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7468 a1c6a512-1295-4272-9138-f99709370657
2005-09-04 08:38:00 +00:00
Jens Arnold
a317d74d8e Iriver: Changed the IRAM splitting between core and plugins to 48KB/48KB, and reduced the main thread stack to 8KB, same size as on archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7447 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 20:57:33 +00:00
Jens Arnold
579210df87 Restructured codec type handling a bit. Reduced code size, esp. on archos.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7443 a1c6a512-1295-4272-9138-f99709370657
2005-09-01 17:03:09 +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
Magnus Holmgren
e830efcac0 iriver: const police.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7400 a1c6a512-1295-4272-9138-f99709370657
2005-08-24 16:21:24 +00:00
Miika Pekkarinen
b2e94eff7f Fixed unused codec swapping when voice codec is not playing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7370 a1c6a512-1295-4272-9138-f99709370657
2005-08-21 18:38:27 +00:00
Miika Pekkarinen
8a7d104a35 Now codecs will do the buffer flushing after seeking as they find it
necessary.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7369 a1c6a512-1295-4272-9138-f99709370657
2005-08-21 18:12:31 +00:00
Miika Pekkarinen
9d7fd1804e Now beep can be disabled.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7365 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 21:17:41 +00:00
Miika Pekkarinen
e3dc61e0b9 Preparations to fix the usb mode (something is still preventing it from
working).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7363 a1c6a512-1295-4272-9138-f99709370657
2005-08-20 18:55:15 +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
Jens Arnold
a88d076ac4 Preparation for runtimedb hookup on archos: don't pass software playback system specific structures.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7345 a1c6a512-1295-4272-9138-f99709370657
2005-08-18 06:05:15 +00:00
Linus Nielsen Feltzing
591d2890f1 patch #1255805 by Frederic Devernay - fix to buffer overflow in dsp.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7301 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 23:17:55 +00:00
Linus Nielsen Feltzing
064c7afb63 iriver: fix by Frederic Devernay, Rockbox could crash if the metadata reading failed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7300 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 23:04:34 +00:00
Linus Nielsen Feltzing
40a19884aa iriver: always save resume offset, not only if it's bigger than the already stored one. This fixes the bug where rewinding doesn't save the resume position
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7297 a1c6a512-1295-4272-9138-f99709370657
2005-08-10 22:54:59 +00:00
Miika Pekkarinen
095854b989 Put back the line (accidentally?) removed on the last commit. That is
necessary to prevent playback stuttering when fast skipping tracks.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7285 a1c6a512-1295-4272-9138-f99709370657
2005-08-06 05:50:14 +00:00
Ryan Jackson
0812164ada Fixed track changing in REPEAT_ONE mode and playlists with only one track. Removed previous workaround for this bug.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7284 a1c6a512-1295-4272-9138-f99709370657
2005-08-05 23:51:48 +00:00
Miika Pekkarinen
637887838f Fixed a hang with backward skipping.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7269 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 20:46:38 +00:00
Ryan Jackson
1476fecf72 All repeat modes now work correctly if there is only one track in the playlist. Fixed a track-changing bug in 'Move to Next Folder' mode that could cause Rockbox to crash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7268 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 19:36:06 +00:00
Miika Pekkarinen
05820cbc07 Now playlist ending and skipping to a next directory should work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7267 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 18:47:12 +00:00
Miika Pekkarinen
47c82f295b Fixed a problem that wps didn't exit at end of the playlist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7266 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 18:25:27 +00:00
Miika Pekkarinen
7e58bd7cb8 Correctly setting the last_index to prevent playback stuttering.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7264 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 17:53:56 +00:00
Miika Pekkarinen
4633d01eaf Now removing right tracks from playlist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7263 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 17:41:26 +00:00
Miika Pekkarinen
fd7952e413 Fixed a hang on track changed. Automatically deleting invalid track
entries from current playlist.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7262 a1c6a512-1295-4272-9138-f99709370657
2005-07-30 17:00:06 +00:00
Ryan Jackson
b301b43825 Added comments, Replay Gain, and resume/bookmarks for FLAC.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7253 a1c6a512-1295-4272-9138-f99709370657
2005-07-28 18:43:33 +00:00
Ryan Jackson
795ce8b1a8 Changing tracks in REPEAT_ONE mode restarts the current track instead of crashing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7232 a1c6a512-1295-4272-9138-f99709370657
2005-07-24 04:17:34 +00:00
Miika Pekkarinen
7fa9f603e2 Fixed a hang while selecting a new track and playback was paused. This
was probably my last commit within the next three weeks, see you around!


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7230 a1c6a512-1295-4272-9138-f99709370657
2005-07-23 16:09:50 +00:00
Miika Pekkarinen
ae5002d1da Fixed the backwards skipping problem.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7229 a1c6a512-1295-4272-9138-f99709370657
2005-07-23 08:48:10 +00:00
Miika Pekkarinen
e0d17510d9 Show a nice splash screen when restarting the playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7225 a1c6a512-1295-4272-9138-f99709370657
2005-07-22 16:57:08 +00:00