mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-12-19 08:57:00 -05:00
sink-input: Kill passthrough streams if moving to an unsupported sink
This will eventually be replaced by a hook to let clients know that the stream has moved so that they can gracefully reconnect and renegotiate a supported format.
This commit is contained in:
parent
8b3e68a202
commit
658a9153f0
3 changed files with 33 additions and 0 deletions
|
|
@ -1552,6 +1552,11 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
|
|||
if (!pa_sink_input_may_move_to(i, dest))
|
||||
return -PA_ERR_NOTSUPPORTED;
|
||||
|
||||
if (!pa_format_info_is_pcm(i->format) && !pa_sink_check_format(dest, i->format)) {
|
||||
/* FIXME: Fire a message here so the client can renegotiate */
|
||||
return -PA_ERR_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
if (i->thread_info.resampler &&
|
||||
pa_sample_spec_equal(pa_resampler_output_sample_spec(i->thread_info.resampler), &dest->sample_spec) &&
|
||||
pa_channel_map_equal(pa_resampler_output_channel_map(i->thread_info.resampler), &dest->channel_map))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue