mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
modules: don't unload on stream errors
It's possible that the stream is sent an error when the session manager can't link the node (because, for example, the sink/source is not available yet). We should not stop but just log this error. When the session manager actively kills the stream (when it is reconnected while the DONT_RECONNECT flag is true) we will end up in the UNCONNECTED state and that's when we can unload the module.
This commit is contained in:
parent
f205a09ade
commit
01a7d6709b
3 changed files with 4 additions and 8 deletions
|
|
@ -406,8 +406,7 @@ static void input_state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
break;
|
break;
|
||||||
case PW_STREAM_STATE_ERROR:
|
case PW_STREAM_STATE_ERROR:
|
||||||
pw_log_error("%p: input error: %s", impl, error);
|
pw_log_info("%p: input error: %s", impl, error);
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
@ -479,8 +478,7 @@ static void output_state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
break;
|
break;
|
||||||
case PW_STREAM_STATE_ERROR:
|
case PW_STREAM_STATE_ERROR:
|
||||||
pw_log_error("%p: output error: %s", impl, error);
|
pw_log_info("%p: output error: %s", impl, error);
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -610,8 +610,7 @@ static void state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
break;
|
break;
|
||||||
case PW_STREAM_STATE_ERROR:
|
case PW_STREAM_STATE_ERROR:
|
||||||
pw_log_error("module %p: error: %s", impl, error);
|
pw_log_info("module %p: error: %s", impl, error);
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -185,8 +185,7 @@ static void stream_state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
break;
|
break;
|
||||||
case PW_STREAM_STATE_ERROR:
|
case PW_STREAM_STATE_ERROR:
|
||||||
pw_log_error("module %p: error: %s", impl, error);
|
pw_log_info("module %p: error: %s", impl, error);
|
||||||
pw_impl_module_schedule_destroy(impl->module);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue