summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | | | | | | | audioflinger: Fix for a deadlock in track creationHaynes Mathew George2014-03-042-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioFlinger enters a deadlock (with itself) on trying to free a RecordTrack or Track object that failed initialization. Clear this bad object from the caller instead. Bug: 12423233 Change-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16
* | | | | | | | | | | | Merge "AArch64: rewrite audioflinger's sinc resample by intrinsics."Glenn Kasten2014-04-231-151/+165
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | AArch64: rewrite audioflinger's sinc resample by intrinsics.Zhongwei Yao2014-04-101-151/+165
| | |_|_|_|_|_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass conformance test on armv7 and aarch64, performance test is done on armv7. Compared with original armv7 assembly version, this version has similar result. Here is performance data on pandaboard android4.4 (input: random wave file, unit: Mspl/s, toolchain:gcc 4.8): | | origin(assembly) | current(intrinsics) | C version | |----------------+------------------+---------------------+-----------| | single channel | 6.17 | 7.14 | 3.43 | | double channel | 5.24 | 5.63 | 3.50 | Change-Id: If5670218e1586e9dfd2b8d9c66a6880f3e4808ca
* | | | | | | | | | | | Merge "camera: set mNeedConfig after creating ZSL stream"Eino-Ville Talvala2014-04-211-0/+2
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | camera: set mNeedConfig after creating ZSL streamYuvraj Pasi2014-04-151-0/+2
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set mNeedConfig after creating ZSL stream, camera device will reconfigure for the case when only ZSL stream is changed. Change-Id: Ib592817f81125969824a1280349f77973116f375
* | | | | | | | | | | | media: use size_t for integer iterator to Vector::size()Mark Salyzyn2014-04-152-3/+3
|/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I0a744dc7815a86a993df9b0623440be620ec8903
* | | | | | | | | | | CameraService: deadlock fixKalle Lampila2014-03-251-0/+1
| |_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Release lock before return from CameraService::dump() Change-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774 Signed-off-by: Kalle Lampila <kallex.lampila@intel.com>
* | | | | | | | | | libcameraservice: build 64-bitColin Cross2014-03-211-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libcameraservice builds fine for 64-bit, remove LOCAL_32_BIT_ONLY Change-Id: I9f28bc42dc424dee9b92e6ab092f86d3aa1419b7
* | | | | | | | | | libcameraservice: fix 64-bit print format warningsColin Cross2014-03-2119-69/+80
| |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use PRId64 from inttypes.h to print nsecs_t (int64_t) Use %zu to print size_t Change-Id: I135620e0388db33587a8a7da393b48a45cb7275a
* | | | | | | | | Add libaudioresamplerGlenn Kasten2014-03-191-11/+18
| |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libaudioresampler is available in both 32-bit and 64-bit, unlike libaudioflinger which is currently 32-bit only. Bug: 8141282 Change-Id: I839f7b4e6aaed6984012ca6d514323f927669df6
* | | | | | | | Merge "AudioPolicyService: malloc/delete pair"Glenn Kasten2014-03-181-1/+1
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | |
| * | | | | | | AudioPolicyService: malloc/delete pairYou Kim2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I75cd44ac0caccda9148faaa052c9e7a0c06d46d1 Signed-off-by: You Kim <you.kim72@gmail.com>
* | | | | | | | mediaserver and associated services are 32-bit onlyGlenn Kasten2014-03-123-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | also 32-bit only command-line apps Change-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3
* | | | | | | | audioflinger: Fix for a deadlock in track creationHaynes Mathew George2014-03-062-2/+5
| |_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AudioFlinger enters a deadlock (with itself) on trying to free a RecordTrack or Track object that failed initialization. Clear this bad object from the caller instead. Bug: 12423233 Change-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16
* | | | | | | Make frameworks/av 64-bit compatibleKévin PETIT2014-02-1117-58/+73
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contains the necessary changes to make frameworks/av build and work on a 64-bit machine. Signed-off-by: Craig Barber <craig.barber@arm.com> Signed-off-by: Kévin PETIT <kevin.petit@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com> Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Change-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43
* | | | | | Merge "AudioFlinger: Remove code for supporting resampling in fast tracks"Glenn Kasten2014-02-104-26/+5
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | |
| * | | | | AudioFlinger: Remove code for supporting resampling in fast tracksMartin Storsjo2014-02-054-26/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This isn't used at the moment. Change-Id: I4e0fb2af5f7d959dbafd5ddb7defa1c6b8e8636a
* | | | | | Merge "AudioTrack: Never try to use the fast path if resampling is required"Glenn Kasten2014-02-102-5/+0
|\ \ \ \ \ \ | |/ / / / / | | | | | / | |_|_|_|/ |/| | | |
| * | | | AudioTrack: Never try to use the fast path if resampling is requiredMartin Storsjo2014-01-312-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Unless AudioFlinger was built with FAST_TRACKS_AT_NON_NATIVE_SAMPLE_RATE enabled, AudioFlinger would deny using the fast path (and internally fall back to the normal codepath) when it realized that resampling was required. Since the buffer size calculations within AudioFlinger don't take resampling into account properly (see the calculation below "AUDIO_OUTPUT_FLAG_FAST denied" in audioflinger/Threads.cpp, just below the hunk that this patch changes), make sure AudioTrack doesn't try to use the fast path if resampling is required. This removes the possibility to enable FAST_TRACKS_AT_NON_NATIVE_SAMPLE_RATE in AudioFlinger since it AudioTrack now won't even try to use the fast path for content that requires resampling, regardless of the AudioFlinger configuration. Change-Id: Icf0f8ad50bf0fdb84657f518c0120aa0535f23f9
* | | | | audioflinger: conform inline ASM to UALsynergy dev2014-02-041-2/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Clang requires some inline ASM to conform to the UAL standards (Unified Assembler Language). This fixes a small issue in this inline asm to allow building. Change-Id: Ifd9b1814343ab5ade636b9401a21d575559dac16
* | | | audioflinger: fix static track end detectionEric Laurent2014-01-301-9/+2
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a static track is not a fast track, prepareTracks_l() must rely on framesReady() to detect end of buffer and remove the track from the active track list. Failing to do so results in the track staying active but not processed by the mixer because in underrun. This leaves the mix buffer content uninitialized and causes the effect process function to accumulate its output onto undefined data. Bug: 12013676. Change-Id: Iad72c921fa18d34811abf7d1073890c093a27725
* | | Merge "AudioMixer: Remove tracks from enabledTracks after reseting outTemp"Glenn Kasten2014-01-291-4/+7
|\ \ \
| * | | AudioMixer: Remove tracks from enabledTracks after reseting outTempGaurav Kumar2014-01-291-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If any track goes through AudioMixer::process__genericNoResampling, and its getnextbuffer returns NULL, Then that track is removed by AudioMixer from enabledTracks. Thus if all tracks getnextbuffer return NULL, Then this function doesn't reset outTemp and last buffer in AudioFlinger's mMixBuffer will be repeated and noise is observed. Remove tracks from enabledTracks after reseting outTemp to zero, so that process__genericNoResampling will reset outTemp and noise won't appear. Bug: 12450065 Change-Id: I1ccac7ee4a3bf7fd930254356c072099e11e7c19 Signed-off-by: Gaurav Kumar <gaurav.kumar@broadcom.com> Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
* | | | Merge "libcameraservice: Fix build in ISO C++11 mode"Eino-Ville Talvala2014-01-151-5/+5
|\ \ \ \
| * | | | libcameraservice: Fix build in ISO C++11 modeBernhard Rosenkraenzer2013-07-301-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change log macro define so it can't be confused for a C++11 string literal Change-Id: Idcc8085735177aa3313fdea66dc0736cca749f9b Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
* | | | | Merge "Frameworks: AudioFlinger: Fix effects memory leak"Glenn Kasten2014-01-101-0/+8
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Frameworks: AudioFlinger: Fix effects memory leakYu Yezhong2013-10-151-0/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | Patch by: csheng@marvell.com Change-Id: I4e3032fb34643902f98e8fd7c8e894b6452324c9 Signed-off-by: Yu Yezhong <yuyezhong@gmail.com>
* | | | audioflinger: check for condition before waitingHaynes Mathew George2013-12-171-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AsyncCallbackThread must check for any condition that has already been satisfied before waiting. Bug: 11824817 Change-Id: Ic8c2090d521ecd6a30b76ee75635258d35eb1eff
* | | | Merge "Increase kFastTrackMultiplier from 1 to 2"Glenn Kasten2013-12-171-7/+7
|\ \ \ \ | |_|_|/ |/| | |
| * | | Increase kFastTrackMultiplier from 1 to 2Glenn Kasten2013-12-041-7/+7
| | | | | | | | | | | | | | | | Change-Id: I158f147295eebcea96e4047d7618069bc48bdd7d
* | | | audioflinger: do not use raw pointer for tracksEric Laurent2013-11-152-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 9da3d95 surfaced a problem caused by the use of a raw pointer to a track in offload thread implementation. Pointers to tracks should always be weak or strong pointers. Bug: 11708529. Change-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b
* | | | Camera2: Rework the FPS range vs. FPS single setting detectionEino-Ville Talvala2013-11-142-33/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Give up on current approach of writing out consistent FPS values into parameters that will be read back by the app. - Preserve app's latest set parameters exactly, and compare against them when detecting if a new FPS range or single FPS value has been selected. - Since get() returns exactly what was set(), it doesn't matter if the app calls getParameters() before its next setParameters(), in terms of retriggering FPS selection logic. Before, the behavior varied depending on whether the app re-read the parameters. - As before, if app changes both range and single FPS in a single set call, the range set wins. Otherwise, the value that has changed more recently is used. Bug: 11570973 Change-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6
* | | | audioflinger: fix offload track transitionEric Laurent2013-11-121-17/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make sure that when transitioning from one active offloaded track to the next we flush DSP content if both tracks are not on the same audio session. This happens when switching between two applications playing the same type of content (e.g MP3, stereo, 44.1). In this case, we reuse the same output thread because the track formats are compatible. Bug: 11247103. Change-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8
* | | | audioflinger: fix offload resume after drainEric Laurent2013-11-121-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When pausing and resuming during the drain, the drain sequence number shuold not be modified otherwise the drain callback will be ignored. This causes failure to notify end of stream to audio player and transition to next song. Bug: 11247103. Change-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159
* | | | Camera API2: Add support for partial result quirkEino-Ville Talvala2013-11-125-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Camera3Device: Include requestId in partial 3A results - FrameProcessorBase: Add support for partial result listeners - CameraDeviceClient: Listen and forward partial results to client Bug: 11115603 Change-Id: If1cc6bbc32932742ac142c058688761ebf6a8024
* | | | Camera HAL3/API1: Add support for the partial result quirk.Eino-Ville Talvala2013-11-068-86/+432
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Camera2Client: - Detect partial result quirk - Camera3Device: - Accumulate all partial results together - Fire off 3A-only result once all 3A states are available - FrameProcessorBase: - Filter out partials, don't send to listeners - FrameProcessor: - Skip face detect on partials - Make sure to only handle a 3A update for a given frame once - Trigger AF notifications when AF mode or trigger changes, to properly detect all AF transitions. Bug: 11115603 Change-Id: Iea8aa73c568701562a46071f7ea100624251d10b
* | | | audioflinger: fix direct output underrunEric Laurent2013-11-051-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Underruns on tracks handled by a direct or offloaded threads were not properly reported to the applications causing a failure to automatically recover. Bug: 11535001. Change-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d
* | | | Merge "AudioFlinger: fix duplicating thread standby." into klp-devEric Laurent2013-10-311-0/+1
|\ \ \ \
| * | | | AudioFlinger: fix duplicating thread standby.Eric Laurent2013-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit fd47797 fixing issue 11247103 introduced a regression where the duplicating thread does not exit standby state as expected. This in turn prevents the tracks sending audio to other threads to complete their activity cycle normally. The fix conists in clearing mStandby state also in the specialized threadLoop_write() method of DuplicatingThread subclass. Bug: 11451415. Change-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775
* | | | | Merge "camera: Collect stack traces when bad things happen, print with ↵Igor Murashkin2013-10-305-0/+171
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | dumpsys" into klp-dev
| * | | | | camera: Collect stack traces when bad things happen, print with dumpsysIgor Murashkin2013-10-295-0/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 11324229 Change-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6
* | | | | | Merge "audioflinger: enable effects after registration if needed" into klp-devEric Laurent2013-10-302-0/+3
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | audioflinger: enable effects after registration if neededEric Laurent2013-10-122-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bug where effects were not properly reenabled after being moved from one playback thread to another. The effect is enabled but the audio policy manager sees it as disabled. Bug: 11181933. Change-Id: I19cac7acbaf61c546e667fd85ed7d4eda1c716d8
* | | | | | AudioFlinger: more fixes for offload audio lostEric Laurent2013-10-282-14/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mStandby being false was not a reliable indication that something had been written to audio HAL. Considering the last track in mActiveTracks vector as the latest activated track was wrong as this is a SortedVector. Bug: 11247103. Change-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc
* | | | | | Assign blame for playback wakelocks.Marco Nelissen2013-10-258-35/+130
| |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set a work source for the playback wakelock, so that playback is counted against the requesting app instead of the media server. Cherrypicked from master. b/9464621 Change-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31
* | | | | Merge "Allow releaseBuffer after flush" into klp-devGlenn Kasten2013-10-181-1/+1
|\ \ \ \ \
| * | | | | Allow releaseBuffer after flushGlenn Kasten2013-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After AudioTrack start checks for pending flush, allow releaseBuffer on any previously obtained buffer. For example, this can happen if the resampler has obtained a buffer but not released the whole buffer yet. Note that the resampler will be reading obsolete data. Bug: 11285590 Change-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5
* | | | | | audioflinger: fix track terminated before playingEric Laurent2013-10-172-13/+10
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a track is terminated before any audio was written, we should not send a drain request to the HAL. The drain will be ignored and we will wait the async callback for ever. Also fix a potential deadlock by not deleting a track with the thread mutex held: mPreviousTrack changed from a sp to a raw pointer. Bug: 11247103. Change-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae
* | | | | Fix flush() followed by start()Glenn Kasten2013-10-171-0/+9
| |/ / / |/| | | | | | | | | | | | | | | Bug: 11259166 Change-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d
* | | | Camera: don't do hw support check for ZSLZhijun He2013-10-161-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Only use camera.disable_zsl_mode to control disable/enable ZSL. Bug: 11258054 Change-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a