[pulseaudio-discuss] [RFC] Passthrough support
bossart.nospam at gmail.com
Wed Feb 16 07:56:00 PST 2011
>> > Fair enough. The only niggling API change would be adding a
>> > PA_FORMAT_PCM_ANY (it would be unwieldy to return one pa_format_info for
>> > each PCM format).
>> I think the PA_SAMPLE_* enumeration should be left alone. Let it be a
>> legacy thing for clients that aren't interested in anything else than
>> PCM. pa_format_info doesn't need the pa_sample_spec member. The encoding
>> type can be provided with a new enumeration with PA_ENCODING_PCM,
>> PA_ENCODING_MP3 etc. Then the proplist, or whatever is chosen for
>> representing the format set, can contain information saying that
>> everything is supported.
> I didn't get the last bit about what you'd add to the proplist. The
> separate enum would work well for the format_info struct, but would you
> also suggest extending the API to use the encoding type while setting
> up/connecting streams?
I agree with Tanu. Changin the PA_SAMPLE_ enum will open a can of
worms since it will create an issue with the byte-to-ms conversion. I
tried in the past and it became a nightmare, I had to change code
everywhere and had to lie on the results. For the passthrough to work,
you want the IEC bistream to look like PCM 16/32 bit stereo so that
these conversions are well handled. You would use a tag/flag/proplist
to make sure the binary data isn't modified/resampled/etc.
More information about the pulseaudio-discuss