stream: remove listener on disconnect

This commit is contained in:
Wim Taymans 2018-12-18 15:35:04 +01:00
parent 6430ca0093
commit a1e567b985

View file

@ -788,6 +788,7 @@ static void proxy_destroy(void *_data)
{ {
struct pw_stream *stream = _data; struct pw_stream *stream = _data;
stream->proxy = NULL; stream->proxy = NULL;
spa_hook_remove(&stream->proxy_listener);
stream_set_state(stream, PW_STREAM_STATE_UNCONNECTED, NULL); stream_set_state(stream, PW_STREAM_STATE_UNCONNECTED, NULL);
} }
@ -1148,7 +1149,10 @@ int pw_stream_disconnect(struct pw_stream *stream)
pw_node_destroy(impl->node); pw_node_destroy(impl->node);
impl->node = NULL; impl->node = NULL;
} }
if (stream->proxy) {
stream->proxy = NULL; stream->proxy = NULL;
spa_hook_remove(&stream->proxy_listener);
}
stream_set_state(stream, PW_STREAM_STATE_UNCONNECTED, NULL); stream_set_state(stream, PW_STREAM_STATE_UNCONNECTED, NULL);
return 0; return 0;
} }