Playlist Viewer hangs indefinitely on tracks with long Comment fields
Commit 2156d98 (metadata: mp3: Improve support for long tags) has
allowed the length of parsed tags to exceed ID3V2_MAX_ITEM_SIZE.
Overly long tags may blow the stack due to a stack-allocated buffer
in the metadata parsing routine, that can reach 3 times the size of
the id3v2 and id3v1 buffers combined.
This patch moves the mp3entry struct used by the Playlist Viewer
off the stack and onto the plugin buffer instead, which helps prevent
a stack overflow in cases such as the example posted in FS#13518.
Future patches to either constrain ID3V2_BUF_SIZE to ~1120 bytes or
to lower the stack usage of metadata parsing will still be required
to fully address the issue.
Change-Id: I2f436195bc8df4d785b1880f6ab167783a162020
most of the data gets wiped out by the next (or current) text
add some sleep and buffer the log text so we can display it after each test
needs tested:
remote displays
greyscale
Change-Id: I14e53aca71e925ff9f547a77c6805a75d2d37e67
ultimately its only used as a way to prevent reentry
but coverity correctly identified the possibility..
Change-Id: I4738e52782ad4cac6134394238345a0491a50382
This adds some confirmed and some to-be-confirmed (TBC) registers for Samsung S5L8720, which is used in iPod Nano 4G, iPod Touch 2G and the 920-0614-03 development/prototype board.
All credit goes to Cástor Muñoz <cmvidal@gmail.com>
Change-Id: I9fe5052fe9f05cd33f34de4e228cdb291944aa11
IMPORTANT: There is no guarantee this will compile cleanly much less
_work_ on any given target. This is purely to enable future hackery.
Change-Id: Ib58f21b717719fd4325622b446a60779406ae035
* volume_partition() wasn't defined for hosted targets
* wrap the "special" volume stuff in HAVE_MULTIDRIVE
Change-Id: Icbea256ab6438e1f7e45d361ed61724feec7ef0b
This is an example of what could happen:
HD1: Not present
ouping Not present
ouping Not present
ouping Not present
We have up to 4 fixed volume slots (==partitions) per drive, but
shouldn't display an entry if the slot isn't used, ie the normal case.
Instead, we _were_ displaying a partially-unitialized entry!
There is a special case for targets that support multiple *drives*, in
that we want to show 'not present' for the first volume slot of the
2nd drive.
Change-Id: I717edd305cd654ff4e13ba9ffb57e7a4c9935c17
Due to its similarity with S5L8702, clickwheel support and sleep can be used as-is on S5L8720. DRAM and IRAM are also configured.
Change-Id: I52f8a3417e6a25c7360b1cae2fb5eed621e2e0db
instead of checking for menu callback use an empty callback instead
this code is a bit strange in that a prior valid callback might be returned
so I left the behavior but I question if thats really needed..
Change-Id: Id0c4eb208b33a6fffdbdffc63ea9cc928bba1a6d
vp->width may exceed the actual available screen area which
prevents the sim from clipping properly
'
Change-Id: I487761b3e656d4a066960fb8dc7477cceb30aa57
replace with simplelist_reset_lines(void)
there was one user saving one short string
remove the feature to simplify list code
fix scrolling in dircache debug item
Change-Id: I71f933f224c2de5f7a68feab904a2fe0b81e1362
add simplelist_setline() to allow literal strings or owner buffer
to be shown in the simplelist
this makes simplelist more versatile by allowing static strings
to be added directly instead of copying into the simplelist buffer
(ie not consuming the simplelist text buffer)
add bounds checking to simplelist_setline/addline
No one has more than SIMPLELIST_MAX_LINES.. right?
-- there are actually a few places this isn't checked..
use new setline function in debug menu
share the simplelist buffer with the list_draw fn for gui_synclist
since they shouldn't be in-use simultaneously we can save some stack
Change-Id: I4a1e64d3a621d326ff094241da55452c0ff746ba
This is a preparation to introduce support for the following SoC models: S5L8720 (iPod Nano 4G, iPod Touch 2G), S5L8730 (iPod Nano 5G), S5L8723 (iPod Nano 6G) and S5L8740 (iPod Nano 7G)
The whole family consists of SoCs which are similar, running ARMv6 and Thumb2 instructions, but some peripherals are located at a different address.
No functional change is to be expected so far.
Change-Id: If1f7669c49cf110ccc52c5234cc42ffd6f2b4e80
the builtin audio filetypes all use an int to signal (FILE_ATTR_AUDIO)
it takes less space to give them their own array and apply the attrib at runtime
bit of const correctness and some other small cleanup
Change-Id: I1cc3de9fe4ec1d5e49c8154cffdef3f05cf0b235
The default viewer icons file seems to have
been removed in the rewrite of buildzip.pl
(see commit 66b6fdb).
So, this only worked accidentally, once some
theme put a viewers.bmp file in the icons folder,
potentially leading to confusing behavior.
Deactivating viewer icons (instead of reverting
to some default file) when they are set to "-"
is probably expected behavior at this point.
Change-Id: I5010764676c67592bf20abfb3d0780edb1d555d4
The 'll' printf modifier is currently broken. Fortunately all but
one of the uses is printing MB instead of bytes, which means we can
cast the value to a 'unsigned long' without risk of overflow/wraps.
...There's one remaining use ('%llx') which still needs to be sorted
out.
Change-Id: I89f406f6c085be153531d1ec1f2a314ae172b129
img may have already been loaded, in which case
bm.data will intentionally have been set to NULL
(see NOTE in load_skin_bmp)
Also see commit 01cbb79 and previous fix 35f9a5b
Change-Id: I581ed63836f30a6b669b3d1fd5886fc1b3664386
Each artist name is only stored once, regardless of case,
so we have to perform a case-insensitive comparison with
the current artist.
Change-Id: I571c0e49c032a6d5c64f6e3289513ba7fe279cb8