--- src/pulsecore/protocol-native.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c index 6d5b388..65020b0 100644 --- a/src/pulsecore/protocol-native.c +++ b/src/pulsecore/protocol-native.c @@ -39,6 +39,8 @@ #include <pulsecore/native-common.h> #include <pulsecore/packet.h> +#include <pulsecore/sink-input-node.h> +#include <pulsecore/source-output-node.h> #include <pulsecore/client.h> #include <pulsecore/source-output.h> #include <pulsecore/sink-input.h> @@ -82,6 +84,7 @@ typedef struct record_stream { uint32_t index; pa_source_output *source_output; + pa_source_output_node *output_node; pa_memblockq *memblockq; pa_bool_t adjust_latency:1; @@ -119,6 +122,7 @@ typedef struct playback_stream { uint32_t index; pa_sink_input *sink_input; + pa_sink_input_node *input_node; pa_memblockq *memblockq; pa_bool_t adjust_latency:1; @@ -472,6 +476,11 @@ static void record_stream_unlink(record_stream *s) { if (!s->connection) return; + if (s->output_node) { + pa_source_output_node_free(s->output_node); + s->output_node = NULL; + } + if (s->source_output) { pa_source_output_unlink(s->source_output); pa_source_output_unref(s->source_output); @@ -742,6 +751,9 @@ static record_stream* record_stream_new( (double) s->configured_source_latency / PA_USEC_PER_MSEC); pa_source_output_put(s->source_output); + + s->output_node = pa_source_output_node_new(s->source_output, "native-protocol-output"); + return s; } @@ -764,6 +776,11 @@ static void playback_stream_unlink(playback_stream *s) { if (!s->connection) return; + if (s->input_node) { + pa_sink_input_node_free(s->input_node); + s->input_node = NULL; + } + if (s->sink_input) { pa_sink_input_unlink(s->sink_input); pa_sink_input_unref(s->sink_input); @@ -1230,6 +1247,8 @@ static playback_stream* playback_stream_new( pa_sink_input_put(s->sink_input); + s->input_node = pa_sink_input_node_new(s->sink_input, "native-protocol-input"); + out: if (formats) pa_idxset_free(formats, (pa_free_cb_t) pa_format_info_free); -- 1.8.1.2