diff --git a/src/pipewire/filter.c b/src/pipewire/filter.c index df2592466..345bcfe31 100644 --- a/src/pipewire/filter.c +++ b/src/pipewire/filter.c @@ -363,7 +363,7 @@ static bool filter_set_state(struct pw_filter *filter, enum pw_filter_state stat enum pw_filter_state old = filter->state; bool changed = old != state; - if (res) { + if (changed) { free(filter->error); filter->error = error ? strdup(error) : NULL; filter->error_res = res; diff --git a/src/pipewire/stream.c b/src/pipewire/stream.c index 8efddb4eb..7f4bac171 100644 --- a/src/pipewire/stream.c +++ b/src/pipewire/stream.c @@ -358,7 +358,7 @@ static bool stream_set_state(struct pw_stream *stream, enum pw_stream_state stat enum pw_stream_state old = stream->state; bool changed = old != state; - if (res) { + if (changed) { free(stream->error); stream->error = error ? strdup(error) : NULL; stream->error_res = res;