[pulseaudio-discuss] [PATCH 00/16] Format negotiation fixing
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Tue Dec 3 23:50:08 PST 2013
This patch set fixes this release blocker bug:
https://bugs.freedesktop.org/show_bug.cgi?id=68952
The most important bits are pa_format_info_to_sample_spec2() and
pa_format_info_from_sample_spec2(), which enable pa_sink_input_new()
and pa_source_output_new() to interpret missing PCM parameters as a
request to decide those parameters at the server end. When
implementing those, I wanted to use helper functions for getting the
parameters from a pa_format_info object, so I wrote those helper
functions first. When validating the individual parameter values, I
also wanted to use validation functions for that, so the patch set
begins with the addition of some simple validation functions. At the
end of the patch set there are documentation patches that add some
explanation about how to manage the PCM parameter configuration with
the pa_format_info interface.
Tanu Kaskinen (16):
Add pa_sample_format_valid()
Add pa_sample_rate_valid()
Add pa_channels_valid()
Move pa_format_info_to_sample_spec_fake() to core-format
core-format: Add pa_format_info_get_sample_format()
core-format: Add pa_format_info_get_rate()
core-format: Add pa_format_info_get_channels()
core-format: Add pa_format_info_get_channel_map()
format: Simplify pa_format_info_to_sample_spec()
core-format: Add pa_format_info_to_sample_spec2()
core-format: Add pa_format_info_from_sample_spec2()
sink-input, source-output: Do routing related validity checks
immediately after routing
sink-input, source-output: Don't support clients that configure volume
but not channels
sink-input, source-output: Interpret missing PCM parameters in format
info as a request to decide those parameters at the server end
def, format: Document how to leave PCM parameters to be decided by the
server
stream: Mention pa_stream_new_extended() in the high-level stream
creation documentation
src/Makefile.am | 1 +
src/daemon/daemon-conf.c | 6 +-
src/map-file | 3 +
src/modules/alsa/alsa-ucm.c | 10 +-
src/modules/bluetooth/module-bluez4-device.c | 5 +-
src/modules/dbus/iface-core.c | 10 +-
src/modules/jack/module-jack-sink.c | 3 +-
src/modules/jack/module-jack-source.c | 3 +-
src/modules/jack/module-jackdbus-detect.c | 2 +-
src/pulse/channelmap.c | 8 +-
src/pulse/def.h | 38 +++-
src/pulse/format.c | 67 ++-----
src/pulse/format.h | 56 +++++-
src/pulse/sample.c | 29 +--
src/pulse/sample.h | 10 ++
src/pulse/stream.c | 2 +-
src/pulse/stream.h | 11 +-
src/pulse/volume.c | 5 +-
src/pulsecore/core-format.c | 252 +++++++++++++++++++++++++++
src/pulsecore/core-format.h | 81 +++++++++
src/pulsecore/mix.c | 6 +-
src/pulsecore/modargs.c | 13 +-
src/pulsecore/protocol-native.c | 2 +-
src/pulsecore/resampler.c | 12 +-
src/pulsecore/sconv.c | 32 +---
src/pulsecore/sink-input.c | 86 +++------
src/pulsecore/sink.c | 3 +-
src/pulsecore/source-output.c | 83 +++------
src/pulsecore/source.c | 3 +-
src/pulsecore/svolume_c.c | 6 +-
30 files changed, 569 insertions(+), 279 deletions(-)
create mode 100644 src/pulsecore/core-format.c
create mode 100644 src/pulsecore/core-format.h
--
1.8.3.1
More information about the pulseaudio-discuss
mailing list