Basically, existing sizes apply for <= 48KHz audio. Up to 96K,
we double the mix buffer. up to 192K, we double it again.
Will help reduce the interrupt load and overall latency, keeping it
roughtly constant as a function of time, regardless of bitrate.
(It is acutally a fixed-size buffer, statically-allocated to handle the
worst-case bitrate the player supports. However, at runtime if we are
using a lower bitrate we will only use a portion of it in order to keep
latancies down)
Change-Id: I61ca23180a86502732b0903fe9691c1a8c2aeaea
Unsure why this is happening, but now we detect and recover errors at
startup.
Also clean up the mismash of printf(), DEBUGF(), etc in favor of panicf() for the really serious stuff and logf() for everything else.
Change-Id: I9aaa620d55d556645c9a6d108541b987983b32a8
Note: PCM mix buffer sizes are _way_ too small for these high bitrates
(We really need to make the mixer stuff use dynamic buffer sizes based
on the bitrate. Maybe pre-allocate a max size based on upper bitrate limit,
but use only part of it at lower bitrates? So we can have sane latency..)
Change-Id: Id7b4afd73dba7f1ffb84b2e1c016859fae5d6835
* xduoo x3ii/x20: Better line out support
* less granular volume settings (too many steps before)
* Better handling of swiching sample rates
* Log actual sample rate in debug menu
Most credit goes to Roman Stolyarov
Additional integration [re]work by myself
Change-Id: I63af3740678cf2ed3170f61534e1029c81826bb6
* Kill LCD when turning off the backlight
* Fix logic errors in lcd_enable() calls
* Use ioctls instead of sysfs to twiddle lcd enable
Change-Id: I6864ff63d87b747ac48719b0f4ba2de00333a1d3
* SAMPR_CAPS_ALL -> SAMPR_CAPS_ALL_48/96/192
* All targets claiming SAMPR_CAPS_ALL now get appropriate subset
* No need to explicitly define HAVE_PLAY_FREQ
* Rates that are a multiple of 44 or 48KHz can be used for playback
Inspired by a patch by Roman Stolyarov, but substantially rewritten by myself.
Change-Id: Iaca7363521b1cb9921e047ba1004d3cbe9c9c23e
check if any buttons are waiting in the queue before triggering
the event thread for action & button events
makes button events quicker and also spend less time interrupting lua
both wins
Change-Id: I38346c084afdd99e4608f40b52053ee39730fb40
cool little lua based audio player
creates dynamic playlist of 10 mp3s found on device if no music loaded
I had to limit the depth of search to 3 levels due to the recursive
nature of the current dirbrowser functions this could be rectified with a
bit more code
fixed a bug in print.lua that kept scrolling text even after screen clear
Change-Id: Ifd285332df41a409ecaeb1ea447ad15537b5d04c
- Fix naming.
- Remove non-functional functionality to set cache folder.
- Use URL filename part when copying the file if target filename is not set.
Change-Id: Ic9af59300f06d4309c6a4c9542d4f6079dd841c3
- #define all exit codes and use them for indicating further errors.
- only enable interactive (i.e. wait for keypress before exiting) mode
when built with bootloaders.
Change-Id: I6dcbc51226aadc4ab640bf260b6331ddbd4773cc
- #define all exit codes used so they can be checked more easily.
- Use exit codes to indicate more error states.
Change-Id: I052962e3457a7cd5eca8b70256889d25b1b4b3aa
I had previously added the fuctionality to luadir but I didn't update
the examples
also breaks out the file_browser function to be a bit more accessible
Change-Id: I14067256b9d76a757f732840cbee1cf84d775b1b
When a voice file is invalid or fails to load the voice system splash a
message 'Invalid Voice'
Now we supply a single voice file (currently only english is used)
the support for other languages is in but I haven't set it up to
look for anything but InvalidVoice_english.talk
Also adds a one time kill voice thread function
ie. it doesn't allow re-init after killing the voice thread & queue
Change-Id: I7b43f340c3cc65c65110190f0e0075b31218a7ac