mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-11 13:30:02 -05:00
sink-input: Provide more information to client when format is lost
When the sink format changes and we kill the stream, clients need a way to know (a) what device they should reconnect to, and (b) what the stream running time was when the stream got killed (pa_stream_get_time() won't work after the stream has been killed). This adds these two bits of information in the event callback's proplist parameter.
This commit is contained in:
parent
d1f13fa781
commit
62f56a9f6b
2 changed files with 13 additions and 1 deletions
|
|
@ -1594,8 +1594,12 @@ int pa_sink_input_finish_move(pa_sink_input *i, pa_sink *dest, pa_bool_t save) {
|
|||
return -PA_ERR_NOTSUPPORTED;
|
||||
|
||||
if (pa_sink_input_is_passthrough(i) && !pa_sink_check_format(dest, i->format)) {
|
||||
pa_proplist *p = pa_proplist_new();
|
||||
pa_log_debug("New sink doesn't support stream format, sending format-changed and killing");
|
||||
pa_sink_input_send_event(i, PA_STREAM_EVENT_FORMAT_LOST, NULL);
|
||||
/* Tell the client what device we want to be on if it is going to
|
||||
* reconnect */
|
||||
pa_proplist_sets(p, "device", dest->name);
|
||||
pa_sink_input_send_event(i, PA_STREAM_EVENT_FORMAT_LOST, p);
|
||||
return -PA_ERR_NOTSUPPORTED;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue