The volume and routing policy of AUDIO_STREAM_ENFORCED_AUDIBLE is
now controlled by AudioService by means of new forced use type
AUDIO_POLICY_FORCE_FOR_SYSTEM with config
AUDIO_POLICY_FORCE_SYSTEM_ENFORCED.
Bug 7032634.
Change-Id: Ib1834ec507f3aa726895b8fd3e8a91cc9cc601a7
The dequeueBuffer_DEPRECATED function also waits for the buffer fence,
so we can just call that. That way the wait call is compiled into our
code (instead of driver code) and we can see/modify it for debugging.
Bug: 7217641
Change-Id: Ie2ea85ed1543a4ff7986d0162aee773e93591309
Each audio device is identified by a bit in a 32 bit field with
16 bits for output devices and 16 bits for input devices.
The number of output devices is now exhausted.
In order to add new devices a new convention for audio device
identification is defined, allowing 31 different input and output
devices: Bit 31 of the bit field is reserved and when set indicates
an input device.
Also added new output device for wifi display and new input devices
for digital and analog docks, USB and wifi display send.
Change-Id: I849bec0b6d46e082e325a3f08890d313c8dc763b
A remote submix is an audio mix of audio streams that
are not going to be played directly through the platform mix,
but rather will be mixed together to be handled in a
different manner. This mix can be obtained by recording
it through the AUDIO_IN_REMOTE_SUBMIX and presenting it
remotely (as opposed to local playback == on the device
itself).
All changes marked "temporary" will be overriden by the
changes to update the audio device definitions for
the 2.0 API.
Change-Id: I9c6da607fc50b7b8545d189ac5b083107369cfb5
This change adds a new HAL pixel format that indicates that the specific format
is to be chosen by the gralloc implementation.
Change-Id: I326b5ec7347a20863b42119431ef1e4d22480fec
Declare audio_devices_t as uint32_t to permit bit operations,
and a separate anonymous enum for the constants. This is similar to
audio_channel_mask_t.
Also remove spurious "typedef" on declaration of anonymous enum for
channel mask constants.
Change-Id: Ib4f92e9168261d44a475b3d48fe211e5c70ed441
This change deprecates the existing queueBuffer, dequeueBuffer, lockBuffer, and
cancelBuffer functions, and replaces them with a queueBuffer, dequeueBuffer,
and cancelBuffer function that accepts or returns a libsync fence file
descriptor. It also adds the native_window_dequeue_buffer_and_wait convenience
function.
Change-Id: Ifaac91164d014993d7d1d96e0303e04e429f4d00
This format describes buffers that are not structured like normal
image data, and can only be meaningfully understood by the endpoints.
As an example, this format is used for transporting JPEG-compressed
image buffers from the Camera HAL to the framework/apps.
Buffers of this format must have a height of 1 and a width equal to
their size in bytes. Otherwise their interpretation is up to the two
endpoints.
Bug: 6243944
Change-Id: Ia81015694cbf3a89e29bfbf3624c3ea2ef4f66fd
Added FORCE_NO_BT_A2DP forced use to allow applications to
override default policy to use A2DP whenever connected.
Bug 6485897.
Change-Id: I0039232ea6cce4121f375961b2c153d1a0d92e49
This change replaces the set_active_rect function with set_post_transform_crop.
There is a temporary set_active_rect function that calls
set_post_transform_crop for compatibility while commiting to multiple git
repositories.
Change-Id: Ia7c171186fd277d5a36f6068ace93a9ce1c82d28
This change clarifies in the ANativeWindow perform docs which perform calls are
private to the framework and should not be made by code below the HAL level.
Change-Id: Ibfeba0760d9a3f74996e6358d5ad89a408f80dfe
This change makes it clearer how to derive the stride of the Cr and Cb plane
from the stride of the Y plane for the YV12 pixel format.
Change-Id: I54a9a20f35224bd583e25c615014cc8d830a1dd0
Add a value in audio policy flags to indicate an output
stream providing deep audio PCM buffers. Such an output
helps reducing the power consumption at the expense of audio latency.
Stagefright will indicate a preference for such an output when playing music
only (no video) and the audio duration is more than a given threshold.
Change-Id: I0e6a9f5746a22d2bfea2b21dd182489a34a4b528
Removed obsolete AUDIO_POLICY_OUTPUT_FLAG_xxx flags definition.
All project mmust use AUDIO_OUTPUT_FLAG_xxx flags from system/audio.h
Change-Id: Ib374dee96afcf176df35d9a621be02ce0e30caf5
Added definitions for output flags needed by new audio
HAL device API.
These flags where previously defined in audio_policy.h.
Definition in audio_policy.h remains temporarily until
all projects are changed to use new flags.
Change-Id: I371558c78050daae73942a36f51854372ab71068
This format is exposed outside of the HAL to applications.
RAW_SENSOR is a single-channel 16-bit format, typically representing raw
Bayer-pattern images from an image sensor, with minimal processing.
The exact pixel layout of the data in the buffer is sensor-dependent, and
needs to be queried from the camera device.
Generally, not all 16 bits are used; more common values are 10 or 12
bits. All parameters to interpret the raw data (black and white points,
color space, etc) must be queried from the camera device.
This format assumes
- an even width
- an even height
- a horizontal stride multiple of 16 pixels (32 bytes).
Change-Id: I67fc72d1c2c899e258fcd53b3ab91b459e9210f0
NATIVE_WINDOW_SCALING_MODE_CROP forces the SurfaceTexture
to match the crop rect's aspect ratio to that of the window.
Change-Id: Id126b106eac06fd34d2d650a1bc66ffbac26c501
Add token and wrapper function for a new private function
native_window_set_buffers_user_dimensions which overrides the native window
size as the default buffer size. This is intended for use primarily by
ANativeWindow_SetBuffersGeometry so that application-set buffer dimensions may
co-exist with pre-rotation in e.g. the GLES driver which calls
native_window_set_buffers_dimension.
Change-Id: I6c0fc334c070290cc15b04daae1484d0a28cd8ad
The problem is both face unlock and camera application try to open
the hardware camera at the same time. A new camera open API is
added to let face unlock take the camera away from the existing
client. The release message is used to notify the existing client,
so it has time to release the hardware camera and clean up.
If existing client tries to use the camera after it is released,
the method will return error. It is still possible that the
camera has been taken and the existing client has not got the
notification. When any method returns error, the existing client
can use ping command to check whether the camera has been released.
If yes, the client can silently finish the app itself or show a
toast if it wants.
bug:5584464
Change-Id: I87f9f7db2f7b2b70ab2405f9b3da0d8946d6a01b
Added a flag for output stream attributes indicating a primary
audio output stream.
The primary audio output stream is unique on a platform and receives all volume,
routing and parameters related to telephony use case.
Change-Id: Ic50b3c02cc60805031f26b819da6cf9ad65ad11c
Renamed AUDIO_POLICY_OUTPUT_FLAG_INDIRECT to AUDIO_POLICY_OUTPUT_FLAG_NONE
which is more appropriate.
Change-Id: Ie898ddc2279db55a65ece96e09232163c2e78024
this is needed if a display/gpu driver needs to create
service threads that can block the main ui thread.
to avoid priority inversions, these must run at
HAL_PRIORITY_URGENT_DISPLAY
Change-Id: I3af592e05a6d1b6f39a2b7885a7c842e54abfce2