From 0ac2cfce6d1a3d7ab5af6aca659e46625c32d3c4 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Mon, 28 Feb 2011 13:23:23 +0530 Subject: core: Add extended stream API to support compressed formats This is the beginning of work to support compressed formats natively in PulseAudio. This adds a pa_stream_new_extended() that takes a format structure, sends it to the server (=> protocol extension) and has the server negotiate with the appropropriate sink to figure out what format it should use. This is work in progress, and works only with PCM streams. Actual compressed format support in some sink needs to be implemented, and extensive testing is required. More details on how this is supposed to work is available at: http://pulseaudio.org/wiki/PassthroughSupport --- PROTOCOL | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'PROTOCOL') diff --git a/PROTOCOL b/PROTOCOL index a15d1163..d06cb988 100644 --- a/PROTOCOL +++ b/PROTOCOL @@ -213,3 +213,18 @@ Two new flags at the end of sink input introspection data: bool has_volume bool volume_writable + +## v21, implemented by >= 1.0 + +Changes for format negotiation in the extended API. + +New fields PA_COMMAND_CREATE_PLAYBACK_STREAM: + + uint8_t n_formats + format_info format1 + ... + format_info formatn + +One new field in reply from PA_COMMAND_CREATE_PLAYBACK_STREAM: + + format_info format -- cgit From 322980e2e3844abf837dcc8cc5317406b3d8cb94 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Tue, 8 Mar 2011 23:30:24 +0530 Subject: introspect: Get formats for sinks This gets the list of supported formats for a sink in pa_context_get_sink_info*(). Also prints these in 'pactl list'. --- PROTOCOL | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'PROTOCOL') diff --git a/PROTOCOL b/PROTOCOL index d06cb988..419f9936 100644 --- a/PROTOCOL +++ b/PROTOCOL @@ -228,3 +228,11 @@ New fields PA_COMMAND_CREATE_PLAYBACK_STREAM: One new field in reply from PA_COMMAND_CREATE_PLAYBACK_STREAM: format_info format + +New fields in reply from PA_COMMAND_GET_SINK_INFO (and thus +PA_COMMAND_GET_SINK_INFO_LIST) + + uint8_t n_formats + format_info format1 + ... + format_info formatn -- cgit From 7aa84e82089a88a542f15cbf6f38c808b4f04db1 Mon Sep 17 00:00:00 2001 From: Arun Raghavan Date: Tue, 8 Mar 2011 23:31:59 +0530 Subject: introspect: Get format of sink input This gets the negotiated format of sink inputs in pa_context_get_sink_input*(). Also prints the format in 'pactl list'. --- PROTOCOL | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'PROTOCOL') diff --git a/PROTOCOL b/PROTOCOL index 419f9936..4178274f 100644 --- a/PROTOCOL +++ b/PROTOCOL @@ -236,3 +236,8 @@ PA_COMMAND_GET_SINK_INFO_LIST) format_info format1 ... format_info formatn + +One new field in reply from PA_COMMAND_GET_SINK_INPUT_INFO (and thus +PA_COMMAND_GET_SINK_INPUT_INFO_LIST) + + format_info format -- cgit