1597 Commits

Author SHA1 Message Date
Scott Main
5b86de94a1 fix doc bugs
Change-Id: Ic0cec3818fdc7692ea7aa3152ecb444203097157
2010-08-04 17:07:36 -07:00
The Android Open Source Project
27eecb704a Merge branch 'froyo' of git://android.git.kernel.org/platform/frameworks/base into HEAD 2010-07-29 17:45:56 -07:00
Jean-Baptiste Queru
83407b993f fix inaccurate copyrights
Change-Id: I33b0f68f2da34ca4728211d83159cf32a127f6dd
2010-07-29 17:41:35 -07:00
Andreas Huber
16263d9f8c Squashed commit of the following:
commit 4abf16bb04dc9695fedf4007a84f903074312ccd
Author: Andreas Huber <andih@google.com>
Date:   Tue Jul 20 09:21:17 2010 -0700

    Support a single format change at the beginning of audio playback. This way the AAC+ decoder may change its output format from what is originally encoded in the audio stream and we'll still play it back correctly.

    Change-Id: Icc790122744745e9a88099788d4818ca1e265a82
    related-to-bug: 2826841

commit 09c74da63e6ad5cb5dafb70f62696d75d2978967
Author: James Dong <jdong@google.com>
Date:   Sun Jul 18 17:57:01 2010 -0700

    Fix MPEG4Extractor to extract sampling frequency correctly when SBR is enabled.

    Change-Id: I883c81dad3ea465e71cb5590e89d763671a90ff8

commit f672bf2a782dc7d5fb6325d611a7fe17045dfe9a
Author: James Dong <jdong@google.com>
Date:   Thu Jul 8 20:56:13 2010 -0700

    Enable the support for decoding audio with AAC+ and eAAC+ features

    bug - 282684

    Change-Id: I73c8377af3cc4edd3ee7cea86dc3b1c369fbd78b

Change-Id: I012f1179e933b6d1345d2368f357576c722485f7
2010-07-29 09:45:06 -07:00
Eric Laurent
c03befe3d6 Fix issue 2811538: System server crash when disconnecting BT headset after using SCO off call.
Problem:
When the bluetooth device is removed, the AudioService clears all active SCO connections
and unlinks from the client application's binder interface death.
The problem is that the unlinking is done even if no more connections are active for a given client,
which throws a runtime exception that is not catched causing the system server to crash.

The fix consists in calling unlinkToDeath() in ScoClient.clearCount() only if the number of
active SCO connections for this client is not 0. The NoSuchElementException exception is also
catched when calling unlinkToDeath()

Change-Id: I7086424301fc63a5666da61c38169349d3e078f4
2010-07-01 16:23:34 -07:00
James Dong
39e876ad74 Merge "When filling the cache, we always time out waiting for a condition that won't occur. We are actually improving the power consumption for streaming applications like Pandora." into froyo 2010-06-16 16:10:52 -07:00
James Dong
1c8bc7bb99 When filling the cache, we always time out waiting for a condition that won't occur.
We are actually improving the power consumption for streaming applications like Pandora.

Change-Id: Id32bacbc962e8c69c056599479b308d6a07b7a20
2010-06-16 14:12:53 -07:00
Marco Nelissen
cad5726e3a TimedEventQueue is apparently important for glitch-free media playback, and so
having it inherit its priority from the thread that created it is a bad idea.
Instead, set the priority explicitly, and bump it to slightly higher than normal.

Change-Id: I01843f24905790ce2e2cde5d11a99346cfbf968d
2010-06-16 11:09:01 -07:00
Andreas Huber
2e3761ba43 Merge "Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle." into froyo 2010-06-03 15:28:13 -07:00
Andreas Huber
3c460f3da0 Changes to the prefetcher to allow for bursts of data to be transferred, hopefully allowing the radio to go to low-power mode while idle.
Change-Id: I03dbdac3cd250340059ea43b341129b30acce4e2
related-to-bug: 2736779
2010-06-03 14:43:57 -07:00
James Dong
9d96354d70 Fix a Javadoc to clarify when setAudioStreamType() should be called.
bug - 2737926

Change-Id: I8718c3d1a544cf5cb1b7e98b6c24fe0e6d3574ba
2010-06-03 10:37:28 -07:00
Yu Shan Emily Lau
48584d7b8f Added the runtime parameters for the mediarecorder stress test.
Set the total number of the stress loops of camera preview memory test to 200.

Change-Id: I5a0278095155afd669ffee9bd599ddfffdcc42bf
2010-05-25 16:42:57 -07:00
Andreas Huber
1919e5af3d Better handling of codec initialization failure in the player and thumbnail extractor. Return a runtime error instead of asserting if the software MPEG4/H.263 decoder fails to initialize.
Change-Id: I5cba02ee85a41e43c2623053de40f26e2cf2efe4
related-to-bug: 2699505
2010-05-20 10:37:06 -07:00
Andreas Huber
eb9128f9b0 Fix sampleTable instantiation, this makes sure that the sample table refers to the custom datasource that caches the metadata to prevent needless seeking.
Change-Id: I576178144ffd753b809e1c4ae269ffc3aa34b511
related-to-bug: 2686604
QA-Impact: well, ..., everything related to streaming mpeg4/aac content over http
2010-05-14 15:32:21 -07:00
Andreas Huber
3c78a1b589 Return a runtime error instead of asserting if the AACDecoder is passed an unsupported config.
Change-Id: Ie084ed4df5a5d286abd36d9149c2138f8e7ed08a
related-to-bug: 2682221
QA-impact: none
2010-05-13 09:19:35 -07:00
Xavier Ducrohet
b1235a57a0 Merge "Hide two audio focus methods." into froyo 2010-05-11 14:48:48 -07:00
Xavier Ducrohet
5f53f0883a Hide two audio focus methods.
Change-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa
2010-05-11 14:28:38 -07:00
Marco Nelissen
33f49c8377 Don't clear the _data column in the audio_meta table, since it isn't
needed, and causes a sqlite constraint exception.
Bug 2671792.

Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f
2010-05-11 13:09:06 -07:00
Andreas Huber
e0dc80f878 Merge "Support for customizable socket-read timeouts through the HTTP response." into froyo 2010-05-11 12:21:14 -07:00
Andreas Huber
d6ad7c85fa Merge "Better seek handling and proper reset of the vorbis decoder after a discontinuity (seek)" into froyo 2010-05-11 12:20:55 -07:00
Jean-Michel Trivi
46b3a1808a Update javadoc in android.media.AudioManager to not hide the
registerAudioFocusListener() methods.

Change-Id: I8df37bd89df6f492aeb70fa636200552140578f9
2010-05-11 11:22:54 -07:00
Andreas Huber
e67c1607cc Support for customizable socket-read timeouts through the HTTP response.
Specify a response header of "X-SocketTimeout: 15" to override the default timeout
of 5 secs with a timeout of 15 seconds. Specify a negative value to disable the
timeout altogether.

Change-Id: I545adf3d8b3f7efe5f8d081a641c6404440a77db
related-to-bug: 2675721
2010-05-11 11:10:21 -07:00
Andreas Huber
34c70709a6 Better seek handling and proper reset of the vorbis decoder after a discontinuity (seek)
Change-Id: I3c76d35da48e0964f7a0fa2816f8573b5e1a9436
related-to-bug: 2674036
QA-impact: low, only affects ogg-vorbis playback through http
2010-05-11 10:11:55 -07:00
Jean-Michel Trivi
392a2bbb52 Fix bug 2670395 and 2599698
When the user selects a "Silent" notification sound, the Uri encoded
    path is an empty string. Setting this Uri as the data source of the
    MediaPlayer used to play notifications caused the completion listener
    to not be called, which with the AudioFocus logic causes the Music
    app to pause and never resume. The NotificationPlayer modifications
    cause the MediaPlayer for the notification to only request audio
    focus when the data source is not empty.
    The audio focus code in AudioService is defensively synchronized
    against a unique lock, and the exception observed in bug 2670395
    is explicitely caught in case another edge case wasn't caught by
    this fix.
    The AudioFocus handling in AudioManager is modified so only the
    requestAudioFocus and abandonAudioFocus methods are meant to be
    used, as registerAudioFocusListener and unregisterAudioFocusListener
    provided no additional functionality over the request/abandon
    methods. abandonAudioFocus() also removes the listener from the
    map in AudioManager since after abandonning focus, the listener
    would no longer be called.

Change-Id: I3b553ee8a8163c25e01117d7e5479dd5fdfa7c6b
2010-05-11 09:20:49 -07:00
Andreas Huber
388379f8b4 A new OggExtractor/VorbisDecoder combo to support approximate seeking.
Change-Id: Id5d0c1c8b1adc62896bb5ed951f7b5cfda811e95
related-to-bug: 2654400
2010-05-07 12:01:45 -07:00
Andreas Huber
100ef9bee4 Merge "Disable vorbis seek when streaming from localhost." into froyo 2010-05-06 11:27:35 -07:00
Andreas Huber
62f7ffe106 Disable vorbis seek when streaming from localhost.
Change-Id: Icda523ae1c89e26482f1c1767fe3a8b9222bb30f
related-to-bug: 2654400
2010-05-06 10:31:57 -07:00
Dan Bornstein
2d315667ab For issue #2651381, allow library prelinking.
Change-Id: I119348b55ad0015a286e9c94709977cd1973a7e1
2010-05-05 14:41:41 -07:00
Andreas Huber
eb5eef3819 Support for Ogg Vorbis decoding in stagefright.
Set the magic property media.stagefright.enable-vorbis to true to use the new implementation instead of the standalon vorbis player for file-based playback. HTTP streaming of vorbis content will always go through stagefright.

Change-Id: Ie3843a99fadb22372f89540d0f8d65196e0c2af8
related-to-bug: 2654400
2010-05-04 11:58:16 -07:00
James Dong
374aee6888 Switch to use software MP3 decoder
Hardware MP3 decoder could lead to hang in the Music application, although the chance is very low.

bug - 2608400

Change-Id: Ia0b5b6521015fc8d3e086117fa914dcc20ace5bd
2010-04-26 10:23:30 -07:00
Jean-Michel Trivi
a847ba4080 Fix bug 2619062 Music is routed to Phone speaker, though it is
connected to A2DP media profile

When the phone is docked and using the dock A2DP, and the user
connects another A2DP device, make the dock unavailable immediately
before connecting the new A2DP device.

Change-Id: I82d53836fb509ee4ea7cdb68f467dfb946c634f8
2010-04-23 13:59:45 -07:00
Andreas Huber
9e609b0dfa Merge "Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead." into froyo 2010-04-20 16:29:23 -07:00
Andreas Huber
63fbd5ab8f Apparently select() does not immediately return if one of the masked socket descriptors is closed... Stop relying on select for read-with-timeout functionality and use SO_RCVTIMEO socket option instead.
Change-Id: Ic2d4a8f5b6bbf16772fba39377809ec68d249c1f
related-to-bug: 2611257
2010-04-20 15:56:36 -07:00
Jean-Michel Trivi
b4bccb6d8d Update AudioService to reflect phone state changes with AudioFocus.
Phone calls and rings are treated as a new client, with a dedicated
client ID that identifies it in the audio focus stack. When it is
present in the stack, others clients cannot request audio focus
(request is denied).
Because the phone state is now mostly handled like a new client,
there is no need monitor mode changes and to keep track of
undispatched focus changes, as those will delayed focus gains
will now automatically happen at the end of the call when the
phone client is removed from the focus stack.

Change-Id: I11ff73b015ab93f07040755fd8ee75c8d675e025
2010-04-20 15:23:39 -07:00
Andreas Huber
25dc5f30b2 Merge "Don't coalesce more than 250ms worth of encoded data into a single codec input buffer. This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place." into froyo 2010-04-20 14:48:45 -07:00
Andreas Huber
2dd8ff8c4f Don't coalesce more than 250ms worth of encoded data into a single codec input buffer.
This currently only applies to the component OMX.TI.AAC.decode, it is the only one to support coalescing in the first place.

In certain edge cases (encoded audio track contains silence), each buffer would turn out to be an amazing 6(!!!) bytes, we'd spend lots and lots of time streaming network data to fill the codec's buffers of size 6144 bytes with .. silence.

Change-Id: I9f449f310fc64ca384bd02e4a783e33cf5b46fcc
related-to-bug: 2609049
QA-Impact: streamed (http) playback of aac audio content on Droid.
2010-04-20 14:26:00 -07:00
Marco Nelissen
9b8b417cd1 Merge "When updating existing entries in the media database, don't update the is_music, is_ringtone, etc columns. This ensures that custom ringtones will still be shown in the ringtone picker after a rescan. Bug 2594125 Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2" into froyo 2010-04-20 11:24:10 -07:00
Marco Nelissen
c066557378 When updating existing entries in the media database, don't update
the is_music, is_ringtone, etc columns. This ensures that custom
ringtones will still be shown in the ringtone picker after a rescan.
Bug 2594125
Change-Id: I56761240d6f6e699514169d80a445317ba0de9e2
2010-04-20 09:47:31 -07:00
Eric Laurent
3891c4cc91 Fix issue 2602879: camera shutter sound not playing.
The problem occurs if the device is powered down in silent mode. When the device restarts,
AudioService reads current ringer mode from saved settings but does not call setRingerModeInt()
to perform actions required when ringer mode changes.
The volumes of streams affected by ringer mode are actually at 0 because they are also read from settings
but their mute state is not applied correclty. When we later exit from silent mode, the streams
other than STREAM_RING that are affected by ringer mode are not restored as they are not considered
muted. This applies to STREAM_SYSTEM but also to STREAM_NOTIFICATION if its volume is controlled independently
from STREAM_RING.

The fix consists in calling setRingerModeInt() when AudioService starts.

Change-Id: Ica75b9874938dda1bc1b634c3e97db4a650d295c
2010-04-20 09:40:57 -07:00
Eric Laurent
3b5912602b Fix issue 2604270 Device auto connects to Car Dock (Media profile) after undocking.
There was a regression introduced by change 4c637b9e34f4c8db69a64ad21a4e2bcfa7485b5f
fixing issue 2578813. As the A2DP device disconnection is notified to the audio policy manager
after a delay, there is a period during which the A2DP device is actually not connected but the
A2DP output is considered present by audio framework. If a playback is started during this period,
The A2DP output requests the activation of the A2DP sink which in turn triggers a reconnection
of the A2DP sink.

The fix consists in suspending the A2DP output immediately when receiving the A2DP disconnection
intent so that any activity on A2DP output is ignored until the output is actually closed by the
audio policy manager.

Change-Id: I16eaace45e12bfc970f50836b46a73b756b493f0
2010-04-20 07:01:00 -07:00
Eric Laurent
758dd527f6 Fix issue 2592680: Saved ringer volume forced to 0 when receiving a call in silent mode.
This is a regression introduced by change 5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7 for issue 2472495.
When AudioService changes audio mode, setMode() reapplies current volume for the default active stream
which in this case is STREAM_RING.
Because the new implementation of silent mode actually mutes the ringer stream,
setStreamVolumeInt() now applies the volume change received while in silent mode
to the last audible value and we end up clearing the last audible volume for ringer.

The fix consists in not modifying last audible value when the new value is 0.

Also removed obsolete code in setStreamVolumeInt() since new implementation of setRingerModeInt()
in change 5b4e654d0c7de8e4d58d73e73b0d5220f19b68f7.

Change-Id: I746f3bc1af39a602ce12d130ce592007b2d0ebb6
2010-04-14 10:52:01 -07:00
Eric Laurent
745b43c28f Merge "Fix issue 2589563: Able to set ringer volume to 0 outside of silent mode." into froyo 2010-04-14 10:39:32 -07:00
Eric Laurent
527c3ab51e Fix issue 2589563: Able to set ringer volume to 0 outside of silent mode.
The problem happens only if volume down key is pressed while
already in silent or vibrate mode. In this case, AudioService accepts
changing the last audible index for ringer volume from 1 to 0.
When volume up is pressed, current ringer volume value is restored from 0
instead of 1.

The fix consists in keeping last audible index at 1 once in silent of vibrate
mode even is volume down key is pressed.

Change-Id: Id08edd12ce985c22233124545eba2c3e4b8cdc8e
2010-04-14 09:32:17 -07:00
James Dong
42d66573ff Use PV_PLAYER to handle RTSP streaming
bug - 2594865

Change-Id: Ice5b89b1d53bbc4da033892fe545bdf51ac7267f
2010-04-14 08:57:14 -07:00
James Dong
e1130662d0 Snif more 3GPP file types according to http://www.ftyps.com/3gpp.html
bug - 2575956

Change-Id: Iaa79e74d3b0585397a7e833ec45472710fc52fa6
2010-04-13 15:09:26 -07:00
Andreas Huber
db281311a0 Merge "Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of "sine:[samplingrate]", i.e. sine:44100. Support for playing audio through to the speakers by using "-o" in addition to "-a"." into froyo 2010-04-13 12:16:08 -07:00
James Dong
c15f48d7d6 Merge "Don't set encoder component role while we query decoders" into froyo 2010-04-13 12:11:57 -07:00
Andreas Huber
662292ae2d Better diagnostics in the stagefright commandline tool, support for playing sine-tones using a filename of "sine:[samplingrate]", i.e. sine:44100. Support for playing audio through to the speakers by using "-o" in addition to "-a".
related-to-bug: 2553359
Change-Id: Ic49eb89feb62474d9513bc21571e0e8fe3a15e0b
2010-04-13 12:04:05 -07:00
James Dong
722d591842 Don't set encoder component role while we query decoders
bug - 2558515

Change-Id: I29683507d234d963994c782c07508034ea807739
2010-04-13 10:58:41 -07:00
Jean-Michel Trivi
c30890e102 Merge "Fix bug 2578813 Delay pausing music and routing audio for car docks" into froyo 2010-04-13 09:53:35 -07:00