summaryrefslogtreecommitdiffstats
path: root/services/audioflinger
Commit message (Collapse)AuthorAgeFilesLines
* am ba20a086: am bc167f83: resolved conflicts for merge of 84fb58bd to ↵Eric Laurent2015-08-203-7/+22
|\ | | | | | | | | | | | | lmp-mr1-dev * commit 'ba20a08670dfb3bb0ab58b0e1e48fe1178c7cfcb': DO NOT MERGE - audio flinger: fix fuzz test crash
| * resolved conflicts for merge of 84fb58bd to lmp-mr1-devEric Laurent2015-08-183-7/+22
| |\ | | | | | | | | | Change-Id: I9b2b1ff690d35e0da644bdb52c8c42a72e5fd4f6
| | * am bdb5e497: Merge "DO NOT MERGE - audio flinger: fix fuzz test crash" into ↵Eric Laurent2015-08-183-7/+23
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | lmp-dev * commit 'bdb5e49787dcb56fec68a2410a0985bfe388cd14': DO NOT MERGE - audio flinger: fix fuzz test crash
| | | * DO NOT MERGE - audio flinger: fix fuzz test crashEric Laurent2015-08-183-7/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear output stream pointer in duplicating thread when the main output to which it is attached is closed. Also do not forward master mute and volume commands to duplicating threads as this is not applicable. Also fix logic in AudioFlinger::primaryPlaybackThread_l() that could accidentally return a duplicating thread. This never happens because the primary thread is always first in the list. Bug: 20731946. Change-Id: Ic8869699836920351b23d09544c50a258d3fb585 (cherry picked from commit f6870aefc5e31d4220f3778c4e79ff34a61f48ad)
| | * | am 995599cb: audioflinger: fix duplicating thread output buffers clearEric Laurent2014-11-101-1/+5
| | |\ \ | | | |/ | | | | | | | | | | | | * commit '995599cbd6ada739c257716a6d8b90eee6d61473': audioflinger: fix duplicating thread output buffers clear
| | | * audioflinger: fix duplicating thread output buffers clearEric Laurent2014-11-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also clear mix buffer in DuplicatingThread::threadLoop_mix() instead of just sink buffer when output threads are not ready. Bug: 18262127. Change-Id: I4c22bbeaccdcc8d7c10c5882dde3439eb73d6ede (cherry picked from commit 02b5708776ba2a9b4ff8c09008483aef7dbe38c7)
* | | | am 78c02ddb: am cfa5bf04: Merge "make libserviceutility a shared lib" into ↵Chong Zhang2015-01-071-4/+10
|\ \ \ \ | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lmp-mr1-dev * commit '78c02ddb6bf0d676160244a62c11dceb68301b73': make libserviceutility a shared lib audio policy: fix remote mic capture audio policy: suppport for dynamic source Fix overload of SoftVideoDecoderOMXComponent::updatePortDefinitions Fix race condition in signaling completion for decode. AnotherPacketSource: need reset some members before returning from queueDiscontinuity(). Fix looping sound playback AnotherPacketSource.cpp: Do not queue discontinity signal buffer resulted from seek.
| * | | Merge "make libserviceutility a shared lib" into lmp-mr1-devChong Zhang2015-01-071-4/+10
| |\ \ \
| | * | | make libserviceutility a shared libChong Zhang2015-01-071-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so that we have only one getpid_cached in mediaserver process bug: 18919657 Change-Id: Iff3cd932c9110e874b3885f79705f49bf3e3f1fc
* | | | | am 6ab33981: am 610255e8: Merge "audioflinger: pause HW A/V sync output when ↵Eric Laurent2015-01-072-5/+13
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | AudioTrack underruns" into lmp-mr1-dev * commit '6ab33981d45cd69e683a143fec6530e66bd3e371': audioflinger: pause HW A/V sync output when AudioTrack underruns
| * | | | Merge "audioflinger: pause HW A/V sync output when AudioTrack underruns" ↵Eric Laurent2015-01-072-5/+13
| |\ \ \ \ | | | | | | | | | | | | | | | | | | into lmp-mr1-dev
| | * | | | audioflinger: pause HW A/V sync output when AudioTrack underrunsEric Laurent2014-12-192-5/+13
| | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not standby, starve or feed 0s to the audio HAL on direct output using HW A/V sync mode. Bug: 17883772. Change-Id: I11e6c97ec24360d75f9b602814d40a54b60cb7a7
| * | | | DO NOT MERGE - fix memory leak in PatchPanelsoon1.choi2015-01-051-0/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the audio patch is created, audio patch with same handle is removed from vector for patches. At this time, Patch allocated in the heap is not freed. This causes memory leaks in the mediaserver. Bug: 18904322. Change-Id: Id0d28c36a7e7fbf473753bf4ead7518f28c1b998
* | | | am 76758100: am 43637c2e: Merge "fix memory leak in PatchPanel"Eric Laurent2015-01-051-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * commit '76758100c85622c178355959e454651310ea0011': fix memory leak in PatchPanel
| * | | | fix memory leak in PatchPanelsoon1.choi2015-01-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before the audio patch is created, audio patch with same handle is removed from vector for patches. At this time, Patch allocated in the heap is not freed. This causes memory leaks in the mediaserver. Change-Id: Id0d28c36a7e7fbf473753bf4ead7518f28c1b998
* | | | | am d33712d7: am 145cf5d8: Merge "audioflinger: implement pause/resume for ↵Eric Laurent2014-12-173-30/+115
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | direct outputs" into lmp-mr1-dev * commit 'd33712d7ec5dcf427cc0be9b7d2ca1c99823c8e6': audioflinger: implement pause/resume for direct outputs
| * | | | Merge "audioflinger: implement pause/resume for direct outputs" into lmp-mr1-devEric Laurent2014-12-173-30/+115
| |\ \ \ \
| | * | | | audioflinger: implement pause/resume for direct outputsEric Laurent2014-12-163-30/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend pause/resume support to direct output threads (was only for offload threads). If the HAL implements pause/resume, track pause/resume is forwarded to the HAL. Pause, flush, resume sequence is respected by executing the HAL calls in the playback thread (same as offload). Make sure the track flags on client side are consistent with the flags on server side. Bug: 17883772. Change-Id: I89b360d69818f7a9204bd36e3ec63a79e106ecf1
* | | | | | am 99429b40: am 277c7b8c: Merge "Fix permission check for audio recording" ↵Jean-Michel Trivi2014-12-171-7/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit '99429b40411790b85e19c57392bbd292a237c470': Fix permission check for audio recording
| * | | | | Fix permission check for audio recordingJean-Michel Trivi2014-12-151-7/+0
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Define input types covering the different usecases for audio recording, and check the corresponding permissions when starting to record. Move the permission check from audio flinger to audio policy, as only the policy has the information to determine which permission to enforce. Fix missing permission when an application records audio and the audio is injected by an external policy. Bug 18736417 Change-Id: If7ec040502242c990ac8ea464db484339bdce573
* | | | | am 67c93ad7: am f1b12df3: Merge "Trigger error only when a template is ↵Chih-Hung Hsieh2014-12-121-6/+3
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | instantiated." * commit '67c93ad704d4418445c6d9693420f1cbaad98b0a': Trigger error only when a template is instantiated.
| * | | | Trigger error only when a template is instantiated.Chih-Hung Hsieh2014-12-111-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang compiler will check defintions and trigger undefined template error of 'android::CompileTimeAssert<false>' even when MixMul is not instantiated. Avoid such parse time error but trigger link error when the generic MixMul template is used. Change-Id: I84ef60a69fbfbeefc93b5654e4bdd54f9d530867
* | | | | am 6baa8fe7: am 94a92c69: Merge "[audio][audioflinger] Consume all frames ↵Phil Burk2014-12-111-2/+7
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | when a DirectThread is done." into lmp-mr1-dev * commit '6baa8fe747621b7121ff18dcdfab15d99c349c15': [audio][audioflinger] Consume all frames when a DirectThread is done.
| * | | | Merge "[audio][audioflinger] Consume all frames when a DirectThread is ↵Phil Burk2014-12-111-2/+7
| |\ \ \ \ | | | | | | | | | | | | | | | | | | done." into lmp-mr1-dev
| | * | | | [audio][audioflinger] Consume all frames when a DirectThread is done.Phil Burk2014-12-101-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug was causing movies to think there was still data left to play so they never finished. Bug: 18360054 Change-Id: If7aee81d62b7af8532abd14579677848a06fe2b1 Signed-off-by: Phil Burk <philburk@google.com>
* | | | | | am c49d9cda: am 2dda40d6: Merge "audio policy: add support for custom mixes" ↵Eric Laurent2014-12-101-1/+7
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit 'c49d9cda49dab8b7dd0376cf56476b3e1895d5c6': audio policy: add support for custom mixes
| * | | | | audio policy: add support for custom mixesEric Laurent2014-12-091-1/+7
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for custom mixes in AudioPolicyManager. Two methods are added to register or unregister a list of custom mixes with their attributes and format. getOutputForAttr() and getInputForAttr() first look for a match in registered mixes before defaulting to normal output/input selection Remote submix device connection disconnection now takes address into account to identify the correspnoding custom mix. Bug: 16009464. Change-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408
* | | | | am 561f50de: am db995fe3: Merge "Fix getTimestamp if offload thread is not ↵Andy Hung2014-12-081-1/+2
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | initialized." into lmp-mr1-dev * commit '561f50de82ce47f11ba8d4f25db1ca1d8467b2a7': Fix getTimestamp if offload thread is not initialized.
| * | | | Fix getTimestamp if offload thread is not initialized.Andy Hung2014-12-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Returns INVALID_OPERATION. Bug: 18605649 Change-Id: I440fb687fbf9249098e049982fa83bcd1515fd80
* | | | | am eb05bacc: am b0eb7b0a: Merge "__ARM_HAVE_HALFWORD_MULTIPLY is always true ↵Elliott Hughes2014-12-031-4/+1
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | for __arm__." * commit 'eb05baccea81f125d042be33c36dcf1893d903d9': __ARM_HAVE_HALFWORD_MULTIPLY is always true for __arm__.
| * | | | __ARM_HAVE_HALFWORD_MULTIPLY is always true for __arm__.Elliott Hughes2014-12-021-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And this is the only user of that macro... Bug: 18556103 Change-Id: I1b515a54ac8530b150f4dd93070db60c701a5603
* | | | | am bf14c62e: am 72bf901c: Merge "audio policy: new getOutputForAttr() ↵Eric Laurent2014-11-262-5/+9
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | prototype." into lmp-mr1-dev * commit 'bf14c62e7973ed793a3b00c2c67beca4484c1c7a': audio policy: new getOutputForAttr() prototype.
| * | | | audio policy: new getOutputForAttr() prototype.Eric Laurent2014-11-252-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update getOutputForAttr() prototype and group all logic dealing with audio attributes to stream type conversion in audio policy manager. getOutputForAttr(): - specifies the audio session (for future use) - returns a status code - receives either stream type (for legacy) or audio attributes - returns an updated streamtype Remove logic dealing with legacy stream types to attributes conversion from AudioTrack. Use correct type for audio sessions in other APIs (startOutput() ...). releaseOutput() specifies the audio session (for future use). Bug: 18067208. Change-Id: I1bfbe9626c04c7955d77f8a70aecfad2cb204817
* | | | | am 1a475921: am 223fd5c9: audio: new routing strategies and stream typesEric Laurent2014-11-265-18/+40
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '1a475921c0577a4650d1bbe40a85b732d1766939': audio: new routing strategies and stream types
| * | | | audio: new routing strategies and stream typesEric Laurent2014-11-215-18/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added new routing strategies and stream type for internal use by audio policy manager and audio flinger: - One for accessibility to allow different routing than media - One for re-routing (remote submix) in preparation of dynamic policies - Added stream type for "internal" audio flinger tracks used for audio patches and duplication. Bug: 18067208. Change-Id: I88f884b552e51e4a49c29125e5a1204cf58ff434
* | | | | am d48f1b68: am f50db74f: Merge "Fix format conversion in DuplicatingThread" ↵Glenn Kasten2014-11-211-8/+8
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | into lmp-mr1-dev * commit 'd48f1b68b2b824ffcfdbf6aa67ad4696020a8a11': Fix format conversion in DuplicatingThread
| * | | | Fix format conversion in DuplicatingThreadHaynes Mathew George2014-11-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DuplicatingThread converts PCM data from the format of the source thread to PCM_16BIT before writing to all connected output tracks. This needs to be done just once before writing to all tracks. Bug: 18461844 Change-Id: If05254f87f9198e09a0fa3c4e857afbb53ae7073
* | | | | am 902dc42d: am 07715ac3: Merge "C++11 compatibility."Dan Albert2014-11-204-12/+16
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | * commit '902dc42d79b075395d484ce1c71f215b199aaa2a': C++11 compatibility.
| * | | | C++11 compatibility.Dan Albert2014-11-204-12/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix string literal concatenation to not be interpreted as UD literals. * Add constexpr compatibility for non-integral static members. * Use __typeof__ instead of typeof (should become decltype once this actually becomes C++11). * Add an appropriate cast for atomic_uintptr_t, since moving to C++11 means moving from <stdatomic.h> to <atomic>, which has better typechecking (hooray for not macros!). Bug: 18466763 Change-Id: I9561dcb2526578687819ff85421ba80d8e1a9694
* | | | | am 9b323821: am e4044209: Merge "Disable clang++ due to compiler error."Chih-Hung Hsieh2014-11-192-0/+12
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '9b3238218cf24c75f92c5174e3a4edb8aff17047': Disable clang++ due to compiler error.
| * | | | Merge "Disable clang++ due to compiler error."Chih-Hung Hsieh2014-11-182-0/+12
| |\ \ \ \
| | * | | | Disable clang++ due to compiler error.Chih-Hung Hsieh2014-11-142-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang++ chokes on AudioMixer.cpp. It does not know "how to split this operator." BUG: 18373866 Change-Id: I3d588d44596c7c3b6f97e5f822545e015b074206
* | | | | | am a3e2c146: am 4d0a5985: Merge "Prevent stopped audio tracks from mixing ↵Andy Hung2014-11-181-8/+9
|\ \ \ \ \ \ | | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | data" into lmp-mr1-dev * commit 'a3e2c146eda841d84faa0093d26d7414de78bbaa': Prevent stopped audio tracks from mixing data
| * | | | | Prevent stopped audio tracks from mixing dataAndy Hung2014-11-171-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Static tracks should have zero framesReady when stopping or stopped, to prevent mixer from running potentially indefinitely with loop mode. Bug: 16070883 Change-Id: Iab9968044d1a6f8543bbcbfb246f49f27d68cace
* | | | | | am 2716969d: resolved conflicts for merge of 3bc345f5 to stage-aosp-masterElliott Hughes2014-11-171-7/+0
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | * commit '2716969d2b88e85a6ed5a766b54a0a34dc137118': libcutils no longer requires that its users configure ANDROID_SMP.
| * | | | | libcutils no longer requires that its users configure ANDROID_SMP.Elliott Hughes2014-11-171-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ib91ff0696ab2472c62168eb5261bbda5d22f623e
* | | | | | resolved conflicts for merge of e78a27ca to lmp-mr1-dev-plus-aospMarco Nelissen2014-11-172-2/+2
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | Change-Id: If10a9cc17245f95d5e10b1507445abbb4020670e
| * | | | | Update calls to IInterface::asBinder()Marco Nelissen2014-11-172-2/+2
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to use the new static version. Change-Id: Ia7b10eb38ca55b72278bfd33d3bf647f338b4e6a Conflicts: media/libmedia/IAudioFlinger.cpp media/libmedia/IMediaPlayer.cpp media/libstagefright/CameraSource.cpp
* | | | | am 2f702c9b: am 43e10bb7: Merge "Move to libc++."Dan Albert2014-11-111-14/+3
|\ \ \ \ \ | |/ / / / | | | | | | | | | | | | | | | * commit '2f702c9bc0d07f5d48f6f50586b1e11d9ac59381': Move to libc++.
| * | | | Move to libc++.Dan Albert2014-11-111-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also cleans up some makefile cruft. Bug: 15193147 Change-Id: Ia53ca4f6fb2153f4e77e6f696eb27dcaae73a78e