summaryrefslogtreecommitdiffstats
path: root/media/java
Commit message (Collapse)AuthorAgeFilesLines
* Changed type of reverb presets from int to shortEric Laurent2010-08-261-7/+7
| | | | | | | Changed the type of reverb preset constants exposed by the PresetReverb API to match the type of the setPreset() method parameter. Change-Id: I786764b5279c60f2368f5a0372f78da65ec54e4f
* Audio Effects: fixed "strength supported" parameter size.Eric Laurent2010-08-182-2/+2
| | | | | | | | The "strength supported" parameter for bass boost and virtualizer effect was incorrectly using a short value whereas it should be an int. This is to comply to the definition of boolean type in OpenSL ES that is uint32. Change-Id: I74ccb61dcc70fc9d390524a1ca5bbbd8b13ab1af
* Merge "Fix bug 2684341 Don't steal the media button event from the phone app ↵Jean-Michel Trivi2010-08-091-3/+19
|\ | | | | | | is the phone is ringing, even in silent mode." into gingerbread
| * Fix bug 2684341 Don't steal the media button event from the phoneJean-Michel Trivi2010-08-091-3/+19
| | | | | | | | | | | | | | | | | | app is the phone is ringing, even in silent mode. Use the PhoneStateListener to know whether the phone is ringing, as the mode is not MODE_RINGTONE when ringing in silent mode. Change-Id: Iede350cecde0b663d50f9b4a57f9a9ef08066c0d
* | Fixed several audio effects problems.Eric Laurent2010-08-091-7/+6
|/ | | | | | | | | | - Fixed constant inversions in AudioEffect.java - Do not return error when enabling an already enabled effect - Update cached effect state in native AudioEffect class when effect is enabled/disabled by command() method - Remove click when restarting effect during disable sequence - Fixed problem in master mute management when volume control is delegated to effect. Change-Id: I6df4ce9fcc54fdc7345df858f639d20d802d6712
* am 5b86de94: fix doc bugsScott Main2010-08-041-1/+1
|\ | | | | | | | | | | | | Merge commit '5b86de94a163ce4c52ab08a9820f9d78414e1767' into gingerbread * commit '5b86de94a163ce4c52ab08a9820f9d78414e1767': fix doc bugs
| * fix doc bugsScott Main2010-08-041-1/+1
| | | | | | | | Change-Id: Ic0cec3818fdc7692ea7aa3152ecb444203097157
| * Fix issue 2811538: System server crash when disconnecting BT headset after ↵Eric Laurent2010-07-011-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Support for Gtalk video, includes AMR/H.263 assembler and packetization ↵Andreas Huber2010-08-041-0/+3
| | | | | | | | | | | | support, extensions to MediaRecorder to stream via RTP over a pair of UDP sockets as well as various fixes to the RTP implementation. Change-Id: I95b8dd487061add9bade15749e563b01cd99d9a6
* | NEW_API: Unhide audio effect APIs.Eric Laurent2010-08-049-173/+148
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change unhides all public APIs for controling audio effects exposed by the following classes: - AudioEffect - BassBoost - EnvironmentalReverb - Equalizer - PresetReverb - Virtualizer - Visualizer Also fixes several problems in javadoc. Change-Id: I541ee4ad0232312ec720545737cbcdb8c9a82597
* | Audio effects: aligned Equalizer API argument types on OpenSL ES SLEqualizerItf.Eric Laurent2010-07-301-36/+24
| | | | | | | | | | | | | | | | | | Modified types of some arguments and returned values of the Equalizer class from int to short to match those defined by OpenSL ES SLEqualizerItf interface. Also fixed a problem with set properties in equalizer engine implementation. Change-Id: I75894bad0cb67b01c18ca5e22f9687e75ee491b8
* | Audio Effects: added methods to effects java classes to store and load ↵Eric Laurent2010-07-275-14/+549
| | | | | | | | | | | | | | | | | | | | | | | | | | | | current effect settings in a single call. Addional changes: - Fixed simulator build - Use effect interface UUIDs from OpenSL ES includes when available - Added cleanspec rules to remove now obsolete test effect libraries - Fixed bug in AudioEffect JNI setParameter function. Change-Id: Ic25ddb135e2cec5a68c181d727321f5ac7a1ab6b
* | Added support for auxiliary audio effects to AudioTrack and MediaPlayer.Eric Laurent2010-07-212-2/+108
| | | | | | | | | | | | | | | | Added methods to AudioTrack and MediaPlayer java classes to enable use of auxiliary audio effects. The effect can be attached and detached by specifying its ID and the send level controlled. Change-Id: Ie74ff54a453096a742688476f612ce355543b6f3
* | Added JAVA classes to control bass boost, equalizer, reverberation and ↵Eric Laurent2010-07-085-0/+1593
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | virtualizer Effects. Defined the following JAVA classes on top of AudioEffect class to facilitate control off built-in audio effects with APIs aligned with interfaces defined in OpenSL ES specification: - BastBoot.java - Equalizer.java - PresetReverb.java - EnvironmentalReverb.java - Virtualizer.java Split reverb API header file in two, one for preset reverb and one for environmental reverb. Some changes in test reverb to support preset reverb. Change-Id: Ie0a5ba06002e63dfd6da22cace5568c1e0b76ea1
* | Merge "Added Visualizer effect." into gingerbreadEric Laurent2010-07-072-310/+913
|\ \
| * | Added Visualizer effect.Eric Laurent2010-07-072-310/+913
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The visualizer enables application to retrieve part of the currently playing audio for visualization purpose. It is not an audio recording interface and only returns partial and low quality audio content as a waveform or a frequency representation (FFT). Removed temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method. This commit also includes a change in AudioEffect class: - the enable()/disable() methods have been replaced bya more standard setEnabled() method. - some fixes in javadoc Change-Id: Id092a1340e9e38dae68646ade7be054e3a36980e
* | | Merge "Fix issue 2811538: System server crash when disconnecting BT headset ↵Eric Laurent2010-07-011-2/+13
|\ \ \ | | | | | | | | | | | | after using SCO off call." into gingerbread
| * | | Fix issue 2811538: System server crash when disconnecting BT headset after ↵Eric Laurent2010-06-301-2/+13
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: I29a28fcce1a579217cea271956a55778e05d3e37
* | | Add multiple camera support for in MediaProfiles.Chih-Chung Chang2010-07-012-12/+44
|/ / | | | | | | Change-Id: Ie89568a0f5f5fd08ede77e33f9a559215d6bed9a
* | Added support for audio sessions in MediaPlayer and AudioTrack.Eric Laurent2010-06-222-2/+112
| | | | | | | | | | | | Audio sessions are used to associate audio effects to particular instances (or groups) of MediaPlayers or AudioTracks. Change-Id: Ib94eec43241cfcb416590f435ddce7ab39a07640
* | Fix issue 2301630: Mismatch of state occurs when media server is killed ↵Eric Laurent2010-06-221-0/+9
| | | | | | | | | | | | | | | | | | while in-call. Use setParameters() API to indicate to audio HAL that we are restarting the media server after a crash. The use made by audio HAL implementation of this indication is platform specific. Change-Id: I085b174fa1474575da0e4d295921079b6b68efb8
* | Merge "Issue 2667802: [Audio Effect Framework] AudioEffect base class and ↵Eric Laurent2010-06-141-0/+954
|\ \ | | | | | | | | | JNI." into kraken
| * | Issue 2667802: [Audio Effect Framework] AudioEffect base class and JNI.Eric Laurent2010-06-111-0/+954
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added AudioEffect C++ class. AudioEffect is the base class for effect specific implementations, OpenSL ES effect interfaces and audio effect JNI. Added the AudioEffect JNI and AudioEffect JAVA class. AudioEffect is the base class to implement more specific JAVA classes to control audio effects from JAVA applications. Change-Id: If300a1b708f2e6605891261e67bfb4f8330a4624
* | | Switch stagefright's approach to prefetching to the new model. The java ↵Andreas Huber2010-06-101-0/+9
|/ / | | | | | | | | | | MediaPlayer is now notified about rebuffering start/end via info messages. Change-Id: If8185ba329ce8b6663b1ad39a4efb0ad3be81df2
* | Merge "Pass BluetoothDevice to the Bluetooth Headset calls." into krakenJaikumar Ganesh2010-06-071-7/+11
|\ \
| * | Pass BluetoothDevice to the Bluetooth Headset calls.Jaikumar Ganesh2010-06-021-7/+11
| | | | | | | | | | | | | | | | | | | | | This is to support multiple headsets at the same time, atleast at the framework level. Change-Id: I91d05c6c2828c9a09d00806d5e79f1e9c9c7cf84
* | | Initial checkin of mpeg2 transport stream parser for stagefright.Andreas Huber2010-06-071-1/+4
| | | | | | | | | | | | Change-Id: I328ce77404daf7127933b48c9d58ed504fb8fc6f
* | | am c40209ac: am 28a92b2e: Merge "Fix a Javadoc to clarify when ↵James Dong2010-06-031-2/+6
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | setAudioStreamType() should be called." into froyo Merge commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8' into kraken * commit 'c40209ac60a64a7c08b0d0028060d5308fd7a0b8': Fix a Javadoc to clarify when setAudioStreamType() should be called.
| * | am 28a92b2e: Merge "Fix a Javadoc to clarify when setAudioStreamType() ↵James Dong2010-06-031-2/+6
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | | | | should be called." into froyo Merge commit '28a92b2e76a13c18dc23e5239717b122a174182f' into froyo-plus-aosp * commit '28a92b2e76a13c18dc23e5239717b122a174182f': Fix a Javadoc to clarify when setAudioStreamType() should be called.
| | * Fix a Javadoc to clarify when setAudioStreamType() should be called.James Dong2010-06-031-2/+6
| | | | | | | | | | | | | | | | | | bug - 2737926 Change-Id: I8718c3d1a544cf5cb1b7e98b6c24fe0e6d3574ba
* | | Add support for gps altitude EXIF tags.Wu-cheng Li2010-05-271-5/+35
| | | | | | | | | | | | | | | | | | Also improve the precision of getLatLong(). Change-Id: Id2c60f0d1d19e9da173b5ec1228f03c2195e189f
* | | Support for media extraction from .mkv/.mka Matroska files in stagefright.Andreas Huber2010-05-201-2/+7
|/ / | | | | | | | | Change-Id: I4c26579828ad575523ccf58b0b5cb144046c04ca related-to-bug: 2483739
* | am b1235a57: Merge "Hide two audio focus methods." into froyoXavier Ducrohet2010-05-121-0/+2
|\ \ | |/ | | | | | | | | | | Merge commit 'b1235a57a09174179553acecef2370354bdcbf41' into froyo-plus-aosp * commit 'b1235a57a09174179553acecef2370354bdcbf41': Hide two audio focus methods.
| * Merge "Hide two audio focus methods." into froyoXavier Ducrohet2010-05-111-0/+2
| |\
| | * Hide two audio focus methods.Xavier Ducrohet2010-05-111-0/+2
| | | | | | | | | | | | Change-Id: I53ddf736892cde8edfaffa7d69dd9c234df52efa
* | | am 836b2d75: Merge "Don\'t clear the _data column in the audio_meta table, ↵Marco Nelissen2010-05-121-2/+5
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | since it isn\'t needed, and causes a sqlite constraint exception. Bug 2671792." into froyo Merge commit '836b2d75ef86487ecae0ae834ecbab324fd99471' into froyo-plus-aosp * commit '836b2d75ef86487ecae0ae834ecbab324fd99471': Don't clear the _data column in the audio_meta table, since it isn't
| * | Don't clear the _data column in the audio_meta table, since it isn'tMarco Nelissen2010-05-111-2/+5
| |/ | | | | | | | | | | | | needed, and causes a sqlite constraint exception. Bug 2671792. Change-Id: Ie6e5d0369c3750739fa155e651be4d87c016a41f
* | am 3e90c76c: Merge "Update javadoc in android.media.AudioManager to not hide ↵Jean-Michel Trivi2010-05-121-9/+15
|\ \ | |/ | | | | | | | | | | | | | | the registerAudioFocusListener() methods." into froyo Merge commit '3e90c76c12803cd1b116030fd124b7b870d25342' into froyo-plus-aosp * commit '3e90c76c12803cd1b116030fd124b7b870d25342': Update javadoc in android.media.AudioManager to not hide the
| * Update javadoc in android.media.AudioManager to not hide theJean-Michel Trivi2010-05-111-9/+15
| | | | | | | | | | | | registerAudioFocusListener() methods. Change-Id: I8df37bd89df6f492aeb70fa636200552140578f9
* | am aaa01b18: Merge " Fix bug 2670395 and 2599698 When the user ↵Jean-Michel Trivi2010-05-122-22/+25
|\ \ | |/ | | | | | | | | | | | | | | 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 listen Merge commit 'aaa01b181c0eea4ff6496d446e25e499b12ca14c' into froyo-plus-aosp * commit 'aaa01b181c0eea4ff6496d446e25e499b12ca14c': Fix bug 2670395 and 2599698
| * Fix bug 2670395 and 2599698Jean-Michel Trivi2010-05-112-22/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | merge from open-source masterThe Android Open Source Project2010-04-281-1/+1
|\ \ | |/ |/| | | Change-Id: I20fa79289d84a892def9e7f6d6e7026d9de48010
| * speling fixhugh kennedy2010-04-281-1/+1
| | | | | | | | Change-Id: Ia9db6e1c5d1cd31fd028d551cc357a76049ce137
* | Fix bug 2619062 Music is routed to Phone speaker, though it isJean-Michel Trivi2010-04-231-2/+17
| | | | | | | | | | | | | | | | | | | | 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
* | Update AudioService to reflect phone state changes with AudioFocus.Jean-Michel Trivi2010-04-201-29/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge "When updating existing entries in the media database, don't update ↵Marco Nelissen2010-04-201-2/+6
|\ \ | | | | | | | | | 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
| * | When updating existing entries in the media database, don't updateMarco Nelissen2010-04-201-2/+6
| | | | | | | | | | | | | | | | | | | | | 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
* | | Fix issue 2602879: camera shutter sound not playing.Eric Laurent2010-04-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Fix issue 2604270 Device auto connects to Car Dock (Media profile) after ↵Eric Laurent2010-04-201-0/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Fix issue 2592680: Saved ringer volume forced to 0 when receiving a call in ↵Eric Laurent2010-04-141-17/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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