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
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
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
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
The native channel mask values are equal to the Java values, which
differ from other standards simply for legacy reasons. It is
preferrable to use commonly used values, and translate from the
Java constants to the common values when specifying a Java mask.
The new definitions uses the same values and ordering as in
OpenSL ES and other standards.
Change-Id: I879f64b281714c60684cd8b36fe6ae648a555121
Add definitions for the side and elevated channels.
Ccorrect definition of 7.1 mask which uses
the side channels rather than the front half-pan channels.
Change-Id: I5b6f601f6404d782dc46ef47efac9cc8441fef90
Make sure audio_is_valid_format() is true only
for formats supported by AudioTrack and AudioRecord.
Generalized audio_is_linear_pcm().
Added audio_bytes_per_sample() function.
Change-Id: If588af6c08f09796ab04bccbbd6e720f1e914412
Added formats for 32 bit PCM audio to allow direct use of
common audio formats defined in audio.h by audio effect
API defined in audio_effect.h
Change-Id: I5d58c2db8325ca625ab6d2b10cc0d422ba119ca5