Re: [PATCH] Breaks in A2DP playback during device search

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Thu, Jan 05, 2012, Aj, SanthoshX wrote:
> From 8ecb4074305613a113d1c8dd220ab856c5f7ebc1 Mon Sep 17 00:00:00 2001
> From: Santhosh <santhoshx.aj@xxxxxxxxx>
> Date: Wed, 4 Jan 2012 12:44:37 +0530
> Subject: [PATCH] To change the latency of controller
>  This change is done to fix the a2dp breaks as the IMC controller
>  expects the latency to be set explicitly by calling HCI QoS setup
> 
> ---
>  audio/device.c         |    7 +++
>  common/Android.mk      |    3 +-
>  common/android_bluez.c |  111 ++++++++++++++++++++++++++++++++++++++---------
>  3 files changed, 98 insertions(+), 23 deletions(-)

As was previously mentioned by others patches to this list are expected
to be against the upstream git tree. This looks like something else. One
thing I'd like to add though:

> +static int vendor_high_priority(int fd, uint16_t handle) {
> +    unsigned char hci_sleep_cmd[] = {
> +        0x01,               // HCI command packet
> +        0x57, 0xfc,         // HCI_Write_High_Priority_Connection
> +        0x02,               // Length
> +        0x00, 0x00          // Handle
> +    };
> +
> +    hci_sleep_cmd[4] = (uint8_t)handle;
> +    hci_sleep_cmd[5] = (uint8_t)(handle >> 8);
> +
> +    int ret = write(fd, hci_sleep_cmd, sizeof(hci_sleep_cmd));
> +    if (ret < 0) {
> +        error("write(): %s (%d)]", strerror(errno), errno);
> +        return -1;
> +    } else if (ret != sizeof(hci_sleep_cmd)) {
> +        error("write(): unexpected length %d", ret);
> +        return -1;
> +    }
> +    return 0;
> +}

When you need to need to create a mechanism which controls some aspect
of an RFCOMM, L2CAP or ACL link your first option should be to consider
implementing it as a socket option. If that's not possible (though in
this case I think it is) then the only other alternative is to abstract
it behind the adapter_ops interface since the core daemon shouldn't any
longer do direct HCI access. So you'd implement sending this command in
hciops and then add the appropriate mgmt command and add support for it
into mgmtops.c and the kernel.

Johan
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux