mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
module: handle error and unconnected states
Unload the module on error/unconnected
This commit is contained in:
parent
26471ff2da
commit
f205a09ade
2 changed files with 24 additions and 0 deletions
|
|
@ -401,6 +401,14 @@ static void input_state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_stream_flush(impl->source, false);
|
pw_stream_flush(impl->source, false);
|
||||||
pw_stream_flush(impl->capture, false);
|
pw_stream_flush(impl->capture, false);
|
||||||
break;
|
break;
|
||||||
|
case PW_STREAM_STATE_UNCONNECTED:
|
||||||
|
pw_log_info("%p: input unconnected", impl);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
|
case PW_STREAM_STATE_ERROR:
|
||||||
|
pw_log_error("%p: input error: %s", impl, error);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
@ -466,6 +474,14 @@ static void output_state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_stream_flush(impl->sink, false);
|
pw_stream_flush(impl->sink, false);
|
||||||
pw_stream_flush(impl->playback, false);
|
pw_stream_flush(impl->playback, false);
|
||||||
break;
|
break;
|
||||||
|
case PW_STREAM_STATE_UNCONNECTED:
|
||||||
|
pw_log_info("%p: output unconnected", impl);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
|
case PW_STREAM_STATE_ERROR:
|
||||||
|
pw_log_error("%p: output error: %s", impl, error);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -605,6 +605,14 @@ static void state_changed(void *data, enum pw_stream_state old,
|
||||||
pw_stream_flush(impl->capture, false);
|
pw_stream_flush(impl->capture, false);
|
||||||
graph_reset(graph);
|
graph_reset(graph);
|
||||||
break;
|
break;
|
||||||
|
case PW_STREAM_STATE_UNCONNECTED:
|
||||||
|
pw_log_info("module %p: unconnected", impl);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
|
case PW_STREAM_STATE_ERROR:
|
||||||
|
pw_log_error("module %p: error: %s", impl, error);
|
||||||
|
pw_impl_module_schedule_destroy(impl->module);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue