1
0
Fork 0
forked from len0rd/rockbox
Commit graph

25 commits

Author SHA1 Message Date
Thomas Martitz
9f242e7be4 android: Rewrite PCM playback without OnPlaybackPositionUpdateListener.
The old way actually mis-used the API (I misunderstood the docs) because
it specified the marker position as a "low buffer watermark" but instead of a
future playback head position.

The replacement is a simple thread that writes the data regardless of the
filling level of the buffer (write() will just block) and polls the playback
state periodically.

Change-Id: If29237cee4ce78dc42f5a8320878bab0cafe78f7
Reviewed-on: http://gerrit.rockbox.org/422
Tested-by: Dominik Riebeling <Dominik.Riebeling@gmail.com>
Reviewed-by: Thomas Martitz <kugel@rockbox.org>
2013-04-01 11:26:12 +02:00
Thomas Martitz
d798c721e5 android: Update to SDK r16 and ndk r8d.
SDK r17 is out, however there it only ships a x86 system image for r16 so
it's preferable.

Change-Id: Idc4d375debf407a36c2dc6421420bdbd74ab25ca
2013-01-09 10:33:08 +01:00
Thomas Martitz
c8317eb596 android: clean-up and some refactoring in java code.
Change-Id: I78cadb0b71bcb65a55006bf52cfe3e6cda891a38
2012-03-25 22:28:07 +02:00
Thomas Martitz
c6ca81329a Android: Fix a few java warnings. Upgrade ndk platform to 2.0 (don't support 1.6 anymore).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30293 a1c6a512-1295-4272-9138-f99709370657
2011-08-14 08:55:16 +00:00
Thomas Martitz
02b2b285d6 Android: Slightly rework logging to logcat by offloading duplicated code to a new helper class.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30161 a1c6a512-1295-4272-9138-f99709370657
2011-07-18 21:26:03 +00:00
Thomas Martitz
dace72166e Android: Greatly simplify the pcm callback mechanism on both, the Java and the C side. Should be more reliable now (if the old wasn't already).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29963 a1c6a512-1295-4272-9138-f99709370657
2011-06-05 09:44:57 +00:00
Thomas Martitz
b9747ca206 Hopefully FS#12064 - Android: Possible fix for audio stopping on high CPU load.
It's not enterly clear what fixed it but it seems to be a combination of
increasing the buffer size and reducing the amount of code run in the callback.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29961 a1c6a512-1295-4272-9138-f99709370657
2011-06-04 20:39:56 +00:00
Björn Stenberg
ce755dd9c5 Only set volume on SYS_VOLUME_CHANGED the first time. Workaround for FS#12034.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29663 a1c6a512-1295-4272-9138-f99709370657
2011-03-31 07:04:44 +00:00
Björn Stenberg
e50cc0e3d7 Listen to and follow external Android volume changes. (Based on FS#11914 by Maurus Cuelenaere)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29586 a1c6a512-1295-4272-9138-f99709370657
2011-03-14 12:25:48 +00:00
Björn Stenberg
00f75c92bf Use the pcm volume to add finer steps between every android stream volume step.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29573 a1c6a512-1295-4272-9138-f99709370657
2011-03-11 20:40:19 +00:00
Maurus Cuelenaere
78d0fdab9c Android: get rid of warnings (no functional changes)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29566 a1c6a512-1295-4272-9138-f99709370657
2011-03-11 15:46:02 +00:00
Thomas Martitz
e6ae867206 Android: Remove notification item on pausing too.
Technically, the difference between stop and pause isn't important enough to keep it when no music is playing. This is how other media apps also act.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29405 a1c6a512-1295-4272-9138-f99709370657
2011-02-26 20:27:00 +00:00
Antoine Cellerier
c0c769c5a8 Add widgets to android port.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29170 a1c6a512-1295-4272-9138-f99709370657
2011-01-29 20:47:32 +00:00
Jonathan Gordon
26f7ee13ce Clean up usage of RockboxService. Add a proper way to check if rockbox is actually running (checking RockboxService.fb != null was very very bad)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28406 a1c6a512-1295-4272-9138-f99709370657
2010-10-31 10:35:42 +00:00
Thomas Martitz
6bb7522852 Initialize (instantiate) RockboxFramebuffer from the C code like with the othe java objects.
Remove some @Override annotations to make the Java code build with certain javac versions.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28386 a1c6a512-1295-4272-9138-f99709370657
2010-10-29 23:12:08 +00:00
Thomas Martitz
51c91c599b Adhere to the 80-char line width limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28067 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 20:10:05 +00:00
Thomas Martitz
c98f5845f6 Redo r28059, minBufferSize() turned out a bit more unstable on my Legend. Now use the MAX() of the old buffer and minBufferSize()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28066 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 20:00:27 +00:00
Thomas Martitz
282adacb54 Code style changes in the java part (whitespaces and braces) to match Rockbox coding style.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28065 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 19:56:13 +00:00
Thomas Martitz
cbbbe60dbf Use getMinBufferSize instead of hardcoding a buffer size.
Seems to fix problems on Samsung Galaxy S, thanks to István Nagy.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28059 a1c6a512-1295-4272-9138-f99709370657
2010-09-12 09:42:21 +00:00
Maurus Cuelenaere
e726e53da6 Android port: use Arrays.fill() instead of a for-loop for clearing a byte array
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27831 a1c6a512-1295-4272-9138-f99709370657
2010-08-16 20:12:01 +00:00
Thomas Martitz
4a3e6dbe8f A bit of cleanup.
Replace // with /* */ style comments
Cleanup copy&paste from the doc examples.
Don't pretend to handle exception we don't handle actually.
cleanup imports

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27754 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 16:44:06 +00:00
Thomas Martitz
4aa3d01066 Run the pcm callback from a separate OS thread, that seems to make audio playback
much more reliable. Especially on the broken HTC phones. Now it recovers from
stuttering instead of simply stopping playback on my phone.

Previously it was run on the main/UI thread (the docs lie in that regard), which
I suspect happened to be blocked if it's in the background and tries to
get too much CPU.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27753 a1c6a512-1295-4272-9138-f99709370657
2010-08-08 15:53:02 +00:00
Thomas Martitz
bd9c0b21d6 A bit of work in the pcm driver. Should be a bit more efficient, but more importantly more dependable. Stopping playback now properly recovers if playback crashed for some reason (shouldn't happen of course).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27698 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 18:34:32 +00:00
Thomas Martitz
546cd48504 Show/hide notification area icon when starting/stopping playback.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27694 a1c6a512-1295-4272-9138-f99709370657
2010-08-04 14:34:26 +00:00
Thomas Martitz
240923a801 Rockbox as an application: Commit current Android port progress.
General state is: Rockbox is usable (plays music, saves configuration, touchscreen works too).
Problems:
 - Playing music in the background (i.e. when switching to another app) doesn't work reliably, but I'm working on that now.
 - no cabbiev2 (only some preliminary files for it), no other default theme.
 - screen flickers sometimes if the updates are too frequent
 - no multi screen apk/package
 - strange behavior when a phone call comes in

The java files (and the eclipse project) resides in android/, which is also supposed to be the build folder.
I've put a small README in there for instructions. There are some steps needed after the make part, which are described there,
and which eclipse mostly handles. But there ought to be some script/makefile rules which do that instead in the future.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27668 a1c6a512-1295-4272-9138-f99709370657
2010-08-02 20:34:47 +00:00