Commit graph

8697 commits

Author SHA1 Message Date
Thomas Martitz
c08299cedd Dircache: Fix memory leak (and recently panic).
If the dircache was interrupted during generation (e.g. through USB
insertion), then the allocated buffer was leaked and a new one
was allocated for the second cache generation. This causes a
panic since r30308 since playback holds the control over the
audiobuffer at that time.

The fix is to simply check allocated_size instead of
dircache_size which is reset to 0 upon cancellation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30321 a1c6a512-1295-4272-9138-f99709370657
2011-08-16 13:01:03 +00:00
Thomas Martitz
4087875f1c Dircache: Fix bug introduced in r30308.
dircache_root wasn't initialized at all and the giving allocated_size
passed to buffer_release_buffer() didn't account for alignment padding.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30318 a1c6a512-1295-4272-9138-f99709370657
2011-08-15 15:13:17 +00:00
Frank Gevaerts
bf34cdfacb Add a 100ms delay before calling disk_mount_all(). Some players (especially some gigabeat Fs) seem to need a delay after disabling USB if we want disk access to work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30316 a1c6a512-1295-4272-9138-f99709370657
2011-08-15 14:36:23 +00:00
Thomas Martitz
8a701e5488 Fix errors and warnings.
The buffer_offset paramter of audio_init_recording() is removed as it
was unused in both implementations.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30310 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:37:05 +00:00
Thomas Martitz
7695b0403f Fix typo in and clarify comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30309 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:21:26 +00:00
Thomas Martitz
d1322b7159 GSoC/Buflib: Replace all direct accesses to audiobuf with buffer API functions.
Namely, introduce buffer_get_buffer() and buffer_release_buffer().
buffer_get_buffer() aquires all available and grabs a lock, attempting to
call buffer_alloc() or buffer_get_buffer() while this lock is locked will cause
a panicf() (doesn't actually happen, but is for debugging purpose).
buffer_release_buffer() unlocks that lock and can additionally increment the
audiobuf buffer to make an allocation. Pass 0 to only unlock if buffer was
used temporarily only.
buffer_available() is a replacement function to query audiobuflen, i.e. what's
left in the buffer.
Buffer init is moved up in the init chain and handles ipodvideo64mb internally.

Further changes happened to mp3data.c and talk.c as to not call the above API
functions, but get the buffer from callers. The caller is the audio system
which has the buffer lock while mp3data.c and talk mess with the buffer.
mpeg.c now implements some buffer related functions of playback.h, especially
audio_get_buffer(), allowing to reduce #ifdef hell a tiny bit.

audiobuf and audiobufend are local to buffer.c now.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30308 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 15:13:00 +00:00
Thomas Martitz
c0a4c66f9d Android: Minor changes in ldebugf.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30304 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:58:39 +00:00
Bertrik Sikken
b2d0ea204c Remove a couple of duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30301 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:42:32 +00:00
Thomas Martitz
dbdbc242ac Remove hosted_get_volume(), as event data is available in button_get_data().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30300 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 13:38:10 +00:00
Marcin Bukat
3b0783068b Fix typos in comments. Thanks ukleinek for pointing out.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30270 a1c6a512-1295-4272-9138-f99709370657
2011-08-08 20:21:29 +00:00
Marcin Bukat
1d2fae4466 rk27xx sd driver fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30269 a1c6a512-1295-4272-9138-f99709370657
2011-08-08 20:09:27 +00:00
Thomas Martitz
44ffa3ef93 format/*printf: Add simple support for %p format specifier.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30249 a1c6a512-1295-4272-9138-f99709370657
2011-08-04 10:44:41 +00:00
Frank Gevaerts
936494f9c5 Lower the maximum brightness of the fuzev2 backlight even more.
The previous maximum (20) still causes excessive heat for some people, and measurements (using a digital camera and a white screen) show that the maximum brightness in the OF corresponds to 12 in rockbox, so we use 12 now.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30227 a1c6a512-1295-4272-9138-f99709370657
2011-07-31 15:30:07 +00:00
Thomas Martitz
32b54164d8 Dircache: Fix 2 nasty bugs introduced with the reworks starting with r30032.
The first is an off-by-one that leads to miscalculation of the dircache size.
The format string size was used but dircache size was incremented by the snprintf() result which is smaller.
The other forgot to update the location of the "." and ".." strings upon compaction,
so that new folders got assigned orphaned pointers for those directory entires.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30224 a1c6a512-1295-4272-9138-f99709370657
2011-07-30 23:21:58 +00:00
Michael Giacomelli
62d666df6f Convert AMSv2 microphone samples from 14 to 16 bit before storing them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30209 a1c6a512-1295-4272-9138-f99709370657
2011-07-25 01:00:15 +00:00
Michael Giacomelli
c27ea297a3 Commit FS#12111 by Stephan Grossklass. Disables output mixer auto gain control on AMSv2. Should fix occasional distortion reported when running the player at very high output levels (e.g. at or above 0dB).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30208 a1c6a512-1295-4272-9138-f99709370657
2011-07-24 21:56:24 +00:00
Amaury Pouly
855e3c6f0f imx233/fuze+: implement lcd_blit_yuv (untested)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30207 a1c6a512-1295-4272-9138-f99709370657
2011-07-24 19:12:27 +00:00
Amaury Pouly
1df8072c08 imx233/fuze+: cleanup sd code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30206 a1c6a512-1295-4272-9138-f99709370657
2011-07-24 19:12:23 +00:00
Bertrik Sikken
0157c62418 ipod nano 1g: enable readout of battery current through ADC channel 4066_ISTAT
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30204 a1c6a512-1295-4272-9138-f99709370657
2011-07-24 17:32:50 +00:00
Amaury Pouly
fa0f17d9b0 imx233/fuze+: move page table to dram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30201 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 13:48:01 +00:00
Amaury Pouly
eb90d95693 imx233/fuze+: huge rework
- enable MMU
-rework lcd frame buffer
- add rtc/adc/power stubs (or not)
- fix a few MMC related defines (hopefully)
- implement cache handling for DMA
- more SD work
- add keymap (based on clip)
- add virtual buttons
- update linker scripts
- big step toward apps actually compiling

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30200 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 11:45:22 +00:00
Amaury Pouly
06c94740e5 imx233/fuze+: prepare target to enable MMU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30199 a1c6a512-1295-4272-9138-f99709370657
2011-07-23 11:45:18 +00:00
Amaury Pouly
82f70b8efd imx233/fuze+: add SD detection support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30196 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 15:45:58 +00:00
Amaury Pouly
85c32dbd12 imx233/fuze+: add pin irq support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30195 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 15:45:50 +00:00
Amaury Pouly
7d1d4c6f07 imx233/fuze+: implement gpio interrupts
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30194 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 15:45:46 +00:00
Amaury Pouly
792dd33047 imx233/fuze+: gives bootloader argument to main
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30193 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 15:45:42 +00:00
Thomas Martitz
c2a6214ecc Android: Fix crash on start up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30190 a1c6a512-1295-4272-9138-f99709370657
2011-07-22 06:50:41 +00:00
Bertrik Sikken
2f620b8af3 ipod nano 1g: enable LCD invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30182 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 22:05:16 +00:00
Bertrik Sikken
1f72825444 ipod nano 1g: show lcd type debug info, make more room for iap debug info
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30181 a1c6a512-1295-4272-9138-f99709370657
2011-07-20 21:21:31 +00:00
Thomas Martitz
b2f52477df Android: Change headphone detection to call into native.
Making a JNI call from tick tasks is not permitted as the underlying thread
is not attached to the Java VM. This is an error and crashes in the emulator
(which has stricter JNI checks enabled by default).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30173 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 23:44:56 +00:00
Frank Gevaerts
b8bfa84d1b Fix "variable 'result' set but not used" warning
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30172 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 21:06:30 +00:00
Frank Gevaerts
6c5c3495ca Disable ipod video battery capacity default detection for bootloader and simulator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30171 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 20:55:59 +00:00
Frank Gevaerts
aa27d47782 Set the default battery capacity for ipod video properly depending on detected RAM size.
Also set up a callback for the battery capacity setting (for all players) so changes take effect without having to reboot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30170 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 20:48:16 +00:00
Marcin Bukat
31b7ecb09b rk27xx - use more correct function to map between percived lightness and PWM fill factor when setting backlight brightness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30168 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 18:29:30 +00:00
Marcin Bukat
5d9b230168 rk27xx - implement cache_commit_discard(). Cache is still not enabled in crt0.S
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30167 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 06:49:03 +00:00
Marcin Bukat
f1c7fba5a4 rk27xx - add missing interrupt source
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30166 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 22:30:53 +00:00
Marcin Bukat
8fba4fb937 rk27xx - fix (hopefully) adc readings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30164 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 22:00:17 +00:00
Thomas Martitz
33de9cdaef Android: Refactor some of the glue code.
* Cleanup RockboxService.java by moving the battery and
  headphone monitors to separate classes and detaching their instances
* Move those monitors and RockboxTelephony.java into a new
  monitors subdirectory
* Call those monitors all the same from native code by creating
  the objects there

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30160 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 21:02:47 +00:00
Thomas Martitz
1b7ff725c6 Revert "Introduce bsearch() and use it in tagtree.c."
It was committed by accident (it's on FS still).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30157 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:57:50 +00:00
Thomas Martitz
74ab227b58 Introduce bsearch() and use it in tagtree.c.
bsearch() is a general purpose binary search function for arrays.
It's supposedly faster than looping over arrays.
The array needs to be sorted in ascending order under the provided
comparison function. If the key and array element are of the same kind,
then the same compare function can be used for qsort() and bsearch().

Code taken from glibc.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30155 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 18:55:20 +00:00
Marcin Bukat
cad91ed938 rk27xx - fix backlight driver - now one can set brightness
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30138 a1c6a512-1295-4272-9138-f99709370657
2011-07-14 17:06:44 +00:00
Amaury Pouly
5a2681161b imx233/fuze+: make SOURCES more correct, implement i2c for fmradio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30135 a1c6a512-1295-4272-9138-f99709370657
2011-07-09 17:14:05 +00:00
Miika Pekkarinen
e06bb54d12 Initialize the d_names_start pointer correctly in dircache. This should
prevent d_names data from being overwritten (likely causing garbage in
file browser and other strange symptoms).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30122 a1c6a512-1295-4272-9138-f99709370657
2011-07-04 17:13:48 +00:00
Amaury Pouly
86c64d4151 imx233: add missing i2c file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30121 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:22:09 +00:00
Amaury Pouly
e36b20c4a1 imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30120 a1c6a512-1295-4272-9138-f99709370657
2011-07-03 15:18:41 +00:00
Michael Sevakis
22b6def065 Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30119 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 11:55:38 +00:00
Rafaël Carré
a1e1892b0f as3525: make interrupts struct static and merge declaration & definition
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30116 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:49:09 +00:00
Amaury Pouly
e34eaf300c imx233/fuze+: simplify ssp pin code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30113 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:28:06 +00:00
Amaury Pouly
88f75d096e imx233/fuze+: don't compile {touchpad code,sd} in bootloader mode, fix style in mmc
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30112 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:21:06 +00:00
Amaury Pouly
82ecc75e68 imx233/fuze+: make config.h more correct, remove logo from bootloader, update linker file and crt0 to produce a single blob into dram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30111 a1c6a512-1295-4272-9138-f99709370657
2011-07-02 02:12:10 +00:00