diff --git a/spa/plugins/bluez5/a2dp-sink.c b/spa/plugins/bluez5/a2dp-sink.c index 20499281b..03fc8561e 100644 --- a/spa/plugins/bluez5/a2dp-sink.c +++ b/spa/plugins/bluez5/a2dp-sink.c @@ -711,6 +711,10 @@ static int do_stop(struct impl *this) if (this->transport) res = spa_bt_transport_release(this->transport); + if (this->codec_data) + this->codec->deinit(this->codec_data); + this->codec_data = NULL; + return res; } diff --git a/spa/plugins/bluez5/a2dp-source.c b/spa/plugins/bluez5/a2dp-source.c index 04e2e7779..72620b5c8 100644 --- a/spa/plugins/bluez5/a2dp-source.c +++ b/spa/plugins/bluez5/a2dp-source.c @@ -592,6 +592,10 @@ static int do_stop(struct impl *this) else res = 0; + if (this->codec_data) + this->codec->deinit(this->codec_data); + this->codec_data = NULL; + return res; }