This change introduces two new callbacks for applications to better
handle LE notification flow control and transport congestion. The
notification callback is invoked when the remote platform confirms an
indication or when a local notification has been passed to the
controller. No new notifications should be sent until a callback is
received.
Congestion callbacks are triggered when a GATT operation cannot be sent
to the local Bluetooth controller. Repeatedly calling
writeCharacteristic() for example will eventually trigger a congestion
callback. Applications cannot send additional data until a further
callback is received, indicating that the congestion has cleared up.
Change-Id: I613cbf968770921f853a407888bb8308849039f3
Capture configuration was using cached_output_hardware_config
instead of cached_input_hardware_config.
Also enable mono capture by rejecting first attempt to open
an input stream in mono with -EINVAL error: AudioFlinger will reopen in
stereo and do the channel conversion.
Change-Id: Ibdf53be4aa88d47091745bc71daa1dec002535f8
If an event packet is read containing an unknown sensor handle,
don't pass it on to Sensor Services. Drop it on the floor instead
as it's causing Sensor Services to crash.
Moved read of queue size in sensors_poll_context_t::poll() to post
queue mutex grab for safety.
Bug: 15285345
Change-Id: I2ebc0f8591a1ae60f09bf9599b8321c5a3dfae69
Both use the same structs for APIs and callbacks, but now
source and sink mode can operate independently with separate
Bluetooth profile services in the framework.
An extra callback btav_audio_config_callback is used for reporting
audio configuration for A2DP sink role
Change-Id: I6e8172b66ff95e61721d1c35790609b7ae2be030
This allows us to add a new BluetoothProfile subclass for
the AVRCP controller role independent of the existing AVRCP target support.
Change-Id: I504bbf58a88808d1a884266992ae0c635c62aca1
Since bluedroid is running outside of system_server, it does not have
the necessary Linux capabilities or filesystem permissions to access
/sys/power/wake_* and /dev/alarm (or any other wake alarm). This change
provides a mechanism by which bluedroid can call back up into Java code
and use the standard Android APIs to get wake locks / wake alarms.
Change-Id: I714fd394224d38da5ff0f82de5559599d522010b
Conflicts:
include/hardware/bluetooth.h
Since bluedroid is running outside of system_server, it does not have
the necessary Linux capabilities or filesystem permissions to access
/sys/power/wake_* and /dev/alarm (or any other wake alarm). This change
provides a mechanism by which bluedroid can call back up into Java code
and use the standard Android APIs to get wake locks / wake alarms.
Change-Id: I714fd394224d38da5ff0f82de5559599d522010b
Conflicts:
include/hardware/bluetooth.h
The blank HWC call is being replaced by a setPowerMode() call.
This incorporates all of the blank functionality, but provides added
support for display low power modes, if they are available in hardware.
Currently there are three supported modes:
- HWC_POWER_MODE_OFF : Turn screen off.
- HWC_POWER_MODE_DOZE : Put screen in low power mode.
- HWC_POWER_MODE_NORMAL : Turn screen on, and exit low power mode (if
display was previously in low power mode).
Where applicable, the device driver is expected to retain and restore
the low power mode state of the display during entry and exit from
suspend, respectively.
Bug: 13472578
Change-Id: I743ea3a2cb58247d14d7c47158b09a5309cca710
Signed-off-by: Prashant Malani <pmalani@google.com>
When channel conversion is enabled and the pipe is opened with less channels
(e.g 1) than the output stream's channels (e.g 2) the input stream's buffer
size was calculated incorrectly which resulted in the input stream buffer size
being larger than the output stream buffer size in terms of time. This
changes the pipe size to take into the account maximum frame size so the
output stream buffer size will be greater or equal to the input stream buffer
size.
In addition, if the pipe is created when the input stream is opened and the
output stream is opened at a different sample rate (e.g input = 8KHz,
output = 48Khz) the pipe will incorrectly rate limit writes to the pipe
resulting in gaps of silence in the data read from the pipe by the input
stream.
Bug: 15291446
Change-Id: I01480edff7ef3a199f509866c1e95ecd4c437a92
The size of hwc_layer_1_t varies depending on whether we're building
for a 32- or 64-bit target. This change splits the padding into two
sections so that we can add more fields without changing the overall
size on either bitness.
Change-Id: Ib7c960a9feb0061586dc6398211d7d3dc012d573
Added MHL(Mobile High-definition Link) HAL definition to provide
interface between the hardware driver and the HdmiControlService
which also talks to HDMI-CEC HAL. They are both based on HDMI signal
specification.
MHL version 2.0 and above is supported.
Change-Id: Idcdfa1a61abfbf63bf838f6efe8b037fb32764ee