Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Camera: Minor Improvements and Fixes #2

Open
wants to merge 191 commits into
base: n
Choose a base branch
from
Open

Camera: Minor Improvements and Fixes #2

wants to merge 191 commits into from

Conversation

vibhoothi
Copy link
Member

This Commits include the following changes
-Fix Autofocus issue on OP2
-Fix Flashlight battery drain
-Fix few memory leaks
-Minor improvements

Vaibhav Deshu Venkatesh and others added 30 commits November 15, 2016 12:22
dropAccessUnit is uninitialized. The do-while loop which checks
for this variable has a continue and hence this variable was being
used without initialization. The change initializes this variable
to default value.

CRs-Fixed: 1087183
Change-Id: I301eb165b51f773b5062283041d6749ccaff9e3e
  -if sample rate is not specificed during construction of audio record
   it updates sampling rate with default value based on the source.
   but divide by zero execption is happeing since
   it uses same unspeficied sampling rate to calculate latency.
  -Use updated default sample rate to calcuate latency vaulue.

CRs-Fixed: 1090804
Change-Id: Icb1e717d869de7bcd4b52194f3ee4e8b0b318da4
Changes to set protected flag only for
secure contents.

Change-Id: I18812ae216c30031fb0ffa42f63ce89b1cd6ab4d
Changes to enable isDrm flag for DRM playback
so as to enable setPlaybackStatus.

Change-Id: I824f59471286e5454fab7630a45bdbc2430711ac
Bug: 31781965
Change-Id: I1c439a0d0f6aa0057b3c651499f28426e1e1f5e4
(cherry picked from commit 9a2732b)
This was meant for buffers shared cross-process, but we are not gaining
anything from this check even if it was at the correct place.

Bug: 32436178
Change-Id: I6919e8ac6e35092273e171f49f6711ba577ba2e6
(cherry picked from commit 58388aa)
…dexes

Bug: 32247948
Bug: 32438598
Bug: 32436341

Test: use POC on bug or cts security test

Change-Id: I91bd6aadb6c7410163e03101f365db767f4cd2a3
(cherry picked from commit 0872b65cff9129633471945431b9a5a28418049c)
(cherry picked from commit e981cca)
several points in stagefrights mp3 album art code
used strlen() to parse user-supplied strings that may be
unterminated, resulting in reading beyond the end of a buffer.

This changes the code to use strnlen() for 8-bit encodings and
strengthens the parsing of 16-bit encodings similarly. It also
reworks how we watch for the end-of-buffer to avoid all over-reads.

Bug: 32377688
Test: crafted mp3's w/ good/bad cover art. See what showed in play music
Change-Id: Ia9f526d71b21ef6a61acacf616b573753cd21df6
(cherry picked from commit fa0806b)
Test: Custom test.
Bug: 32438594
Bug: 32624850
Bug: 32635664
Change-Id: I9b1315e2c02f11bea395bfdcf5c1ccddccbad8a6
(cherry picked from commit 3d34cc7)
Bug: 32577290
Change-Id: I9bcc9422ae7dd3ae4a38df330c9dcd7ac4941ec8
(cherry picked from commit 7fdd364)
Bug: 32448258
Bug: 32095626

Test: Use POC bug or cts security test
Change-Id: I69f24eac5866f8d9090fc4c0ebe58c2c297b63df
(cherry picked from commit 0118340)
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1087183   I301eb165b51f773b5062283041d6749ccaff9e3e   NuPlayer: Uninitialized bool variable in fetchInputData

Change-Id: I5e54964b854979cf9f865dfd5b948e0bfccabfd5
CRs-Fixed: 1087183
Uses user defined permission "com.oma.drm.permission.ACCESS_OMA_DRM" to
access protected api call from Oma Drm util framework.
This changes is required for DRM Image support in Android.

Change-Id: I6811d97e45e2bc37356be9061e1a5a5557e19e06
CRs-Fixed: 1088307
Change-Id: I7d5faf8a5ab78eaea184544472486a41a1f1e5dd
Currently service allows only a single client to be attached
to a Module.
This limits only a single client can use sound trigger at a time.
Add changes to attach multiple clients to a given Module through
ModuleClient inteface so that multiple clients can in parallel
use sound trigger on a given Module. ModuleClient class is
introduced as a client interface to a Module.
Service provides a unique instance of ModuleClient to each client
being attached and adds this client to the module clients list.

Bug:32030191
Change-Id: I0214395ed545690bb9f95365c7b8d415fcf60c9a
Change-Id: I12811040dbe6c3dd0abeac07cedc51893f1b4a94
Test: POC, Cts Effect, BassBoost, EnvReverb, Equalizer,
Test: LoudnessEnhancer, PresetReverb, Virtualizer, Visualizer
Bug: 32220769
Change-Id: Iea96ba0daf71691ee8954cca4ba1c10fe827626e
(cherry picked from commit dd79ccd)
Bug: 32705438
Bug: 32703959
Test: cts security test
Change-Id: I8900c92fa55b56c4c2c9d721efdbabe6bfc8a4a4
(cherry picked from commit e275907)
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
1090804   Icb1e717d869de7bcd4b52194f3ee4e8b0b318da4   libmedia : Fix for AudioRecord CTS test case
1088307   I6811d97e45e2bc37356be9061e1a5a5557e19e06   OMA DRM : Give permission to access drm service api from
1088780   I824f59471286e5454fab7630a45bdbc2430711ac   frameworks/av: Changes to enable DRM flag
1088780   I18812ae216c30031fb0ffa42f63ce89b1cd6ab4d   frameworks/av: Set Protected flag only for secure

Change-Id: Idcd5a7bfde181fa220d9d11976bd750c00c812dc
CRs-Fixed: 1088780, 1088307, 1090804
Proceed with AudioRecord::read only if object state
is active. An active AudioRecord instance can
become inactive if restoreRecord fails (for example
due to concurrency with other AudioRecord instances)

CRs-Fixed: 1101547
Bug: 26229717
Change-Id: I2a1d0c32b29e0da3e0c457e43f006388fc7b2433
lnxbuild and others added 30 commits May 9, 2017 02:15
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2016461   I98cdb14bb2b9c86013df9b2c8f2e558f184b633e   media : Changing time stamp manipulation in HFR recordin
2026604   I2056693f79bcb3df9a5a9dac1b700d50ed535372   audio: hold effect mutex when releasing effect engine
913215   Idc6c15168ec922ca1bd6d867cbe59847647c6f26   NuPlayer: Decoder: Check for valid codec on resume

Change-Id: Ib650ae581f8cee81b0007e9dcea2d08bf8eeb818
CRs-Fixed: 2016461, 913215, 2026604
Don't assume 16 bit format for audio clip when
calculating frame size. Otherwise data that is
not frame aligned will be sent to NuPlayer,
resulting in dropped data. Instead pass frame size
based on audio format.

CRs-Fixed: 2020023
Change-Id: I33097c6928ba355c6a3a6f4428c3957067f2397e
Change-Id: Ib379672ea4b31f21b4038770702b7568d5afb366
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2037739   I4cba36bbe3502678210e5925181683df9726b431   FLACExtractor: copy protect mWriteBuffer

Change-Id: Ic763b7fd32bd3b986744b8114057232dc6d93b9d
CRs-Fixed: 2037739
As sample rate of input frame may change dynamically, it is possible
that the input frame size requested may grow given the output frame
size is fixed. If we don't enlarge the input buffer in this case,
array out of boundary occurs and corrupts the heap.

Fix is to resize resampler's inframe buffer independent of out buffer.

CRs-Fixed: 2044381
Change-Id: I43f70dbb3eaadabc8ed06817a04165feab320b3c
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2037750   I7529658e52ac7e64d162eb5338f10fb25eaa8fe7   AudioFlinger: Check framecount overflow when creating tr
2037747   I6e80ec90616f6cd02bb8316cd2d6e309b7e4729d   Add bounds check in SoftAACEncoder2::onQueueFilled()
2037764   Ia169b9edc1e0f7c5302e3c68aa90a54e8863d79e   Validate lengths in HEVC metadata parsing
2037758   I636a14360c7801cc5bca63c9cb44d1d235df8fd8   Fix NPDs in h263 decoder
2037763   If835e97ce578d4fa567e33e349e48fb7b2559e0e   Fix integer overflow and divide-by-zero
2037735   I84f0ef948414d0b2d54e8948b6c30b8ae4da2b36   Fix out of bounds access

Change-Id: I9aef42d7b9d5117a77cc605fa063c75917906d36
CRs-Fixed: 2037758, 2037735, 2037750, 2037747, 2037763, 2037764
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2020023   I33097c6928ba355c6a3a6f4428c3957067f2397e   stagefright: don't assume 16 bit format
2038194   I8a94d82d69f35307e5fab8174d752a847f47a2f2   libmedia: synchronize access to meta

Change-Id: Iaf100b4a5f98d2f5b2621bfe946a8549f588e897
CRs-Fixed: 2038194, 2020023
Timeoffset miscalculation may lead to retrograde timestamps
which will raise a error in MPEG4Writer. This change prevents
such occurences in HFR by making sure that the successive buffers
have a timestamp difference of 33 milliseconds. The previous
changes for timestamp manipulation have been reverted.

Change-Id: I3faf7294f743b1031ccc6624c3348f7e12b339b8
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2044381   I43f70dbb3eaadabc8ed06817a04165feab320b3c   audio: resize resampler's inframe buffer independent of
2039323   Idb3330137009be05a2bb4131a192c8f483546b6f   stagefright: MPEG4Writer: Skip wait for audio in few con

Change-Id: Iff276bd4be03c76dc47eaab95b164d92b7a1e4ff
CRs-Fixed: 2039323, 2044381
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2040285   I3faf7294f743b1031ccc6624c3348f7e12b339b8   media: Modify timestamps for HFR use case

Change-Id: I70a1c385930425a4f5163fc2ca0038af80f2001b
CRs-Fixed: 2040285
Change-Id: I9022a217501020e5b89986ede074b97a355cbeb7
Change-Id: I4c35df0b0a8581124243fd2d8a5cb4adbc2d9829
Issue:
For quadracfa capture, Blob/YUV output streams need to be
configured with custom dimensions which will not be
available in advertised stream configurations map.

Fix:
Skip the stream size check for whitelisted apps to allow
configuration of streams with custom dimensions.

Setprop to be used:
adb shell setprop persist.camera.cfa.packagelist <pack1,pack2>

CRs-Fixed: 2075934
Change-Id: Id94b40c94f42bf4579dc6d8bb6273003312ea669
…tion

Bug: 35467458
Change-Id: Ia76c8cec8ad2abb95ca29b2a89075f7acab4b174
(cherry picked from commit e25320450ca414dd859fd5d80bcd18ecc91630de)
(cherry picked from commit 07954224344fc938f157b3a2af9682690831e234)
Soft avc encoder cached buffer sizes across a point where the sizes
could be reset by an app, allowing crafted requests to hit outside
of the current buffer. This remedies that by forcing buffer reallocation
with new sizes whenever the encoder state at such 'reset' points.

Bug: 35421151
Test: run POC with no crash
Change-Id: I8c689846142264f7b6a277332260a6bd8a2bd92d
(cherry picked from commit 463452a94907278ca5e4c5632e50bbe59e861544)
(cherry picked from commit 5eb118f8299129e323fa402e0605abe696bdc678)
A malformed ogg file might lace together a very large packet, which
could lead to out of memory conditions. Limit the packet size to
avoid this.

Bug: 36592202
Change-Id: I8650b3ec54a0de9ec302a7cbac296bb85efcfb3d
(cherry picked from commit bf928560aca13c5a615cb3ffc3b6aad16cdf3824)
(cherry picked from commit 4efebc8b90d2c6c98d67c9dc0348a713c2a0700f)
Bug: 37239013
Change-Id: Ic33e0f7ed946d0729efa46f69aff1a5d35e81b1e
(cherry picked from commit ab34612a31e82b713ca0ac043e14f68f3788fbda)
(cherry picked from commit 4cd260f382f51b309be9aa48725cc709f5b034f2)
so don't use those char* after having updated the MetaData

Bug: 36576151
Change-Id: I1430f3151cb929e436fbdac566cf91fc4164b934
(cherry picked from commit 423e74647d1b8fd8b2905356af1fc2b1c67a0f3f)
(cherry picked from commit a520c5d445b7cb6ac4c2a09b86d2e860710a32ae)
CRs      Change ID                                   Subject
--------------------------------------------------------------------------------------------------------------
2066798   Ia76c8cec8ad2abb95ca29b2a89075f7acab4b174   Don't allow using or allocating a buffer after the first
2066777   I1430f3151cb929e436fbdac566cf91fc4164b934   Modifying MetaData invalidates previous char*
2066784   I8c689846142264f7b6a277332260a6bd8a2bd92d   Prevent OOB write in soft_avc encoder
2082635   Id94b40c94f42bf4579dc6d8bb6273003312ea669   Camera: Skip stream size check for whitelisted apps.
2066789   I8650b3ec54a0de9ec302a7cbac296bb85efcfb3d   Limit ogg packet size
2066797   Ic33e0f7ed946d0729efa46f69aff1a5d35e81b1e   Fix memory leak in error case

Change-Id: I12d57473c7d6dfe6ef4d69b44afca0cd35baeedf
CRs-Fixed: 2066777, 2066797, 2066789, 2066798, 2066784, 2082635
Change-Id: Ib563f1b5b3c36fb4e1bb144ae0fc714d0a0d28f0
…g/external/gigabyte/platform/frameworks/av into n

"LA.UM.5.8.r1-02700-8x98.0"

Conflicts:
	media/libstagefright/MediaCodecSource.cpp
	services/audiopolicy/managerdefault/AudioPolicyManager.cpp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants