'Twas brillig, and David Henningsson at 14/11/11 10:22 did gyre and gimble:
> On 11/11/2011 03:08 PM, David Henningsson wrote:
>> On 11/11/2011 12:17 AM, David Henningsson wrote:
>>> Do you think we can merge these different views and come up with an
>>> agreed client API within a couple of days?
>>
>> Ok, so I can happily say that we had a great IRC conversation on the
>> topic today. The outcome was:
>>
>> * Not to register port objects with the core (for the time being)
>>
>> * Not to add "inactive" sinks/sources to the client API (for the time
>> being)
>>
>> * When port availability changes, fire a subscription event for the card.
>>
>> * I'm not sure we got consensus on if/when the sink/source should also
>> get a subscription event, but that can be discussed later.
>>
>> * To change the existing proposal's "is_input" and "is_output" to a
>> bitfield. Thus the new client API proposal is now attached. I'll start
>> working on implementing this next week unless I hear massive complaints.
>>
>> One detail though: should the enums be declared as is (e g
>> "pa_direction_t direction;") or as ints ("int direction;")? I remember
>> someone saying enums were more likely to change size than ints.
>
> In line with the client API proposal, here's the matching protocol
> proposal.
>
> Any objections?
>
>
> ## v25, implemented by >= 2.0
>
> When port availability changes, send a subscription event for the
> owning card.
>
> ## v26, implemented by >= 2.0
>
> In reply from PA_COMMAND_GET_CARD_INFO (and thus
> PA_COMMAND_GET_CARD_INFO_LIST), the following is added:
>
> uint32_t n_ports
>
> ....followed by n_ports extended port entries, which look like this:
>
> string name
> string description
> uint32_t priority
> uint32_t available
Can we make this a uint8_t? I know the protocol might send a uint32_t
for availability elsewhere but there is no reason for this to be carried
through where it's not needed.
> uint8_t direction
> uint32_t n_profiles
> string profile_name_1
> ...
> string profile_name_n
>
> Profile names must match earlier sent profile names for the same card.
Seems OK.
Can we get an icon in here somehow? IMO each port should have it's own
icon to allow for Speakers to be presented differently in UIs to Headphones.
>From what I remember, this is done via a proplist for the other bits of
the system... as there was some talk of eventually adding a proplist to
ports, perhaps it's worth adding it in to the protocol and only
populating "device.icon_name" initially (or even leaving it totally
blank for now and doing the icon stuff later)?
Col
--
Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/
Day Job:
Tribalogic Limited http://www.tribalogic.net/
Open Source:
Mageia Contributor http://www.mageia.org/
PulseAudio Hacker http://www.pulseaudio.org/
Trac Hacker http://trac.edgewall.org/
_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss