This is actually the root fix for the crash; the fix in
772eff8ca6 didn't restrict it to 2 channels, just sanity
checked the file vs MAX_CHANNELS.
Change-Id: If5a0a9b946a179ad47d6e7955f7c025de3aaaa0e
Since commit e0df995 storage_disk_is_active may be 0
even if there is no disk that needs to be spun up or
device to power on, so it doesn't really make sense
to check for it, anymore, in order to decide whether
to display the loading indicator.
For remaining devices with spinning disks, the noise
or vibration of the disk spinning up may serve as a
sufficient signal when loading a plugin, that the
device isn't frozen. Plus, for the tagtree, search
progress is displayed after 0.5s anyway.
Change-Id: I5791725e2388d7113818a358204968d8a4e6f843
Added jpeg decoder jpegp.c using RAINBOW lib. Currently enabled only for pictures not supported by old decoder (as old decoder more optimized for low mem targets)
Someone TODO:
* Old decoder has optimized downscale logic which new decoder doesn't have (it gives big difference in required memory and time for decoding). This logic should be ported/adapted if possible.
* Add smooth downscaling.
* Grayscale support
Change-Id: Ie96bc62848b51cc6a3942f8e069ec6ab02dc1c56
Added unmodified files from RAINBOW library by Attila Tarpai
Full sources:
https://github.com/Halicery/vc_rainbow
Change-Id: I356486b6a332aa3f610ddcae57f8a2044653b051
It's not clear that we've ever intended to support >2ch files, based on
'#define MAX_CHANNELS 2' and other logic that only seems to care about
mono vs not.
Change-Id: I15e92fb29cceef32e63fc3a821f6e96bbde930b6
This should be a no-op for .lang files, but it can matter when
generating talk clips, as those are based on the raw filename.
Change-Id: Ia449ae7668818e4bf093347fd0fb15fa5b67fa69
The iPod 4g and color always ignored the very first
button press after booting, i.e. you needed to either
press another button or scroll for a bit first.
Not sure whether any other PP iPods exhibit the same
behavior, although it is not reproducible on an iPod
video.
This patch basically copies the code from FS#5230
that fixed unresponsive buttons whenever the HOLD
switch was turned off (committed as a5961c944b).
Change-Id: I8d3444094e5d000e0f8e30e39a23f054abeeb0f5
This is particularly useful for classical music, where track names like
"symphony no.5" are common -- We want to voice this as "symphony number
5" instead.
Change-Id: I3607dfccbafee2174519760b30636e0db0aad819
Basically, there are weak aliases for all possible IRQ handlers,
pointing at a NORETURN function. GCC complains that the aliases
don't have the same attribute, but that's actually what we want.
Change-Id: I7f877e00193ed457589c8442db82e93ddea0d60a
The flag would apparently make hardware accelerated
rendering mandatory. SDL2 will still attempt to use
hardware acceleration, if the flag is missing.
Change-Id: Icfdcad90591d2a5003a1540f2a669c7e54dcfc3b
GMP 4.3.2 was quite old even at the time of the GCC 4.9.4 release, and
it refuses to compile out of the box on modern toolchains (eg GCC 14)
due to issues in the configure script. Instead of trying to backport
fixes, just bump it up to 6.1.2, the final release in the 6.1.x series
that was current when GCC 4.9.4 was released.
Meanwhile, with the update to GMP, the also-quite-old MPFR 3.1.0 fails
to compile; instead bump it up to 3.1.6, which is the final release in
the 3.1.x series.
Change-Id: I356c07282b20629c90fb0de1b8be40d2c55bbefc
The 12K-per-thread necessary on arm64 linux systems caused an
unnecessary 180K increase in RAM usage on the hibyos hosted ports. So
back off to the old size unless we know it was needed.
Change-Id: I1e25417433052027ae02a51903b0f5245819db44
This allows callers to see if it's safe to enqueue something instead
of triggering a panic if the queue turns out to be full.
Change-Id: Idb887e7a47cfbfef998f27d9d85090f3c0ed2230
Code has no effect since commit a0e95c8.
Functionality is now handled by the playlist_insert_context_add function
Change-Id: Ie91f605bd7a7d03556fa70d195a06bc55866741d
If you have say 1000 playlist entries and select the 1001 song in the directory
dirplay loads tracks 1-1000 shuffles them and track 1001 is never heard from again
Instead start at the file and loop through the directory mod dir len
Change-Id: Ieded5decdc1f7c44b1be8491dbd4f359ae21f79a
Hint: this is a good way to not wait on dirplay to load a ton of tracks
On usb plug system_flush() gets called before the other
threads get a chance to ACK the insert
system_flush() calls playlist_shutdown() (amongst other things)
playlist_shutdown closes the control file
the audio thread acks USB insert
audio_stop_playback is called which now can't look up the
filename from the now closed handle for control the control file
I left the guard for checking for USB insert but it appears to be
fine without it
Change-Id: I935dbf7aed38d4a57413c0063ad953f427e9b3bb
I forgot we had duplicated code between playlist.c and tagtree.c this saves
a bit of space and should speed up adding tracks a bit
further I noticed a buf here where there was the potential to return without closing
the opened track search
Change-Id: I15ed8447fc4fe13de5bfeb9fbb59b151e2fbf36a
- Give each brand its own entry, and make ranges
of OF versions correspond to hardware changes.
- Temporarily disabled target aigoerosq.
- Post-install hint enabled.
- Added pre-install hint function
- Added optional parameter themename, in case
the target name does not match the themesite name.
- Made Port Status (statusAsString()) only care about platform
string prior to first '.'
- Manual: Remove note that rbutil does not support this model
Issues:
- Cannot uninstall the bootloader - manual instructions are available
Change-Id: I574aad7943ea3d1e543e9449f68240446fec0709
with our large voice file being loaded in its entirety to the buffer
there isn't enough room to allocate the required pcm buffer
well prior to this patch we looked for 1k free to allow the talk buffer
to be given away
well the pcm buffer expects something like 5-600 kb on the clipzip
and there is 1k allocatable but not 300 more
so instead get the required pcm buffer size and check against that
Change-Id: I40a056e4170c37bc3429f0cb37af221ae7f812e5