1589 Commits

Author SHA1 Message Date
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
Gloria Wang
b19da8e187 Fix for 2581725. Keep the last frame after resume(), and delete it
in the next suspend() or reuse it if no new frame is available.

Change-Id: I84286030eaae9061077d6ccb485b7dd53ef05341
2010-04-13 09:46:40 -07:00
Jean-Michel Trivi
4c637b9e34 Fix bug 2578813 Delay pausing music and routing audio for car docks
Moved broadcast of ACTION_AUDIO_BECOMING_NOISY from BluetoothA2dpService
to AudioService.
Broadcast ACTION_AUDIO_BECOMING_NOISY when disconnecting an A2DP
device.
Disconnect from A2DP docks with a delay to handle transient
disconnections.
Cancel delayed A2DP disconnections when connecting to a dock as this
can be a reconnection after a transient disconnection.

Change-Id: I1ee9e99f3ffa20727af38a4c4c8711942894a696
2010-04-13 09:44:08 -07:00
Daniel Sandler
bcac496076 Honor the "Never vibrate" setting for incoming calls.
Bug: 2579295
Change-Id: Ia4207492c5dfa2c39d27372c4892b60121b6d9e8
2010-04-13 12:18:44 -04:00
Andreas Huber
d0332ad8d2 Distinguish QCELP audio from mpeg4 audio, ignore QCELP audio tracks since we don't have a decoder for it, ignore potentially malformed metadata for AMR NB and WB tracks.
Change-Id: Ic9a9198413431db4ea40bb63b9de91aa8a7183af
related-to-bug: 2587341
2010-04-12 16:05:57 -07:00
Andreas Huber
6dbf80d086 Merge "Fix a race condition in TimedEventQueue, an event may be cancelled while we're waiting for its scheduled time to come in which case we'd be removing it from the queue twice." into froyo 2010-04-12 14:16:34 -07:00
Andreas Huber
ea1d6712fe Fix a race condition in TimedEventQueue, an event may be cancelled while we're waiting for its scheduled time to come in which case we'd be removing it from the queue twice.
Change-Id: I4e42e318fd5373d1f352f54027d4bf823126266d
related-to-bug: 2585276
2010-04-12 13:15:48 -07:00
Jean-Michel Trivi
12221b6f7c Merge "Fix monkey bug 2586534 java.util.ConcurrentModificationException Unlike the other audio focus and media button stack handling methods, abandonAudioFocus() and unregisterAudioFocusClient() were not synchronized around their focus stack. This CL corrects this." into froyo 2010-04-12 12:05:08 -07:00
Andreas Huber
1d7a8b448e Merge "Fix a case where the aac hardware decoder is in a transition state and refused a fillbuffer request." into froyo 2010-04-12 11:02:27 -07:00