<feed xmlns='http://www.w3.org/2005/Atom'>
<title>frameworks_av/camera, branch lineage-17.1</title>
<subtitle>Fork of frameworks/av
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/'/>
<entry>
<title>Merge tag 'android-10.0.0_r37' into staging/lineage-17.1_merge-android-10.0.0_r37</title>
<updated>2020-06-02T02:40:36+00:00</updated>
<author>
<name>Kevin F. Haggerty</name>
<email>haggertk@lineageos.org</email>
</author>
<published>2020-06-02T02:40:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=472ff18aac21b921e25756ed917ffb70ead1dc0d'/>
<id>472ff18aac21b921e25756ed917ffb70ead1dc0d</id>
<content type='text'>
Android 10.0.0 Release 37 (QQ3A.200605.001)

* tag 'android-10.0.0_r37': (47 commits)
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  keep tx3g{Buffer,Size,Filled} in sync
  Fix race condition in AudioTrack::releaseBuffer()
  Fix race condition in AudioRecord::releaseBuffer()
  rtsp: fix integer overflow caused by malformed packets
  IDrm: fix uninitialized variable in GET_OFFLINE_LICENSE_STATE
  audio policy: fix disordered sequence while changing device
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  BnCrypto: fix use-before-init in CREATE_PLUGIN
  Camera: Add onCameraOpened/onCameraClosed callbacks
  [DO NOT MERGE] Fix Heap use after free in clearkey getSecureStops
  Check if calling uid is system uid for setAllowedPolicyCapture.
  clearkey default: parsePssh securely
  RESTRICT AUTOMERGE CCodec: make config consistent before/after flush
  Reduce the latecy of encoding 1st frame
  [media][sfplugin] fix -Wdangling-gsl
  [DO NOT MERGE] Fix uninitialized data in IHDCP decrypt
  OpusHeader: Fix integer overflow in GetOpusHeaderBuffers
  MPEG4Extractor: check the default sample info before checking the validity of sample size.
  ...

Change-Id: Ibb33de8b4828ed99095af7d629ffc290c188e10d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android 10.0.0 Release 37 (QQ3A.200605.001)

* tag 'android-10.0.0_r37': (47 commits)
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  keep tx3g{Buffer,Size,Filled} in sync
  Fix race condition in AudioTrack::releaseBuffer()
  Fix race condition in AudioRecord::releaseBuffer()
  rtsp: fix integer overflow caused by malformed packets
  IDrm: fix uninitialized variable in GET_OFFLINE_LICENSE_STATE
  audio policy: fix disordered sequence while changing device
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  RESTRICT AUTOMERGE: Camera: fix use after free in sensor timestamp
  BnCrypto: fix use-before-init in CREATE_PLUGIN
  Camera: Add onCameraOpened/onCameraClosed callbacks
  [DO NOT MERGE] Fix Heap use after free in clearkey getSecureStops
  Check if calling uid is system uid for setAllowedPolicyCapture.
  clearkey default: parsePssh securely
  RESTRICT AUTOMERGE CCodec: make config consistent before/after flush
  Reduce the latecy of encoding 1st frame
  [media][sfplugin] fix -Wdangling-gsl
  [DO NOT MERGE] Fix uninitialized data in IHDCP decrypt
  OpusHeader: Fix integer overflow in GetOpusHeaderBuffers
  MPEG4Extractor: check the default sample info before checking the validity of sample size.
  ...

Change-Id: Ibb33de8b4828ed99095af7d629ffc290c188e10d
</pre>
</div>
</content>
</entry>
<entry>
<title>Camera: Add onCameraOpened/onCameraClosed callbacks</title>
<updated>2020-03-10T18:38:13+00:00</updated>
<author>
<name>Shuzhen Wang</name>
<email>shuzhenwang@google.com</email>
</author>
<published>2020-03-06T17:02:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=1bb30b2efa3cf029daaedf7cfb4cbec7433ee38d'/>
<id>1bb30b2efa3cf029daaedf7cfb4cbec7433ee38d</id>
<content type='text'>
The onCameraOpened/onCameraClosed callbacks are used to notify camera
service client with [] permission that a certain camera device has been
opened/closed.

Test: Manually check callbacks are received in SystemUI app
Bug: 150540299
Change-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527
Merged-In: If6f3624c43927c30afef7df0a780eafe3ae4c527
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The onCameraOpened/onCameraClosed callbacks are used to notify camera
service client with [] permission that a certain camera device has been
opened/closed.

Test: Manually check callbacks are received in SystemUI app
Bug: 150540299
Change-Id: If6f3624c43927c30afef7df0a780eafe3ae4c527
Merged-In: If6f3624c43927c30afef7df0a780eafe3ae4c527
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge tag 'android-10.0.0_r31' into lineage-17.1-android-10.0.0_r31</title>
<updated>2020-03-07T12:18:31+00:00</updated>
<author>
<name>Luca Stefani</name>
<email>luca.stefani.ge1@gmail.com</email>
</author>
<published>2020-03-07T12:18:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=f9de53e73ee9f4b7a47d06cd96d7adba5fab54ef'/>
<id>f9de53e73ee9f4b7a47d06cd96d7adba5fab54ef</id>
<content type='text'>
Android 10.0.0 release 31

* tag 'android-10.0.0_r31': (28 commits)
  Revert "DO NOT MERGE Set module versions to 299900000 Dev branch..."
  AudioFlinger: Clear effect_uuid_t in case of short read
  Check actual read bytes for TS packets
  RESTRICT AUTOMERGE Harden Clearkey releaseSecureStops implementation.
  RESTRICT AUTOMERGE Fix Heap buffer overflow in clearkey releaseSecureStops
  camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.
  Added usage to init call for audiostream registration.
  Camera: Handle onBuffersDiscarded callback
  camera2ndk: ~ACameraCaptureSession shouldn't hold device lock in ACameraDevice_close().
  Camera: Check consumer interface before disconnecting
  do not send max pts gap to full-frame image encoders
  C2SoftMpeg4Enc: Handle yStride not equal to aligned width
  vpxdec: handle non-display frames
  Fix secondary output under&amp;over run
  Camera: Heic: Wait for output TS before dequeuing output buffers
  Camera: Heic: Handle out-of-order buffer outputs
  Camera: Heic: Wait for first output tile callback before muxer start
  g711 channel count limits
  aacenc: fix possible shift in remainder
  bufferpool@2.0 tune eviction params
  ...

Change-Id: Ifa70e0e7345d25ad0b78d2e25ef1a85dbd93eadf
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Android 10.0.0 release 31

* tag 'android-10.0.0_r31': (28 commits)
  Revert "DO NOT MERGE Set module versions to 299900000 Dev branch..."
  AudioFlinger: Clear effect_uuid_t in case of short read
  Check actual read bytes for TS packets
  RESTRICT AUTOMERGE Harden Clearkey releaseSecureStops implementation.
  RESTRICT AUTOMERGE Fix Heap buffer overflow in clearkey releaseSecureStops
  camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.
  Added usage to init call for audiostream registration.
  Camera: Handle onBuffersDiscarded callback
  camera2ndk: ~ACameraCaptureSession shouldn't hold device lock in ACameraDevice_close().
  Camera: Check consumer interface before disconnecting
  do not send max pts gap to full-frame image encoders
  C2SoftMpeg4Enc: Handle yStride not equal to aligned width
  vpxdec: handle non-display frames
  Fix secondary output under&amp;over run
  Camera: Heic: Wait for output TS before dequeuing output buffers
  Camera: Heic: Handle out-of-order buffer outputs
  Camera: Heic: Wait for first output tile callback before muxer start
  g711 channel count limits
  aacenc: fix possible shift in remainder
  bufferpool@2.0 tune eviction params
  ...

Change-Id: Ifa70e0e7345d25ad0b78d2e25ef1a85dbd93eadf
</pre>
</div>
</content>
</entry>
<entry>
<title>camera2 ndk: Allow nullptr for ACameraCaptureSession_captureCallbacks.onClosed.</title>
<updated>2019-12-16T21:17:17+00:00</updated>
<author>
<name>Jayant Chowdhary</name>
<email>jchowdhary@google.com</email>
</author>
<published>2019-08-14T22:00:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=221f7b2d2140a49411767b1706eb48037bfada71'/>
<id>221f7b2d2140a49411767b1706eb48037bfada71</id>
<content type='text'>
Bug: 134680093
Bug: 146357162

Test: AImageReaderVendorTest

Merged-In: I8d365b434c257e949496d9495d0fa31a18a2e068
Change-Id: I8d365b434c257e949496d9495d0fa31a18a2e068
Signed-off-by: Jayant Chowdhary &lt;jchowdhary@google.com&gt;
(cherry picked from commit 9da975d887ef8d63970e4b11dc9f2c0e0da92705)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 134680093
Bug: 146357162

Test: AImageReaderVendorTest

Merged-In: I8d365b434c257e949496d9495d0fa31a18a2e068
Change-Id: I8d365b434c257e949496d9495d0fa31a18a2e068
Signed-off-by: Jayant Chowdhary &lt;jchowdhary@google.com&gt;
(cherry picked from commit 9da975d887ef8d63970e4b11dc9f2c0e0da92705)
</pre>
</div>
</content>
</entry>
<entry>
<title>camera: Allow devices to load custom CameraParameter code</title>
<updated>2019-12-11T17:14:51+00:00</updated>
<author>
<name>Rashed Abdel-Tawab</name>
<email>rashed@linux.com</email>
</author>
<published>2017-11-01T02:58:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=be31e09a00208b6ba8b8d12c1f9e952b0bcc3074'/>
<id>be31e09a00208b6ba8b8d12c1f9e952b0bcc3074</id>
<content type='text'>
* Some devices need additional code to load their cameras. Add a hook
  for extra classes and symbols to be included.

Originally implemented in Android.mk at 38b27bf2e5079441358288402b38865ba7c1d9d6
Credit to Ethan Chen for original Android.mk implementation

Change-Id: Iec667af2f0bfdb41f14df342cb128908244d7af0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Some devices need additional code to load their cameras. Add a hook
  for extra classes and symbols to be included.

Originally implemented in Android.mk at 38b27bf2e5079441358288402b38865ba7c1d9d6
Credit to Ethan Chen for original Android.mk implementation

Change-Id: Iec667af2f0bfdb41f14df342cb128908244d7af0
</pre>
</div>
</content>
</entry>
<entry>
<title>Camera: Add support for preview frame fd</title>
<updated>2019-12-11T17:14:44+00:00</updated>
<author>
<name>Susmitha Gummalla</name>
<email>vgummall@codeaurora.org</email>
</author>
<published>2014-04-29T19:18:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=7769ed5a90e5b1fb354da603a547381ce2acb9f7'/>
<id>7769ed5a90e5b1fb354da603a547381ce2acb9f7</id>
<content type='text'>
-Add support for receiving dataCallback with fd/buffer as frame buffer

CRs-fixed: 654901
Change-Id: I5c16e560f1e209a6ab4afa4f3437602b02992b9b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
-Add support for receiving dataCallback with fd/buffer as frame buffer

CRs-fixed: 654901
Change-Id: I5c16e560f1e209a6ab4afa4f3437602b02992b9b
</pre>
</div>
</content>
</entry>
<entry>
<title>camera: include: Don't override possible overlayed header</title>
<updated>2019-12-11T17:14:44+00:00</updated>
<author>
<name>Bruno Martins</name>
<email>bgcngm@gmail.com</email>
</author>
<published>2017-09-23T17:29:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=27f75bf2f6822ee6fbff77c49e1131769aead1f3'/>
<id>27f75bf2f6822ee6fbff77c49e1131769aead1f3</id>
<content type='text'>
 * If targets define a specific header path, then let it be the case
   and don't override it to avoid mismatched headers in the modules.

 * This only became an issue since O due to moved camera headers (commit e2b43843fd12783188edd2c54188ea8d26864788).

Change-Id: I6bf7d1da7448d71f7821d40501db971f837781db
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * If targets define a specific header path, then let it be the case
   and don't override it to avoid mismatched headers in the modules.

 * This only became an issue since O due to moved camera headers (commit e2b43843fd12783188edd2c54188ea8d26864788).

Change-Id: I6bf7d1da7448d71f7821d40501db971f837781db
</pre>
</div>
</content>
</entry>
<entry>
<title>camera: Don't segfault if we get a NULL parameter</title>
<updated>2019-12-11T17:14:44+00:00</updated>
<author>
<name>Steve Kondik</name>
<email>shade@chemlab.org</email>
</author>
<published>2013-05-01T09:58:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=705585562f0abca0cd13c92be01186d418527d82'/>
<id>705585562f0abca0cd13c92be01186d418527d82</id>
<content type='text'>
 * Values end up NULL on some drivers, don't crash.

Change-Id: Ic897dbd4629cf3af98c85f93be202c382dde806b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
 * Values end up NULL on some drivers, don't crash.

Change-Id: Ic897dbd4629cf3af98c85f93be202c382dde806b
</pre>
</div>
</content>
</entry>
<entry>
<title>camera2ndk: ~ACameraCaptureSession shouldn't hold device lock in ACameraDevice_close().</title>
<updated>2019-12-09T22:08:59+00:00</updated>
<author>
<name>Jayant Chowdhary</name>
<email>jchowdhary@google.com</email>
</author>
<published>2019-09-26T15:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=f12b7622412701c4725ed5633972dd53bdd4d3c9'/>
<id>f12b7622412701c4725ed5633972dd53bdd4d3c9</id>
<content type='text'>
We call disconnectLocked before stopping CameraDevice's looper, in order to avoid this situation:

1) Its possible that an OnResultReceived callback is received, and posts an
   AMessage with sp&lt;ACameraCaptureSession&gt; on CameraDevice's looper.

2) Before the looper message is processsed, ACameraDevice_close() is
   called by the client, which results in the looper being stopped and
   cleared with device lock held.

3) When the looper is getting cleared, the AMessage containg the
   ACameraCaptureSession pointer is destructed leading to
   ~ACameraCaptureSession running without knowing that the device is
   being closed, as a result it tries to hold device lock, resulting in
   a deadlock.

Bug: 141603005

Test: CTS native tests
Test: use camera2 vndk client for extended periods of time

Change-Id: Ia0d47fc2975981055cd1f2103c1cbe8d76642fe4
Signed-off-by: Jayant Chowdhary &lt;jchowdhary@google.com&gt;
(cherry picked from commit a8bf1c6e6d210833070152adf130f4d988fc255e)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We call disconnectLocked before stopping CameraDevice's looper, in order to avoid this situation:

1) Its possible that an OnResultReceived callback is received, and posts an
   AMessage with sp&lt;ACameraCaptureSession&gt; on CameraDevice's looper.

2) Before the looper message is processsed, ACameraDevice_close() is
   called by the client, which results in the looper being stopped and
   cleared with device lock held.

3) When the looper is getting cleared, the AMessage containg the
   ACameraCaptureSession pointer is destructed leading to
   ~ACameraCaptureSession running without knowing that the device is
   being closed, as a result it tries to hold device lock, resulting in
   a deadlock.

Bug: 141603005

Test: CTS native tests
Test: use camera2 vndk client for extended periods of time

Change-Id: Ia0d47fc2975981055cd1f2103c1cbe8d76642fe4
Signed-off-by: Jayant Chowdhary &lt;jchowdhary@google.com&gt;
(cherry picked from commit a8bf1c6e6d210833070152adf130f4d988fc255e)
</pre>
</div>
</content>
</entry>
<entry>
<title>Camera: Delay pingCameraServiceProxy to end of onFirstRef</title>
<updated>2019-09-20T17:48:18+00:00</updated>
<author>
<name>Shuzhen Wang</name>
<email>shuzhenwang@google.com</email>
</author>
<published>2019-09-20T17:38:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant-next/frameworks_av/commit/?id=24b44157d3a9736fce60479cbbbabadf53471df0'/>
<id>24b44157d3a9736fce60479cbbbabadf53471df0</id>
<content type='text'>
The cameraservice is only registered to service manager after onFirstRef
is returned. To reduce the probability of getBinderService() call
returning null, move pingCameraServiceProxy to end of onFirstRef().

Also add debug messages in onFirstRef and main() for better diagnoses.

Test: Camera CTS
Bug: 140414594
Change-Id: I52defd1c138ade57ebc5181c42aff30921fbeaeb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The cameraservice is only registered to service manager after onFirstRef
is returned. To reduce the probability of getBinderService() call
returning null, move pingCameraServiceProxy to end of onFirstRef().

Also add debug messages in onFirstRef and main() for better diagnoses.

Test: Camera CTS
Bug: 140414594
Change-Id: I52defd1c138ade57ebc5181c42aff30921fbeaeb
</pre>
</div>
</content>
</entry>
</feed>
