Re: [PATCH BlueZ 01/11] transport: Initialize the "Volume" property with 50%

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

 



On Mon, Jan 14, 2013 at 11:21 AM, Von Dentz, Luiz
<luiz.von.dentz@xxxxxxxxx> wrote:
> Hi Joao,
>
> On Mon, Jan 14, 2013 at 4:05 PM, Joao Paulo Rechi Vita
> <jprvita@xxxxxxxxxxxxx> wrote:
>> On Sun, Jan 13, 2013 at 12:22 PM, Luiz Augusto von Dentz
>> <luiz.dentz@xxxxxxxxx> wrote:
>>> Hi Joao,
>>>
>>> On Fri, Jan 11, 2013 at 10:25 PM, João Paulo Rechi Vita
>>> <jprvita@xxxxxxxxxxxxx> wrote:
>>>> ---
>>>>  profiles/audio/transport.c | 2 +-
>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/profiles/audio/transport.c b/profiles/audio/transport.c
>>>> index a4370a5..6ffa98a 100644
>>>> --- a/profiles/audio/transport.c
>>>> +++ b/profiles/audio/transport.c
>>>> @@ -787,7 +787,7 @@ struct media_transport *media_transport_create(struct media_endpoint *endpoint,
>>>>                 struct a2dp_transport *a2dp;
>>>>
>>>>                 a2dp = g_new0(struct a2dp_transport, 1);
>>>> -               a2dp->volume = -1;
>>>> +               a2dp->volume = 63;
>>>>
>>>>                 transport->resume = resume_a2dp;
>>>>                 transport->suspend = suspend_a2dp;
>>>> --
>>>> 1.7.11.7
>>>
>>> Does the spec say anything regarding this? Actually it seems this
>>> value must be set by PA if it does support volume notification, which
>>> means a new version of PA, then it should set the value when the card
>>> is initialized, otherwise if the endpoint doesn't set a value it
>>> should remain -1/not available. If volume is not set by the endpoint
>>> we should either return and error upon register notification or return
>>> maximum volume always and refuse to SetAbsoluteVolume, my guess is
>>> that the latter is better for IOP reasons since the remote device may
>>> register to volume while the endpoint is setting up the transport so
>>> the volume may be set latter.
>>>
>>>
>>
>> I agree the right value will come from PA. The problem is that the
>> org.bluez.MediaTransport.Volume property doesn't exist when volume is
>> < 0 or > 127 and PA will not be able to inform the correct volume
>> value. Should we simply remove volume_exists(), or do you have any
>> other suggestion?
>
> I guess we could use the role of transport, if it is a sink/controller
> transport it should be initialized to max volume otherwise it should
> still be initialized with -1 so we can continue to omit in case of
> source/target role.

I agree we omit it by now, but when we add support for AVC on the
Source/TG role we can use it to control the volume on the remote,
sending a SetAbsoluteVolume command. I'll send an updated version in a
few moments.

--
João Paulo Rechi Vita
Openbossa Labs - INdT
--
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