1
0
Fork 0
forked from len0rd/rockbox
Commit graph

681 commits

Author SHA1 Message Date
Brandon Low
ebadcc633a Put new_track on the codec_api, and use it instead of the reload_codec variable in most places. Should help with problems people have had with GUI vs. playback sync.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9670 a1c6a512-1295-4272-9138-f99709370657
2006-04-15 02:03:11 +00:00
Brandon Low
363dbc4b58 This might fix the buffering problem. Didn't happen to me the way I usually reproduce it just now
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9668 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 22:15:38 +00:00
Brandon Low
530cad32e8 Still not bright
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9666 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:48:01 +00:00
Brandon Low
de25006ad9 I am dumb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9665 a1c6a512-1295-4272-9138-f99709370657
2006-04-14 17:39:18 +00:00
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