summaryrefslogtreecommitdiffstats
path: root/services
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | audioflinger: fix wake lock acquisition checkEric Laurent2013-10-041-2/+2
| | | | | | | | | | | | | | | | | | | | Commit e14a5d6 introduced a bug in ThreadBase::acquireWakeLock() where the wake lock acquisition return code is not initialized before being checked causing the wake lock token to be sometines not set and potential failure to release the wake lock later. Bug: 10985160. Change-Id: Iffd40e773ae3bcfec3c148a844d5dbebbf474eaf
* | Merge "Camera3: track request status in inflight queue" into klp-devZhijun He2013-10-032-1/+18
|\ \
| * | Camera3: track request status in inflight queueZhijun He2013-10-032-1/+18
| | | | | | | | | | | | | | | Bug: 9758581 Change-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc
* | | Merge "Better recording wake lock accounting" into klp-devMarco Nelissen2013-10-032-13/+22
|\ \ \
| * | | Better recording wake lock accountingMarco Nelissen2013-10-032-13/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Count wake lock use against the app that initiated the recording, not against the media server. b/10985160 Change-Id: Iae6e6c030b7f1c6081d9c79725d6990f60dadaaa
* | | | Camera API 2, Device 2/3: Implement idle and shutter callbacksEino-Ville Talvala2013-10-0228-301/+950
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Update callback Binder interface - Rename frameId to be requestId to be consistent and disambiguate from frameNumber. - Implement shutter callback from HAL2/3 notify() - Add in-flight tracking to HAL2 - Add requestId to in-flight tracking - Report requestId from shutter callback - Implement idle callback from HAL3 process_capture_result - Add new idle tracker thread - Update all idle waiting to use the tracker - Add reporting from request thread, all streams to tracker - Remove existing idle waiting infrastructure Bug: 10549462 Change-Id: I867bfc248e3848c50e71527e3561fe92dc037958
* | | Camera: only return static metadata for HAL3 deviceZhijun He2013-10-011-0/+6
| | | | | | | | | | | | | | | | | | | | | This effectively disables the camera2 APIs for HAL2.x or lower HAL device. Bug: 10360518 Change-Id: I0f374ac533468c6181f5672c75088b7144b9c53d
* | | Merge "Camera: drop stale callback buffer" into klp-devZhijun He2013-10-011-0/+10
|\ \ \
| * | | Camera: drop stale callback bufferZhijun He2013-09-301-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes, when preview size is changed and preview callback is enabled, stale callback buffer from previous size could be delivered to callback processor because stop preview doesn't guarantee consumer side buffers are properly cleaned up. We need drop these buffers to avoid sending wrong data to app side. Bug: 11009183 Change-Id: If9281e8c02481f883872ce58dfd8660a06d56a47
* | | | Merge "Camera: Set default thumbnail size with matched aspect ratio" into ↵Zhijun He2013-10-012-3/+41
|\ \ \ \ | |/ / / | | | | | | | | klp-dev
| * | | Camera: Set default thumbnail size with matched aspect ratioZhijun He2013-09-302-3/+41
| |/ / | | | | | | | | | | | | | | | | | | Make default thumbnail size match the default still capture size aspect ratio. Bug: 10885012 Change-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e
* | | fix volume and effect enable delay on offloaded tracksEric Laurent2013-09-305-6/+45
|/ / | | | | | | | | | | | | | | | | | | | | | | | | Volume: add a method to wake up the mediaserver playback thread when a volume command is received on an offloaded track. Effects: call effect chain process on offloaded playback threads asynchronously from writes to allow effect state updates while waiting for async write callback. Bug: 10796540. Change-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739
* | Merge "Don't call audio effect process on offloaded playback threads" into ↵Jean-Michel Trivi2013-09-271-3/+4
|\ \ | | | | | | | | | klp-dev