summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | | Make Audio wakelock names less unique.Narayan Kamath2013-10-142-2/+23
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These wakelocks now show up in the client process, where they might cause wakelock overflows if AudioFlinger threads die often. The client process should be agnostic of audio flinger threading, so don't make the wakelock names rely on audioflinger thread names. Wakelock names now depend only on the audio flinger thread type, and not the ID itself. bug: 11200551 Change-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0
* | | Camera: Fix deadlock in Camera3OutputStreamZhijun He2013-10-111-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | process capture request thread, process capture result and setParameter binder threads can run into circular locking situation when acquiring StreamingProcessor lock, Camera3Stream lock, and bufferQueue lock. Releasing the Camera3Stream lock briefly in process capture request thread getbuffer call can break this deadlock. Bug: 11016037 Change-Id: If08d4b134c26be26039b1d5363759e60f911bad6
* | | Merge "Camera: Skip AE precapture when possible" into klp-devZhijun He2013-10-111-0/+12
|\ \ \
| * | | Camera: Skip AE precapture when possibleZhijun He2013-10-111-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Skip AE precapture when AE is already converged for still capture use case. This could save still capture latency 6-7 frame time for AE already converged case. Bug: 10712902 Change-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e
* | | | Merge "Camera2/3: Add more tracing for API1" into klp-devEino-Ville Talvala2013-10-117-2/+56
|\ \ \ \ | |/ / / |/| | |
| * | | Camera2/3: Add more tracing for API1Eino-Ville Talvala2013-10-107-2/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - AF state - Async autofocus completion - Async takePicture completion - Stages of takePicture Bug: 10570497 Change-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3
* | | | Camera: Save 1 frame time for takePicture callZhijun He2013-10-093-10/+10
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the latest request signal call right before submitting request to HAL, which avoids unnecessary 1 frame time wait. Also fix request status constructor issue, and the log tag for Camera2Client. Bug: 10570497 Change-Id: I0b1818658bee9983b117e49a5a00f1aab515c567
* | | Merge "camera2: Don't race while dumping last frame metadata" into klp-devIgor Murashkin2013-10-082-1/+10
|\ \ \
| * | | camera2: Don't race while dumping last frame metadataIgor Murashkin2013-10-072-1/+10
| | | | | | | | | | | | | | | | | | | | Bug: 11095203 Change-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c
* | | | Merge "Camera3: Improve resilience to stream failures" into klp-devEino-Ville Talvala2013-10-082-13/+13
|\ \ \ \ | |/ / / |/| | |
| * | | Camera3: Improve resilience to stream failuresEino-Ville Talvala2013-10-082-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Handle binder connection drops (DEAD_OBJECT) for streams - Just log an error, don't go to an error state when queue/dequeue fails Bug: 10347526 Change-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc
* | | | Merge "Cleanup openRecord error handling" into klp-devGlenn Kasten2013-10-072-1/+7
|\ \ \ \ | |/ / / |/| | |
| * | | Cleanup openRecord error handlingGlenn Kasten2013-09-242-1/+7
| | | | | | | | | | | | | | | | | | | | Bug: 10888816 Change-Id: I84897dd7d30b370640b54e928f230604b873cb68
* | | | audioflinger: offload: fix pause/flush/resumeEric Laurent2013-10-041-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a pause/flush/resume sequence is fast enough, resume is received while we are still in PAUSING state in which case it is a NOP. If this happens, flush is still forwarded to the audio HAL but is not preceeded by a pause which can cause problems to the audio DSP. It is necessary to preserve the flush as this sequence is typical to a seek. The fix consists in forcing a pause/resume when a flush request must be executed and the audio HAL has not been paused previously. Bug: 11081559. Change-Id: Ib84ed26d503a61c05933b923ec556b10cedfe140