A few changes to demonstrate a slightly cleaner way to write
JNI code in the framework especially when multiple types are
involved. We use this pattern in many other places outside
of the media stack.
Added more detail to the UnsupportedOperationException that
occurs when buffer formats don't match.
Change-Id: Ic894dc1bd71b387f1be6ea1798fa59e533e9574f
Define specific failure cases so apps have the information they
need to deal with these conditions.
Also adds a new ResourceBusyException to MediaDrm
Change-Id: Iaecf269d58108f28179974b05671bf29b9fe4b7d
related-to-bug: 10157154
related-to-bug: 9695816
the jpeg size was set to the buffer width, which is the max jpeg buffer size.
the right size can be obtained by parsing the camera3_jpeg_blob data sent by
hal.
Also correct the buffer size check when crop is not set.
Bug: 9254294
Change-Id: Ic73de47ef97efa4eb356a399c1576715e2eacbfd
There's a runtime check for a bad argument, but it is
after the usage of the bad argument. Move the usage
after the check.
Bug 8687716
Change-Id: Iddfa457951bac69b436a430cda21b5d7a563107b
Signed-off-by: Mike J. Chen <mjchen@google.com>
SystemServer is currently a monolithic class that brings up key system
services. This change is the first phase of refactoring it to be more
configurable. Specifically, it adds a set of on/off switches used to control
startup of individual services. Future plans include finer grained controls
and a more explicit and consistent startup sequence for these services.
Change-Id: I7299f5ce7d7b74a34eb56dffb788366fbc058532
Clarify offline usage of sessions and keys and implement
implement CryptoSession to support additional crypto use
cases.
Change-Id: Id3f8c706e9e3034b09af8e2a6a2f26bd74a49f93
Currently crypto plugins are expected to be in libdrmdecrypt.so.
When there are multiple plugins supporting different schemes,
this approach requires source code integration across
vendors which is unmanagable. Also, for integration with
MediaDrm where the crypto keys are obtained from a drm server,
the MediaCrypto plugin needs to interoperate with the MediaDrm
plugin. This change allows {MediaCrypto, MediaDrm} pairs that
are logically related to be implemented in a common shared
library.
Multi-repository commit, goes with:
https://googleplex-android-review.googlesource.com/287838
Change-Id: I08577cda0cbcb22ebe3cb874f5fcafe411c36be3
Adds two new public methods to MediaCodec, and one new public
constant to MediaCodecInfo (currently @hidden).
Bug 7991062
Change-Id: I830a9794e92334ad05c870cc5fc90be4652147a5
SurfaceControl is the window manager side; it can
control the attributes of a surface but cannot push buffers
to it. Surface on the other hand is the application (producer)
side and is used to push buffers to the surface.
Change-Id: Ib6754c968924e87e8dd02a2073c7a447f729f4dd