Link to the cover letter of the previous version (v2): http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/19232 Changes in v3: - Dropped pa_stream_set_volume_channel_map(), as suggested by Arun. The function would only be useful in rare corner cases, so perhaps it's better to leave it out to avoid unnecessary clutter in the API. If someone requests this functionality, we can add it later. - Removed empty lines before checking r in code like this: r = foo(); if (r < 0) do_something(); - Initialize format to NULL in the beginning of pa_format_info_from_sample_spec2(). Tanu Kaskinen (17): 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 format, core-format: Constify some function parameters stream-util: Add pa_stream_get_volume_channel_map() stream: Remove a volume channel validity check 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: Improve pa_stream_connect_playback() documentation stream: Mention pa_stream_new_extended() in the high-level stream creation documentation format: Add some error logging src/Makefile.am | 2 + src/pulse/def.h | 38 ++++++- src/pulse/format.c | 116 ++++++++------------ src/pulse/format.h | 74 ++++++++++--- src/pulse/stream.c | 1 - src/pulse/stream.h | 17 ++- src/pulsecore/core-format.c | 243 ++++++++++++++++++++++++++++++++++++++++++ src/pulsecore/core-format.h | 81 ++++++++++++++ src/pulsecore/sink-input.c | 103 ++++++++---------- src/pulsecore/source-output.c | 98 +++++++---------- src/pulsecore/stream-util.c | 86 +++++++++++++++ src/pulsecore/stream-util.h | 50 +++++++++ 12 files changed, 695 insertions(+), 214 deletions(-) create mode 100644 src/pulsecore/core-format.c create mode 100644 src/pulsecore/core-format.h create mode 100644 src/pulsecore/stream-util.c create mode 100644 src/pulsecore/stream-util.h -- 1.8.3.1