summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* Move frameworks/av off <sys/atomics.h>.Elliott Hughes2014-05-221-1/+0
| | | | | Bug: 14903517 Change-Id: I92cdfc618d83fd914cfb558a07b1deae0255fccb
* Move frameworks/av from fdprintf to POSIX dprintf.Elliott Hughes2014-05-227-38/+38
| | | | | Bug: 11156955 Change-Id: Ia98cd16b4c1f7be87cf060b7456de4f40896bacb
* Restore accidentally-removed NULL timeout.Elliott Hughes2014-05-211-1/+1
| | | | Change-Id: I933c80fea50950243f109acf8d6350013aaa811f
* Move frameworks/av off private API.Elliott Hughes2014-05-214-8/+8
| | | | | Bug: 11156955 Change-Id: Ib3bb9d66a2bf92977c2445b62aa074a2d7a45aea
* Move frameworks/av off __futex_syscall3.Elliott Hughes2014-05-212-4/+4
| | | | | Bug: 11156955 Change-Id: I943080bc51b6efa781059b48b5b5ecc4fa287512
* Codec Offload: Add NULL check as mCallbackThread is NULLUday Gupta2014-05-131-1/+4
| | | | | | | | | | when offloaded HAL is running BLOCKING mode b/14897952 Change-Id: I159a33e1181c1a62d80ab4bd3337a35dafaad884 Signed-off-by: Uday Gupta <guptau@broadcom.com> Signed-off-by: Pierre Couillaud <pierre@broadcom.com>
* Merge "camera: check Intent entry count before reading it"Eino-Ville Talvala2014-05-121-0/+3
|\
| * camera: check Intent entry count before reading itYuvraj Pasi2014-05-121-0/+3
| | | | | | | | | | | | | | In case when find() returns empty entry, blindly reading the entry will cause segfault Change-Id: Ib5be7fd855c409ba3b45f0d43e15237367172817
* | Merge "Fix memory leak when filtering commands in insertCommand_l()"Eric Laurent2014-05-062-10/+27
|\ \
| * | Fix memory leak when filtering commands in insertCommand_l()Jesper Tragardh2014-04-112-10/+27
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When AudioPolicyService::AudioCommandThread::insertCommand_l filters a command from the queue, the AudioCommand* is removed from the vector mAudioCommands by calling mAudioCommands.removeAt(). This will destroy the pointer and compact the vector, but not delete the AudioCommand object. This patch adds code to delete a filtered out AudioCommand and its data object mParam. However, mParam was void* and deleting a void pointer is undefined behavior according to the C++ standard. Therefore, the data classes are modified to inherit from an abstract base class with a virtual destructor. The deletion of non-filtered commands in AudioPolicyService::AudioCommandThread::threadLoop() was already correct, as each case casts mParam to the proper type before deleting. This also fixes AOSP issue 36370. Change-Id: I2b63838aff3608132aa496f964a929f78c4b6267
* | 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