In files with gaps between chunks and reduced lookup_table we can't properly detect all gaps in m4a_check_sample_offset. So just ignore decode errors till next chunk present in lookup_table
Change-Id: I317864dce6a2251cdb6ddb8c0ad4d7c1640cb7a1
adds a new function:
gui_syncyesno_run_w_tmo(ticks, tmo_default_res, main_msg,yes_msg, no_msg)
when a database needs committed on start-up
a yes no prompt will appear if not answered within 5 seconds
it defaults to Yes
if instead you choose No next start-up you will be asked again
you could rebuild the db still and waste time but it wouldn't hurt
anything so I don't think that path needs blocked
Change-Id: I58411f6e6bfebb6f142d99f33a1e8885ae7785c1
The modified state is now an explicit flag that has to be
set whenever a user-triggered modification occurs. This is
recorded in the control file to ensure it doesn't get lost
after resume. There may be some places I missed where the
modified flag should be set/cleared, but it seems to work
well enough right now.
Change-Id: I3bdba358fc495b4ca84e389ac6e7bcbef820c219
In my opinion this API is just not very useful - design is kind
of questionable. There are hidden limits on the struct size and
bugs on 64-bit platforms due to assuming sizeof(long) == 4.
At the end of the day, the only major user was the tagcache and
it's actually less code size to do endian swapping manually.
Change-Id: I451c7f1a10cf3e28744c32c0f1f39a710d5cc100
Replace structec usage with explicit endian swapping routines
for the various data types. Simplify endianness detection when
loading the database. Make foreign endianness support optional,
but leave it enabled for now.
Change-Id: Ia1efb72c8830f63bbe0e51f7271c4552b5279878
CURRENT_USB overrides CURRENT_NORMAL when USB is plugged.
It defaults to 2 mA and wasn't defined on any target, but
this doesn't make sense to me. After all, the current
drawn by the CPU or other components won't change just
because USB was plugged in.
As far as I can tell, the only side effect of removing
this is reducing the estimated USB charging current.
This might mean CURRENT_MAX_CHG should be increased by
CURRENT_NORMAL on some (all?) targets to compensate,
but I'm not sure which targets would be affected.
Change-Id: I5aa5c3893ae1e4ce6b8803ab4e8c897d534eb08f
Instead of FOURCC it needs ignore-case text match. Also value can contain \0 ('m4a\0' instead of expected 'm4a ').But let's simply skip it and let decoder handle it.
Change-Id: I87eefcabbc9010481286257c26cee09e61d1221c
1) Make use of $gp addressing. This saves some bin size and makes
code slightly faster.
2) Substitute jr with simple j instruction in exception handling.
Code is small and j can easily encode target address.
3) Remove nop after eret in interrupt handler. According to mips32r2
ISA manual eret does not have branch delay slot.
Change-Id: If63feb12eef189f08f7b50c832a8091be5e6f570
Exception handling code assumes at least word alignment of the
context buffer. So far we were lucky that compiler placed it
correctly but after compiler upgrade I was hit by the bug
caused by missalignment of the context buffer.
Credit goes to pamaury
Codecs mostly use custom LOGF define for logging (i.e. see aac.c). Now such logging can be enabled in single file with #define LOGF_ENABLE
Change-Id: I36312fbcd2d9166fb1fe5ead31e7354342d8828d
in some calls to generate_bookmark_file_name()
len gets specified in order to not NULL terminate the buffer string
unfortunately, I missed the root_dir case in g#4839
Change-Id: I24d1360bbe72e6a1b2ed3332ff5854d039d58ca5
Still having problems with determining the type of track change
lets try just watching the audio_next/prev functions
Change-Id: Ie4233ff4d4bf49792a6549d7bcd169ff4b1afd20
Since this function already requires hitting the
disk, it may make sense to turn it into a plugin.
A minor advantage (apart from cleaning up onplay.c
and saving RAM) is that you can now access the menu
not just from the WPS context menu, but also from
the Shortcuts Menu or using the WPS plugin shortcut.
On the other hand, TSR plugins would have to be
terminated when Playing Time is launched, as is
already the case for other plugins such as PictureFlow.
Change-Id: Iea85229486887463ffc52f05e33e2340437f69a4
The suggested name was identical to the complete path
of the played folder, with a slash at the end, which,
if accepted, resulted in a file called only ".m3u8"
being saved there.
In case the path contained one or more dots, the string
was also stripped of the last dot and all chars following it.
Use Playlist Catalogue as the destination folder instead,
and pick last path component as the file name.
Change-Id: Ia2b7f7ebca746613d650bbab6d7a62ca1106efc6
After saving a playlist to an existing file with
a different name, any saved bookmarks for the old
playlist were still displayed for the new one.
Change-Id: Ic2666bdaf7ec6e25456283fc15760c568dd7ac38
Long button presses to create a new file
were in conflict with button presses to
play/pause.
Pressing SELECT is now used to create a new file
(and start recording, if stopped),
pressing PLAY/PAUSE will start or pause recording.
Change-Id: If2e568b9b05500d73fd54b691262a64d1a0ff487
I recently added track skipping while REPEAT_ONE was set
currently by registering a track skip callback
I'm not entirely happy with the additional constant overhead
of the event callback
Instead I went looking for a way to distinguish
a pending track skip from some limited testing
it appears to work just as well to compare
playback's skip_pending == TRACK_SKIP_AUTO
but the lack of lifetime control worries me slightly
Change-Id: Ic71b4c3925e991f5a1216d16ecd3af6cc777ef1e
Make optimization from 2358fabb actually work.
Fix potential out of bound access.
Remove redundant zero offset check.
Change-Id: I0a0ba04670b612d410ac17a761bd08c2915721b9
Don't store sample_to_chunk table and read data on demand instead (it's required only once for building lookup table). It allows to store 2x bigger lookup table.
Change-Id: Ida79d0c281040300d6561e124fe10ebacb0e4679
open an insert context
add tracks using the opened context
release opened context and sync the playlist
Change-Id: Idea700ffcf42a38dc23e131c92a6c5d325833170
A frequency change didn't go into effect immediately
when a user picked "Auto" for the sample rate, while
playback was paused
Change-Id: I254853b664c5b6812264fdaf81dfb8fbfff43dbf