1. c537d59 Commit FS#12069 - Playback rework - first stages. Gives as thorough as possible a treatment of codec management, track change and metadata logic as possible while maintaining fairly narrow focus and not rewriting everything all at once. Please see the rockbox-dev mail archive on 2011-04-25 (Playback engine rework) for a more thorough manifest of what was addressed. Plugins and codecs become incompatible. by Michael Sevakis · 13 years ago
  2. 39d9d8b Fix red and yellow. Move resume_index from mp3entry to playlist_info struct. Bump codec api. by Andree Buschmann · 14 years ago
  3. 4df825b Fix regressions of r29682. Update playlist index resume position when playlist changes (e.g. shuffling, inserting, removing, ...). by Andree Buschmann · 14 years ago
  4. 3184cbe Fix FS#12043. Next track was resumed when pausing and shutting down the player in the last seconds of a track. by Andree Buschmann · 14 years ago
  5. 9c41252 Fixed a typo. (Thanks Jeff!) by Björn Stenberg · 14 years ago
  6. e50cc0e Listen to and follow external Android volume changes. (Based on FS#11914 by Maurus Cuelenaere) by Björn Stenberg · 14 years ago
  7. 7d2ab2d Remove malloc_buf references from playback.c since it's no longer used for anything and align the codec slack space buffer that is now use as the malloc buffer. by Michael Sevakis · 14 years ago
  8. 7df5ecc autoresume: Optimize playlist resume (manual, bookmark, or after power-on) by Michael Hohmuth · 14 years ago
  9. 6510973 Give playback engine better control over the codec. Codec simply follows commands and doesn't concern itself with audio state. Get track change notification in on the actual last buffer insert of the track because now audio simply waits for a track change notify from PCM on the last track and it must be sent reliably. This is still at an intermediate stage but works. Codecs and plugins become incompatible. by Michael Sevakis · 14 years ago
  10. efba46f FS#11933: Check for external album art if embedded album art fails to load. by Magnus Holmgren · 14 years ago
  11. bdec638 Always do proper mp3entry copying instead of using bufread directly. Add bufreadid3() helper. by Michael Sevakis · 14 years ago
  12. edfff8a audio_peek_track should copy the struct mp3entry instead of pointing directly into the buffer. Despite the dire warning, caller does in fact yield/sleep and its usage is too nonlocalized to control that reliably. by Michael Sevakis · 14 years ago
  13. 86cab2e Disable buffering codecs (and code generally) on RaaA. by Thomas Martitz · 14 years ago
  14. f577a6a Embedded album art support in MP3/ID3v2 tags. by Thomas Martitz · 14 years ago
  15. 7141ff4 Add option to resume next track on automatic track change by Michael Hohmuth · 14 years ago
  16. 4844142 Do not update resume information and do not log statistics when a by Michael Hohmuth · 14 years ago
  17. 66e8fc0 Commit part of FS#11748 by Michael Hohmuth. Adds support for automatically resuming any song that is not played to completion at any point later in time, regardless of how many intermediate tracks are played. This is accomplished by expanding the database to record incompletely played tracks. Currently, the feature is simply on or off, in which case all tracks automatically resume, or they do not. The remainder of patches in the task expand this feature by allowing only certain file to automatically resume, only resuming in certain circumstances, etc but are not included until we reach agreement on what should be included. Additionally, the manual will need to be updated once we agree on the available settings. by Michael Giacomelli · 14 years ago
  18. 3dc5f59 Accept FS#11721 by Michael Hohmuth by Jonathan Gordon · 14 years ago
  19. 589490c don't cast to int when not needed by Rafaël Carré · 14 years ago
  20. 99207d6 panicf() is declared in panic.h by Rafaël Carré · 14 years ago
  21. 6340283 audio_reset_buffer: check audiobuffer size not only in DEBUG builds by Rafaël Carré · 14 years ago
  22. 113764d Fix FS#11175. playlist_peek() wasn't thread safe (due to a static filename buffer), so frequent calls from the main thread would cause the audio thread to buffer the wrong track. by Magnus Holmgren · 14 years ago
  23. 2494afc playback.c: don't assume cacheline size is 16 bytes by Rafaël Carré · 14 years ago
  24. 35e8b14 Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). by Thomas Martitz · 14 years ago
  25. b8d98fc Change cuesheet handling so the id3 info is not spoofed anymore. If something wants the subtracks info it is easy to get to. This makes next track display in the skins show the next subtrack if we are in a cuesheet by Jonathan Gordon · 14 years ago
  26. 7d5e0d7 FS#11263 - Radio Art support! %C and %Cl tags work in the radio screen and Base Skin when the radio is running. by Jonathan Gordon · 14 years ago
  27. 1bd072c FS#10853 - Skin support in the radio screen! Check CustomWPS for the new tags by Jonathan Gordon · 14 years ago
  28. d38093d FS#11099 - Rewind before resume by Magnus Holmgren · 14 years ago
  29. 6c175ef drop the playlist viewer stack usage by reading straiught off the buffer instead of copying it. by Jonathan Gordon · 14 years ago
  30. c736696 Minor clean up in playback.c by Andree Buschmann · 15 years ago
  31. c18e80e Implement resume for alac codec. by Andree Buschmann · 15 years ago
  32. 75e105a Make the buffer low-level watermark (and the related anti-skip setting) work again. Update the buffering 'base handle' as new tracks start playing, since this is needed to determine how much playable data is left in the buffer. Should fix the buffering problem reported in the forums (http://forums.rockbox.org/index.php?topic=24014.0), and also makes the usefl line in the buffering thread debug screen useful again. by Magnus Holmgren · 15 years ago
  33. df79ac2 Fix FS#11004 - Buffering crashes when skipping back from end of song. by Thomas Martitz · 15 years ago
  34. fea4689 Get rid of those horrible macros to protect against NULL reference when looking up the id3 info for tokens. by Jonathan Gordon · 15 years ago
  35. dc0ba91 FS#10898 - Add a playlist viewer to the WPS. http://www.rockbox.org/wiki/CustomWPS#Playlist_viewer for an exaplanation how to use it. by Jonathan Gordon · 15 years ago
  36. ecd9bcf Commit FS#10605 - stable playback on low memory swcodec targets by Matthias Schneider. Should allow stable playback on targets with less then 4MB of RAM and sofware decoding such as the Sandisk Clip, c200v2, m200v4 and probably others. Fixes several problems in buffering that occured when the files to be buffered weren't much smaller then the ring buffer size. Fixes a bug where move_handle would corrupt the audio buffer when trying to copy a handle that both wrapped around the highest address in the ring buffer and overlapped part of the source and desination ranges. Moves the decision in playback.c about when to update the current track handle from audio_check_new_track to after the metadata has been buffered. Corrects several other minor pieces of code. I've logged about 100 hours without a crash on various players with this patch but its possible it breaks some combination of players and features I haven't thought to test. by Michael Giacomelli · 15 years ago
  37. db82be4 Cleanup audio.h, related functions by Jeffrey Goode · 15 years ago
  38. ba9280d pcmbuf cleanup by Jeffrey Goode · 15 years ago
  39. 664dc90 Crossfade: added a new option, rewrote decision logic, updated manual and menus. Translators please note that updated translations may be required for some crossfade menu items! by Jeffrey Goode · 15 years ago
  40. 9e09534 Crossfade: carved out crossfade related code with lots of HAVE_CORSSFADE conditionals, eliminated fade buffer on low memory targets by Jeffrey Goode · 15 years ago
  41. 20db9cc Playback: removed duplicate functions by Jeffrey Goode · 15 years ago
  42. 04b01e1 pcmbuf: clarify and simplify crossfade code, etc. by Jeffrey Goode · 15 years ago
  43. 5ce8e2c Clarify track transition code in pcmbuf and playback. No functional changes yet. by Jeffrey Goode · 15 years ago
  44. 8f04d5a Playback.c: Eliminate repetitive watermark calculation when the buffer is idle. Also fix evil comment by Jeffrey Goode · 15 years ago
  45. 5822259 Tweak logf statements by Jeffrey Goode · 15 years ago
  46. e8eefe9 Code cleanup in codec_thread, playback and pcmbuf; more elegant solution to leftover samples by Jeffrey Goode · 15 years ago
  47. 03c5cb6 Fix yellow, defines by Jeffrey Goode · 15 years ago
  48. 9a4420b FS#10739: playback.c code split by Jeffrey Goode · 15 years ago
  49. 774bacc Correct wrong usage of event callbacks all over the place. It's not supposed to return anything, and should take a data parameter. by Thomas Martitz · 15 years ago
  50. 1016ee4 Initial custom statusbar commit. by Thomas Martitz · 15 years ago
  51. e9c1018 Rework albumart buffering internally to allow for mutliple albumart sizes. by Thomas Martitz · 15 years ago
  52. 6bfce3b Remove unused defines by Maurus Cuelenaere · 15 years ago
  53. 0307cd1 Remove some unused #includes by Bertrik Sikken · 15 years ago
  54. 3b75c86 A bit mroe wps/skin engine cleanup so that the structs the wps uses can be static: by Thomas Martitz · 15 years ago
  55. 5f5d105 Change the naming scheme for codecs found in different containers. by Mohamed Tarek · 15 years ago
  56. e96da7e Get cuesheets working again (hopefully fixes FS#10460), on swcodec only read the cuesheet from the buffer once by Jonathan Gordon · 15 years ago
  57. c46669a fix FS#10453 - the cuesheet changes broke playback on swcodec, rework it so it uses the audio buffer instead of a temp buffer from the start (which also removes one pretty big memcpy) by Jonathan Gordon · 15 years ago
  58. 24b136f rework cuesheet support: by Jonathan Gordon · 15 years ago
  59. 3d4701a FS#10080 by Nils Wallménius · 15 years ago
  60. 16e339d Bugfix for FS#10157 - "inaccurate seeking while paused" by Jeffrey Goode. by Thomas Martitz · 15 years ago
  61. 8c5c92d FS#10377 - "PCM buffer remainder is played under too many conditions" by Jeffrey Goode. by Thomas Martitz · 15 years ago
  62. d52c661 Commit FS#10335 from Jeffrey Goode. by Dan Everton · 15 years ago
  63. fc0c2fb Fix FS#10101 and FS#8999. Buffering was stopped prematurely if a manual track skip occured in between, leaving the CPU boosted, because audio_fill_file_buffer() returned if a new track was requested no matter of the filling state. Now keep buffering if it's currently filling the buffer. by Thomas Martitz · 15 years ago
  64. 0023943 Fix duplicate #includes by Bertrik Sikken · 15 years ago
  65. 7f94a9d In audio_current_track(), don't overwrite thistrack_id3 when it is being used by the codec. This fixes divide by zero errors when selecting other files while a FLAC file is playing. See FS#10102. by Boris Gjenero · 15 years ago
  66. 745e35c Fix red introduced in r20747 by Boris Gjenero · 15 years ago
  67. b71aad6 Add anti-skip buffer time when calculating watermark. This fixes the "Anti-Skip Buffer" setting. Since the minimum and default value is 5 seconds, this is relevant even when that setting isn't changed. It prevents playback pauses on the 5G iPod, and it should also prevent pauses on other SWCODEC hard drive based players, including FS#10115. by Boris Gjenero · 15 years ago
  68. 140c7e6 fix FS#10102 (progress doesnt get updated on the first track of a boot) and hopefully dont introduce any extra wierdness... by Jonathan Gordon · 15 years ago
  69. 265d855 Remove unnecessary copying of current track id3 data back into the buffer. It was used before when track_unbuffer_callback existed, but now PLAYBACK_EVENT_TRACK_FINISH takes care of this. by Boris Gjenero · 16 years ago
  70. 843c7ef FS9795 - some playback cleanup. by Jonathan Gordon · 16 years ago
  71. 66cf3a3 Clean up some #includes by Bertrik Sikken · 16 years ago
  72. 76be948 Correct comment and log message for failed AlbumArt bitmap loading. by Antonius Hellmann · 16 years ago
  73. 5355f34 Bugfix: If AlbumArt bitmap loading fails, dont try loading it over and over again, but simply ignore AlbumArt in this case. by Antonius Hellmann · 16 years ago
  74. 6a67539 Remove some unused code. bufopen for TYPE_ID3 can only return ERR_BUFFER_FULL (or a valid id of course) and no other error anyway. by Thomas Martitz · 16 years ago
  75. 2c59de5 make audio_get_buffer() properly invalidate the buffer (FS#9935, fix by Nicolas Pennequin) by Frank Gevaerts · 16 years ago
  76. 25b4334 Now that filling is supposed to be reliable we can safely calculate the watermark at the end of buffering, not after every single track. by Thomas Martitz · 16 years ago
  77. d7dee56 Set filling properly when codec doesn't fit too. by Thomas Martitz · 16 years ago
  78. 5e1bab1 Fix two rare bugs which caused playback to not unboost. The filling state was not set properly, if there was no space left for the handle for albumart or audio data. but for the handle for metadata. This also adds specific checks for ERR_BUFFER_FULL and appropriate logf messages. by Thomas Martitz · 16 years ago
  79. 56f4723 Check for buffer low condition in AlbumArt bitmap loading to assure correct AA display for all tracks. by Antonius Hellmann · 16 years ago
  80. 21f0c9a Make basic cache functions into calls, and get rid of CACHE_FUNCTION_WRAPPERS and CACHE_FUNCTIONS_AS_CALL macros. Rename flush/invalidate_icache to cpucache_flush/invalidate. They're inlined only if an implementation isn't provided by defining HAVE_CPUCACHE_FLUSH/INVALIDATE. by Michael Sevakis · 16 years ago
  81. 91948d1 FS#9638 - temp_cue is unused and wasting memory. by Bertrik Sikken · 16 years ago
  82. 53a76de Increased default watermark from 3 to 5 seconds. by Björn Stenberg · 16 years ago
  83. 6427d12 Calculate watermark from bitrate and harddisk spinup time. by Björn Stenberg · 16 years ago
  84. 42d88cb Better just do some cache maintenence there for good luck. by Michael Sevakis · 16 years ago
  85. 2054627 Have the codec thread do callbacks instead of messing with the stack which is much simpler and safer. Remove threads array from plugin API since it now serves no purpose. Up minimum API version and sort. by Michael Sevakis · 16 years ago
  86. 70e9c7a Commit FS#8624 by Linus Nielsen, Ryan Press, Craig Elliott, and Kenderes Tamas. Adds preliminary support for numerous accessories that use the ipod serial port on the dock connector. See IpodAccessories for a list of tested devices. by Michael Giacomelli · 16 years ago
  87. 93572e2 Keyclick fixup take two. It is only 88 samples (2msec) long so keep a small static buffer around for beeps less than or equal to keyclick duration. This way it operates no matter the buffer state and still won't interfere with alternate PCM operations like recording or plugin playback. by Michael Sevakis · 16 years ago
  88. 826688e PCM buffer beeping needs the audio buffer reset in order to work after operations that trash the buffer or keyclick won't be audible until playback is restarted. by Michael Sevakis · 16 years ago
  89. 5e73f9f Fix FS#8660-Recording hardlocks with keyclick enabled and FS#9388-keyclicks too late. Introduce audio_buffer_state to check whether PCM buffer is useable or disabled (trashed). by Michael Sevakis · 16 years ago
  90. 8cfbd36 Use cookies for thread identification instead of pointers directly which gives a buffer against wrongly identifying a thread when the slot is recycled (which has been nagging me for awhile). A slot gets 255 uses before it repeats. Everything gets incompatible so a full update is required. by Michael Sevakis · 16 years ago
  91. 89da432 Meg F/X can beep and click using a hardware timer so let us try it out. To match things up better, fix PCM beeping to give correct frequency (and get a pointer wrap bug too). Do some minor adjustments to compensate for corrections. by Michael Sevakis · 16 years ago
  92. fb11a83 playback: sanity check for pcmbuf_init() requirement (enabled in DEBUG) by Rafaël Carré · 16 years ago
  93. 7bc50d1 Fix FS#8282 - if next-dir fails resume the old playlist by Jonathan Gordon · 16 years ago
  94. 8c23a36 FS#8814 - remove the "restarting playback" splash because its pointless.. by Jonathan Gordon · 16 years ago
  95. 2f8a008 Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*. by Frank Gevaerts · 16 years ago
  96. 1b9991c Try to fix FS#9502: end playback properly if no valid files were found in a playlist. by Magnus Holmgren · 16 years ago
  97. 7b77910 fix FS#8124 - pressing STOP after seeking while paused causes playback to start again for a second or 2 by Jonathan Gordon · 16 years ago
  98. 2f50cd5 Codec memory reorganization by Nils Wallménius · 16 years ago
  99. 00a228f Accept FS#7482 by Klaas Bosteels - return the full path of a file which doesnt have valid tags yet (and use the end of the filename for the title) instead of before which was only using the filename by Jonathan Gordon · 16 years ago
  100. 71898e5 Accept FS#9480 - centralise and organise the events in the apps/ layer. by Jonathan Gordon · 16 years ago