1. 2acc0ac Updated our source code header to explicitly mention that we are GPL v2 or by Daniel Stenberg · 16 years ago
  2. ef5fa8e Restore Zagor's copyright from before the WPS tokenizer. I shouldn't have removed it. Also add mine in playback.c, alongside Slasheri's. by Nicolas Pennequin · 16 years ago
  3. c97e503 Cleaned up playblack.h header file and usage of it. by Bertrik Sikken · 16 years ago
  4. 2cf6345 bufgetid3 should be used carefully, as it can return NULL. by Nicolas Pennequin · 16 years ago
  5. de026dc Fix FS#8902 (NSF files get skipped). The cause was too strict metadata checking (the NSF metadata parser doesn't fill the 'length' field). Hopefully there won't be any problems with that anymore. by Nicolas Pennequin · 16 years ago
  6. babd3be audio_current_track: take wps_offset into account when no buffered metadata is available, and avoid using playlist_peek, which hits on the disk when dircache isn't enabled. This should make skipping nicer. by Nicolas Pennequin · 16 years ago
  7. b36d3c0 Some bugfixes after r17109: by Nicolas Pennequin · 16 years ago
  8. e50202c Remove a global variable which is (hopefully) not needed. Also fixes a very minor bug where restarting playback after a playlist ends would play the final 3 seconds again. by Steve Bavin · 16 years ago
  9. 4e2de44 A rather big change to how tracks are loaded: there are now two parts to the process and metadata loading is done by the buffering thread (except for the first unbuffered track). The audio thread now calls audio_load_track, and once the metadata is loaded, the buffering thread sends an event which will make the audio thread call audio_finish_load_track. This one then takes care of the rest of the loading. by Nicolas Pennequin · 16 years ago
  10. a5ad74f Revert what was left of r17018 until I find a better way. It had quirks in some cases, and doesn't play well with what I'm about to commit. by Nicolas Pennequin · 16 years ago
  11. 3c96259 FS#8882: Fix the bug where skipping backwards with Ogg files could result in a skip forward (FS#8508). The problem was introduced by a one-line change in r16025, so we revert it. At the time I thought that line had become useless but obviously I was wrong. Thanks to Greg Erwin for finding the fix. by Nicolas Pennequin · 16 years ago
  12. 9a946f6 Commit FS#8822 by Magnus Holmgren. Fixes resuming previously playing WMA files after a reboot. by Michael Giacomelli · 16 years ago
  13. 977069a Bring the WPS playlist index display into sync with the track being played by using the index field of the ID3 info struct instead of directly asking the playlist code. by Nicolas Pennequin · 17 years ago
  14. 0509914 Enable nocache sections using the linker. PP5022/4 must use SW_CORELOCK now with shared variables in DRAM (it seems swp(b) is at least partially broken on all PP or I'm doing something very wrong here :\). For core-shared data use SHAREDBSS/DATA_ATTR. NOCACHEBSS/DATA_ATTR is available whether or not single core is forced for static peripheral-DMA buffer allocation without use of the UNCACHED_ADDR macro in code and is likely useful on a non-PP target with a data cache (although not actually enabled in config.h and the .lds's in this commit). by Michael Sevakis · 17 years ago
  15. fe9eb68 Fix FS#8513 (Playback occasionally repeats a track when rebuffering occurs) and hopefully others by essentially reverting r16019, parts of r16425 and most bugfix followups. This means we're back to having a desynchronized playlist index in the WPS. audio_check_new_track() needs a serious rework before we can make improvements in that area without breaking things. by Nicolas Pennequin · 17 years ago
  16. 33f522d Migrate the buffering code to the new events system. by Nicolas Pennequin · 17 years ago
  17. a3ed952 Fix an issue introduced by r16930 where rebuffering would happen one track too early because track were counted after moving to the next one instead of before. by Nicolas Pennequin · 17 years ago
  18. 73a71a4 Move audio_set_elapsed to mpa.c, as recommended by the TODO note. Please correct me if affecting ci->id3->elapsed directly (ie without using ci->set_elapsed) is wrong. by Nicolas Pennequin · 17 years ago
  19. bb40e6e Fix a possible (though unlikely) deadlock condition spotted by jhMikeS. It would involve both the buffering and the audio thread sending synchronous messages to one another. by Nicolas Pennequin · 17 years ago
  20. 03b54c2 Fix for FS#8601 by pondlife: the disk no longer spins up on a track change when dircache is disabled. This issue was introduced by me in r16019 by adding a call to playlist_peek() in audio_check_new_track(). This fix adds a new playlist API call to work around the problem until we find a better solution. There are also a few simplifications and comment corrections. by Nicolas Pennequin · 17 years ago
  21. 63acf3e Fixes FS#8597 (dropouts while crossfading) via keeping CPU boosted while crossfading is active. by Andree Buschmann · 17 years ago
  22. 12b6c84 Fix sim warnings. by Nicolas Pennequin · 17 years ago
  23. 732df38 Boost the audio thread while it's filling the buffer. In the audio and the buffering threads, only cancel cpu boost when not filling. by Nicolas Pennequin · 17 years ago
  24. b71cbd5 Use queue_empty instead of queue_peek again now that we don't care about the event type anymore. by Nicolas Pennequin · 17 years ago
  25. 4855e73 Move codec_get_file_pos somewhere else like the comment said should be done. Codec API version increment was needed so update all codecs. by Michael Sevakis · 17 years ago
  26. f68147e Track playback filling state with a state-machine approach. There shouldn't be any change in behaviour but things are simpler. by Nicolas Pennequin · 17 years ago
  27. 135cc75 Revert my earlier const madness, we'll keep the parameter lists simple. by Steve Bavin · 17 years ago
  28. 3d0b7c6 Oops, another pondlife puddle of red. by Steve Bavin · 17 years ago
  29. c9df8fd The const police raid playback.c, should be no change to behaviour. by Steve Bavin · 17 years ago
  30. 7669103 Oops, more red. That can't be static yet. by Steve Bavin · 17 years ago
  31. 38ed901 A little more consting/staticing, no functional change. by Steve Bavin · 17 years ago
  32. 27cf677 Add a complete priority inheritance implementation to the scheduler (all mutex ownership and queue_send calls are inheritable). Priorities are differential so that dispatch depends on the runnable range of priorities. Codec priority can therefore be raised in small steps (pcmbuf updated to enable). Simplify the kernel functions to ease implementation and use the same kernel.c for both sim and target (I'm tired of maintaining two ;_). 1) Not sure if a minor audio break at first buffering issue will exist on large-sector disks (the main mutex speed issue was genuinely resolved earlier). At this point it's best dealt with at the buffering level. It seems a larger filechunk could be used again. 2) Perhaps 64-bit sims will have some minor issues (finicky) but a backroll of the code of concern there is a 5-minute job. All kernel objects become incompatible so a full rebuild and update is needed. by Michael Sevakis · 17 years ago
  33. a67e5d8 It makes more sense for the callback registrar to decide if its a "oneshot" then the callback caller. by Jonathan Gordon · 17 years ago
  34. 19c6e66 Implement the playback event handling as a system-wide multi-purpose event system. Unified mpeg.c and playback.c audio event handling. Converted ata_idle_notify to use the new event handling system also. by Miika Pekkarinen · 17 years ago
  35. 6ab1c90 FS#8707 - Enable "Load to RAM" (HAS_TC_RAMCACHE) compilation without Directory Cache (HAS_DIRCACHE). by Miika Pekkarinen · 17 years ago
  36. 8c6920e Revert accidental tree commit. Sorry for that. by Jens Arnold · 17 years ago
  37. d1ed7c3 No need to have \n here. panicf() won't output it anyway. by Jens Arnold · 17 years ago
  38. d8204fa Simplified the playback engine more and removed unnecessary code. by Miika Pekkarinen · 17 years ago
  39. 2ccdc48 Rewritten playback event handling. Should fix runtime statistics gathering. by Miika Pekkarinen · 17 years ago
  40. 0fd6a04 Pragmatic fix for FS#8681 (logf breaks scrobbling). The correct fix is a better event mechanism but scrobbling is currently the only track_changed_event consumer so I'll wait til I have more time. by Nicolas Pennequin · 17 years ago
  41. c8d2a24 Fix FS#8675: Last song in playlist ends prematurely. by Magnus Holmgren · 17 years ago
  42. 018de35 Slightly simpler mechanism to avoid Q_AUDIO_FILL_BUFFER floods. by Steve Bavin · 17 years ago
  43. bda6f57 Fix odd behaviour when rebuffering occurs during playback. This is hopefully the last nail in the coffins of FS#8455 and FS#8513, but I'll let some FLAC and Ogg users be the judge of that. by Steve Bavin · 17 years ago
  44. f38274f Use a safe way to get pcm buffer track change notifications to the audio thread. by Michael Sevakis · 17 years ago
  45. 00b722f Fix bookmark resume when a track is playing. by Magnus Holmgren · 17 years ago
  46. 3987166 Fix auto dir change happening one track too early (another followup of r16425). by Nicolas Pennequin · 17 years ago
  47. a36dbaa Fix not being able to skip to the last track in a playlist. by Nicolas Pennequin · 17 years ago
  48. b834e25 Attempt to make manual track skips more responsive and more robust by Nicolas Pennequin · 17 years ago
  49. f730133 Factor out duplicate code from audio_prev and audio_next by Nicolas Pennequin · 17 years ago
  50. ea9e02b Make audio_next_track use the wps_offset value. by Nicolas Pennequin · 17 years ago
  51. 68f9e6b When starting playback, prevent the codec from starting to decode too early, which would cause rebuffering (slowing things down) and incorrect playlist index. Hopefully fixes a bunch of playback-related bugs, such as FS#8520, FS#8525, FS#8555 and possibly FS#8511. by Magnus Holmgren · 17 years ago
  52. ca243ce Fix FS#5797 (Codec failure with directory skip when in file browser, with dircache enabled). Marking the tree context to be reloaded too early would cause the new playlist to contain files that don't exist (correct directory but wrong filenames), in turn causing the codec failures. The fix is to call reload_directory() after the playlist has been created. by Nicolas Pennequin · 17 years ago
  53. 659fe5a Fix FS#6215 (player crashes after trying to resume deleted music file). As mentioned in the lastest comment, the problem was in trying to resume at an offset larger than the size of the file following the one that was deleted. This revealed a crash in the buffering code, which gets a fix, but we also need to intervene earlier in the track loading so that the track that gets played will be from its start. by Nicolas Pennequin · 17 years ago
  54. 5fd859b Take out some no longer needed (and overly complicated) comments, thanks to Nico_P by Brandon Low · 17 years ago
  55. 3d7f64c Fix FS#2687 (Rewinding at end of song confuses playback) by making the codec skip back if the user seeks during the transition window. This also completely fixes the small glitch in the progressbar when a user skipped back to a buffered song. by Nicolas Pennequin · 17 years ago
  56. d5b96f5 Make the playlist index be incremented after the PCM track change. This fixes FS#8206. Special treatment is required to avoid breaking auto dir change. by Nicolas Pennequin · 17 years ago
  57. 3386dd7 Fix FS8069, because Nico_P made it easy by Brandon Low · 17 years ago
  58. e24454f Buffering callbacks rework. There is now one callback for all the events that can occur. Callbacks are now registred only once instead of being removed after having been called. by Nicolas Pennequin · 17 years ago
  59. d7e1f77 Commit FS#7440. The iPod Video doesn't actually have a hardware equalizer. It does have hardware bass/treble settings with configurable cutoff. So make the bass/treble settings use the hardware and remove the hardware equalizer configuration. by Dan Everton · 17 years ago
  60. a334bd2 revise commit r15463 - we still get the immediate display of runtime data in the wps, but avoid unnecessary calls while initialising/updating the database. by Robert Kukla · 17 years ago
  61. 5ee2e37 Save runtime info for last track in playlist as well (FS#8040) by Robert Kukla · 17 years ago
  62. c44d2bd Fix FS#8201 and correct fix for FS#8040 by making the track unbuffer callback be called from where it should be: clear_track_info, and writing track metadata back to the main buffer *before* the callback is called and the track erased. This simplifies audio_clear_track_entries. by Nicolas Pennequin · 17 years ago
  63. 398d9fd Hopefully the last word on getting rid of yield_codecs loops (cut read chunk to 16kB). Sansa ata driver also didn't yield enough so buffering would starve other threads. Bump priority of audio thread to keep UI more responsive. by Michael Sevakis · 17 years ago
  64. fadbf0a Make threads responsible for explicit cancellation of their own boosted status. Sleeping and timeouts will no longer cancel it. by Michael Sevakis · 17 years ago
  65. 2ff5132 Fix FS#8040 (Gather Runtime Data not working) the right way. Also a few cosmetic changes and comments. by Nicolas Pennequin · 17 years ago
  66. d3b8245 Second part of FS#8104 by Bertrik Sikken: Simplification of audio_track_count, audio_have_tracks and audio_have_free_tracks. This hopefully won't affect anything, but the semantics of the functions have changed slightly. by Nicolas Pennequin · 17 years ago
  67. cfa6495 First part of FS#8104 by Bertrik Sikken: Simplification and consistency improvement for the track index incrementations. There should be no functional change. by Nicolas Pennequin · 17 years ago
  68. 4f2473d Do the wait for the audio thread init in such a way to avoid an unlikely but possible roundabout deadlock. Not pretty but will suffice for the moment. by Michael Sevakis · 17 years ago
  69. d6f2a54 Make sure initial menu item is voiced at startup. Voice thread must wait for the audio thread to finish initializing hardware. A known issue at speex commit time (perhaps only by myself ;). The behavioral refinement time begins. by Michael Sevakis · 17 years ago
  70. 99617d7 Make speex the new voice format for SWCODEC targets (non-Archos). Remove codec swapping and build speex voice decoding directly into the core binary. by Michael Sevakis · 17 years ago
  71. 9446226 Erase lasttrack_id3 when end-of-playlist is reached. Fixes FS#8148. by Nicolas Pennequin · 17 years ago
  72. d1c6d53 I'm a retard, this is definitely more correct by Brandon Low · 17 years ago
  73. 02467cf Might fix FS#8158, I was unable to reproduce so no guarantee. by Brandon Low · 17 years ago
  74. 4963925 Fix another NULL pointer dereference crash. by Nicolas Pennequin · 17 years ago
  75. e71bc67 Fix an issue that appeared in r15577, where skipping back to a track that has no audio data left, but still has its metadata and album art, would fail. The fix is to also clear the filesize member (as it should have been previously) to force a rebuffer when skipping back. To prevent the album art bitmap from flashing on the back skip, the whole track info struct is cleared when the track isn't needed anymore, i.e. after the PCM track change. by Nicolas Pennequin · 17 years ago
  76. 95db8f8 Load the album art before the codec because find_albumart would yield to the codec, which would start requesting data before the audio handle is ready. by Nicolas Pennequin · 17 years ago
  77. 496027d * Make the album art be updated on PCM track change, not codec track change (changes in audio_current_aa_hid). by Nicolas Pennequin · 17 years ago
  78. cf37f4c Fix red. by Nicolas Pennequin · 17 years ago
  79. 9d4bed7 Album art support. Based on FS#3045, but heavily modified to adapt to MoB and for cleanness. by Nicolas Pennequin · 17 years ago
  80. a677678 Fix a possible NULL pointer dereference I introduced in r15503 by making an unwise assumption. This would cause crashes on track skip in certain (very unlikely, I think) situations. by Nicolas Pennequin · 17 years ago
  81. 941600f Remove nexttrack_id3 and instead use the metadata present on the buffer. by Nicolas Pennequin · 17 years ago
  82. 12d479f Store the metadata of the first unbuffered track in a static struct so that it gets displayed in the next track info while playing the last buffered track. by Nicolas Pennequin · 17 years ago
  83. fbdc0e6 Fix warning. by Nicolas Pennequin · 17 years ago
  84. 5f7d21d Fix tracks always being cleared on skip (reported by dionoea). The problem was that skipping the ID3 info from the beginning caused the offset to always be nonzero. by Nicolas Pennequin · 17 years ago
  85. 405380e Don't keep resetting to default watermark during buffering, only do it once at play start by Brandon Low · 17 years ago
  86. aef008b Set all track handles to -1 on audio init to avoid calling bufclose(0) on all of them on the first playback stop. This also revealed a bug in audio_release_tracks where it wouldn't release all the tracks because the wrong #define value was used. by Nicolas Pennequin · 17 years ago
  87. 6631e36 Fix some logf warnings. by Nicolas Pennequin · 17 years ago
  88. 3379440 Remove conf_filechunk, it should never have been a setting and its implementation doesn't do what it claims any way by Brandon Low · 17 years ago
  89. 1df1e7b Remove unused conf_preseek from buffering.c and all of its accountraments. This is _not_ a setting. This is a guessing tool used by either playback or buffering to serve its clients better. Use the REBUFFER_GUESS size in resume to help obviate pondlife's bug. This will also need to be used when FS8092 gets fixed correctly with a complete rebuffer for backward movements. It may also belong in buffering not playback, haven't decided for sure by Brandon Low · 17 years ago
  90. d02b5c7 Don't keep useless id3v2 or other leading tag data on the buffer, it could be large by Brandon Low · 17 years ago
  91. 31c1164 make handle_id of zero valid, stop using memsets to clear tracks, should be no functional changes by Brandon Low · 17 years ago
  92. f906498 OTher part of previous by Brandon Low · 17 years ago
  93. e8fa7f9 More attempt to fix 8077 by Brandon Low · 17 years ago
  94. 0c97493 This part was good, bring it back by Brandon Low · 17 years ago
  95. c2e1cc1 Revert recent changes that are broken by Brandon Low · 17 years ago
  96. acb3e9a Make handle id semantics more like file id. This may need to be revisited if we ever start storing long lived things on the buffer (if an item lives through 32k other items coming and going, there will be an id collision and things will break) by Brandon Low · 17 years ago
  97. 86919f4 Misc. buffering related playback tweaks by Brandon Low · 17 years ago
  98. 11a3661 Make atomic type work for even first track. Rework low buffer handling... uses a stateful variable because I'm a bitter old man and it works this way by Brandon Low · 17 years ago
  99. 4bce3ad Use the correct event state constants. by Michael Sevakis · 17 years ago
  100. 9c3c6f9 Logf when a file is loaded atomic not packet by Brandon Low · 17 years ago