mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-03 09:01:50 -05:00
source-output: Get the correct source for "direct_on_input" streams
If a capture stream captures from a single sink input (so the capture stream is a so called "direct on input" stream), then it needs to connect to the monitor source of the sink to which the sink input is connected. Previously the correct source was not figured out automatically, causing the capture stream creation to fail.
This commit is contained in:
parent
df0a9e12d8
commit
8cca3b3c10
1 changed files with 10 additions and 2 deletions
|
|
@ -255,8 +255,16 @@ int pa_source_output_new(
|
|||
pa_return_val_if_fail(!data->driver || pa_utf8_valid(data->driver), -PA_ERR_INVALID);
|
||||
|
||||
if (!data->source) {
|
||||
pa_source *source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
|
||||
pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
|
||||
pa_source *source;
|
||||
|
||||
if (data->direct_on_input) {
|
||||
source = data->direct_on_input->sink->monitor_source;
|
||||
pa_return_val_if_fail(source, -PA_ERR_INVALID);
|
||||
} else {
|
||||
source = pa_namereg_get(core, NULL, PA_NAMEREG_SOURCE);
|
||||
pa_return_val_if_fail(source, -PA_ERR_NOENTITY);
|
||||
}
|
||||
|
||||
pa_source_output_new_data_set_source(data, source, false);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue