AgeCommit message (Collapse)AuthorFilesLines
15 hourssimulator: fix off by one error in USB ack calculationsHEADmasterAidan MacDonald1-1/+3
The sim's printout of the number of expected USB acks was off by one. Since the sim queue is not registered for broadcasts, it will not receive an ack message and does not need to account for itself when determining the number of acks to expect, unlike the USB code. Change-Id: I6715039c05c1ea95099716c5251d401e37f5b085
19 hoursmips: stop backtraces at main()Aidan MacDonald2-2/+2
Initialize ra=0 before calling main so backtraces don't walk through the startup code. Change-Id: Ia8796ce38b32d14025b47b3e00061267ee25cbaf
19 hoursmips: add native backtrace implementationAidan MacDonald9-3/+357
Should make debugging crashes on native MIPS targets far easier. This is by no means a 100% complete or robust implementation but it seems to handle the vast majority of functions. Change-Id: Id5f430270e02b5092b79026b6876675c784aa649
19 hourspictureflow: Fix 'Update Cache' function and update manualChristian Soffke2-20/+23
The artwork cache was previously always rebuilt, even if you had selected the option to update. "Preparing artwork" should be much quicker now after a database update. Change-Id: Ie81486e29d596b52afd21b01ba54c73f1b402be2
19 hourspictureflow: Fix slide_index boundChristian Soffke1-2/+2
Parameters for fbound were in the wrong order and slide_frame wasn't assigned the bounded value Change-Id: I9b466e8b45e4318cadf59298f8c1145fa4d30ede
19 hourspictureflow: Fix concurrency issues building art cacheChristian Soffke1-1/+6
Guards against possible image corruption Change-Id: Id7e1e3a09cb13c255eea0ffdd2e4c4d558086997
40 hoursplugins: add USB TSR test pluginAidan MacDonald3-0/+138
This is intended for testing USB event delivery to TSR plugins. Usage: 1. enter plugin -> select Start 2. plug and unplug USB 3. reenter plugin -> select Status it should display "State: disconnected" then "Prev: connected" 4. when done -> select Stop Plugin Change-Id: I6c70f452db642f3fcbfbcb4f06c57f93e60f4cfd
8 daysFix faulty Play Shuffled behavior (FS#13347)Aidan MacDonald1-1/+1
When replacing a dynamic playlist with Play Shuffled, the current track could incorrectly be left at the end of the new playlist. Fix this - the current track should always be at the beginning, so it can be skipped past regardless of the repeat/shuffle mode. Change-Id: Ia86539bc23ad8ebd714b8dc50b5720671b4ad0a9
9 dayskernel: remove unused function mutex_test()Aidan MacDonald1-5/+0
No longer needed since the only user was in the Archos code. Change-Id: I763f58050c70f2bb1d8cc0a044c63698f3157a8d
9 dayskernel: remove unused kernel/pthread/*.c filesAidan MacDonald3-243/+0
These don't seem usable and it looks like the files were added by accident by d66346789c "buflib: Check the validity of of handles passed to buflib_get_data() in DEBUG builds." Change-Id: I4d4601f1fef7901c08ae86448853d008f48d5f43
9 daysapps: Add "keep current track when replacing playlist" settingAidan MacDonald7-5/+45
Add a setting that makes Play and Play Shuffled in the playlist context menu leave the current song (if any) playing when they replace the playlist. Default to on, since this was the behavior of the old "Clear List & Play Next" option. Change-Id: I1340aed5c28bb3244e36d0953b3308ae59681c97
9 daysapps: Change playlist context menu behavior, fix FS#13336Aidan MacDonald3-182/+170
Rename the "Clear List & Play" options to simply Play and Play Shuffled, and change their behavior slightly. Previously they would leave the current song playing, but now they will start playing the first song of the new playlist immediately. Shuffle options are now consistently hidden whenever a single file is selected. Fixes FS#13336 -- Play Shuffled is now always displayed where applicable, regardless of playback state. Change-Id: Idd454b4f9ab2c98cda3ce0389add747a3273fb42
14 daysmanual: Fix up some issues to try and get texlive2021 working ok.Solomon Peachy5-15/+19
Change-Id: I6fd5cfd7f27792cffbd061d96fdc8c852cc85050
14 daysProperties plugin: Eliminate redundant Track Info codeChristian Soffke6-222/+157
When opening an audio file from the file browser or database using the Properties plugin, it will now use existing code from the Show Track Info screen for displaying metadata. The menu option has been renamed accordingly. Change-Id: I5a824865b9f980151b91aff3c3c18ec45830a12c
2022-05-07pictureflow: fix album index alignment in load_album_indexAidan MacDonald1-0/+1
Change-Id: I7c3c86ffdab62859ce88faeeb84160ea52a4626a
2022-05-07pictureflow: fix bug in calculation of album art buf sizeAidan MacDonald1-1/+2
I intended to check for enough space in buffer but this isn't really doing it and it is making aa_bufsz slightly too big so it's a possible buffer overflow. Restore the old ALIGN_DOWN(..., 4) rounding in case it's important, if not, then no harm done. Change-Id: I904f255ac79a77d5328b44667502ceae8308e659
2022-05-05tdspeed.c remove buffer name stringsWilliam Wilgus1-8/+2
get rid of the magic buffer size and the whole name buffer naming the buffers individually doesn't serve any real purpose instead add a static string for all td buffers Change-Id: I962a966456453e1b84bab6fec6f4df7cb075ef4e
2022-05-03add const to const * strings iriver Fix RedWilliam Wilgus1-1/+2
the iriver devices overwrite the pointer Change-Id: I20ae6db2aec0f957824b61db349c7c45a95e58d9
2022-05-03add const to const * stringsWilliam Wilgus14-25/+25
I don't think this will amke any difference except maybe for hosted ports Change-Id: I84f898aea92a6963901a6d889dd18b63f24c9a41
2022-05-02codecs: m4a: improve seek accuracyAidan MacDonald3-53/+127
Seeking doesn't work well in M4A files with very few chunks due to the seek method used (chunk based using the info in the 'stco' atom). According to libm4a/demux.c the expected seek resolution using this method is 1/4 to 1/2 seconds. However, ffmpeg generates files with a 1 megabyte chunk size, so the resolution is much worse than expected on some files: around 30-40 seconds at 256kbps. There was a bug with the seek position reported back to Rockbox: the codec pretended it could seek exactly to the requested sample, but it would only seek to the start of a chunk. This could leave the UI in a confusing state because the real playback position was different from what the elapsed time showed. Fix this by recalculating the reported sample position using the chunk start. To fix the low seek accuracy, use the table in the 'stsz' atom to skip individual packets within a chunk. This is very accurate, but it takes a lot of RAM to allocate the table. Currently the table is not allowed to use more than half of the codec RAM, which should suffice for short files on most targets. On files where the table is too large the codec will fall back to the less accurate chunk-based seek method. Change-Id: Ide38ea846c1cdd69691e9b1e1cd87eb0fa11cf78
2022-05-02apps: fix tagtree arithmetic on null pointersAidan MacDonald1-2/+3
It was possible for the tag tree's buflib move callback to turn a null pointer non-null. The tagcache_search_clause->str can be null for OR clauses. Also ensure that clauses are zeroed on allocation to ensure garbage pointers don't creep in. Change-Id: Ic823a8eecc501eeaa75798066521e427a9a89190
2022-05-02apps: fix use of negative fd in open_plugin.cAidan MacDonald1-0/+2
Bug reported by UBSan. Change-Id: I3223a496dfa5df4e3df97fb88a14ea0174d4b428
2022-05-02apps: fix close of negative fd in talk.cAidan MacDonald1-4/+5
Bug reported by UBSan. Change-Id: I02276521510acac8696499895fec15993c55aaf6
2022-05-02apps: fix int/long mismatch in playlist.cAidan MacDonald1-2/+2
A couple of places use sizeof(int) for allocations and copying but the indices are longs, which causes bugs in the simulator on 64-bit. Change-Id: Ie101ac57d44217c4b1657cf0152c97e276bd7043
2022-05-02Fix some non-portable alignment valuesAidan MacDonald5-37/+19
UBSan reports an avalanche of unaligned pointer bugs stemming from hardcoded 4-byte alignments used in certain places. Use sizeof(long) instead to align to the machine word size. Change-Id: I28e505212462c5268afa24e95df3a103ac3e2213
2022-05-02plugins: fix out of bounds read in chopperAidan MacDonald1-13/+12
GCC complains about this when compiling with UBSan. Change-Id: I4bd8ff2b47882ab95620dc7750a9a80f823cc2ea
2022-04-28tree.c update settings when new theme selectedWilliam Wilgus1-1/+5
Change-Id: I376aba4258dd3c54c45d97317aa1e7bc8f2a3a17
2022-04-27keyboard.c change math for editline above pickerWilliam Wilgus1-1/+17
Change-Id: I59e7f7face07f3f97fc6e016ee333cd3139ad5fd
2022-04-20buffering: remove bufgettail/bufcuttailAidan MacDonald6-119/+1
These operations can only be used in limited circumstances and have exactly one user. bufgettail especially seems of dubious value; how often do you need to read N bytes from the end of a file without changing the file position? strip_tags() was the only function using them, to strip off ID3v1 and APE tags off the end of buffered tracks. This would save only 32-192 bytes per track -- if the container format uses APE/ID3v1. It hardly seems worth the effort. Change-Id: I8fc3c1408517eda6126e75e76d76daea904b50eb
2022-04-19Manual: Add Eros Q Native Bootloader download linkDana Conrad1-0/+1
Forgot this in the previous patchset Change-Id: I3f58e31e57e90cf3bc5f4b02a37ac4c99e8e52b4
2022-04-18[BUGFIX] gui_synclist move global display settings to list structWilliam Wilgus1-0/+1
forgot to add the update function to the list_wraparound callback Change-Id: I7ee7940f126726c727344d7d09371f1bf3295c81
2022-04-18fiiom3k Yes/No screen: Only accept Play button for YESChristian Soffke1-1/+1
According to the on screen instructions, any other button should mean No. More importantly, in my experience at least, the Select "button", since it is touch-activated, can sometimes be pressed by accident, especially when a warning screen is displayed as a result of pressing that same button. Change-Id: Ieeadfa8018b5df99605297bc47948a181c22dab4
2022-04-18rbutil: Bump to 1.5.1.rbutil_1.5.1Dominik Riebeling2-2/+2
Change-Id: Idfc846ee1922271a709a097989c7a9a31e9d7279
2022-04-18rbutil: Fix progress dialog abort changed too early.Dominik Riebeling1-1/+0
Don't change the abort button to Ok after a successful bootloader install, this will be done by the following steps. Change-Id: I4275de1f44bddf0580b10b36240a36a43daa68d0
2022-04-18rbutil: Update changelog.Dominik Riebeling1-0/+7
Change-Id: I0d3ad4cba8cc5393d86cf2b96fc755ad6ec90b01
2022-04-18rbutil: run lupdate on all translations.Dominik Riebeling14-6275/+10330
Change-Id: I676cddf93724e07790cd393b697c127928f3949b
2022-04-18rbutil: Make zip install log less noisy.Dominik Riebeling1-3/+6
No need to show a separate entry when a cached file has been used, do it the same way as bootloader downloads do. Change-Id: I42a21a37474a778975e82af0102e0152677a0343
2022-04-18rbutil: Make "Info" tab more responsive.Dominik Riebeling1-30/+22
Loading the information can take a bit depending on the speed of the disk. To make the application not appear as frozen update the UI more often, and display a "Loading" text during data retrieval. Change-Id: I012487d031ea71e62b583ca1c40220ea709e7034
2022-04-18ImageViewer: Fix buffer overflowChristian Soffke1-1/+5
np_file is a buffer of size MAX_PATH. After removing only the file name component and leaving the rest of the path, the available space may not be sufficient for appending another file name (possibly of size MAX_PATH itself) to it. This can occur after a file of acceptable length is opened in ImageViewer, and you then advance to another file whose path (including the file name) is longer than MAX_PATH. Change-Id: Ideadd9451359bd5735bce92fca5d983e61f300e9
2022-04-18Database: Remove File View menuChristian Soffke3-1/+27
These options don't seem to apply to the database... Change-Id: I777073eeaed4099acf44996b95fa05b4c2b3abc4
2022-04-18Fix sim build for glibc >=2.34Aidan MacDonald1-0/+10
Change-Id: If63787514b6bffc0afb71f9d651f8c6f0c328a2d
2022-04-18Album Art: Eliminate redundant checkChristian Soffke1-4/+8
When the 'Album Art' setting was set to 'Prefer Image File' and neither image file nor embedded artwork were found, playback would check for files twice. Change-Id: Ibe392928d58ec04103e2572124841724509bd859
2022-04-18Manual: Add Eros Q NativeDana Conrad11-107/+286
Here is the PDF this patchset produces: Change-Id: I27554cb65a6498a6ccb714d4f93f25264b516e99
2022-04-18toolchain: update zlib to 1.2.12 for native mips targetsBernd Busse1-1/+1
zlib has been updated to 1.2.12 on March 27, 2022 with the following note: Due to the bug fixes, any installations of 1.2.11 should be replaced with 1.2.12. The previous version has been removed and is no longer available for download on the official site. Change-Id: I807fbb4605378d99654be3e4c1b28bd04de729c9
2022-04-17rbutil: Fix uninstall not updating install log.Dominik Riebeling1-3/+1
Change-Id: Icd71f1a2de73d23c6580523de8c810b5a10a194b
2022-04-17rbutil: Enable themes install depending on theme selection.Dominik Riebeling6-41/+17
Don't store the "Install Themes" option. Automatically enable themes installation if the themes selection has at least one entry selected instead. Change-Id: Ib46e8b53b0204555b79dea51545dd7c380f003ff
2022-04-17rbutil: Use references to avoid creating temporary objects.Dominik Riebeling14-25/+24
Get rid of some unnecessary object creating / copying by using references. Change-Id: Ia44e34f6f66d230caa9af7ef7c0eca73be12de2a
2022-04-17rbutil: Move bootloader file check to base class.Dominik Riebeling4-36/+24
Avoid constructing the bootloader file path in the caller. Pass filename list and mountpoint separately so it can directly fall back to the mountpoint. Change some functions to use references instead of creating temporary objects. Change-Id: I09c9d755553a32de3d02a42a8ce1fcb94f831b2a
2022-04-17Fix red from 6f5af8e53cAidan MacDonald45-341/+215
Change-Id: I02dbc3e91856eaef081446ca77919e6182a85e1d
2022-04-17Fix undefined behavior that blocks compiling with UBSanAidan MacDonald2-2/+3
Left shifts are not defined in C if they would cause signed overflow, so these expressions get instrumented, which makes them unusable as switch values and triggers compile errors when compiling with UBSan. Change-Id: I0588d4be1e00ba1cfde0eac119ead368b20d10c9