Avoid leaking the cubeb input stream

This commit is contained in:
xperia64 2020-05-21 20:34:00 -04:00
parent 51dfc46d3f
commit f9750875e3

View file

@ -37,7 +37,7 @@ CubebInput::~CubebInput() {
if (!impl->ctx)
return;
if (cubeb_stream_stop(impl->stream) != CUBEB_OK) {
if (impl->stream && cubeb_stream_stop(impl->stream) != CUBEB_OK) {
LOG_ERROR(Audio, "Error stopping cubeb input stream.");
}
@ -103,8 +103,11 @@ void CubebInput::StartSampling(const Frontend::Mic::Parameters& params) {
}
void CubebInput::StopSampling() {
// TODO(xperia64): Destroy the stream for now to avoid a leak because StartSampling reinitializes the stream every time
if (impl->stream) {
cubeb_stream_stop(impl->stream);
cubeb_stream_destroy(impl->stream);
impl->stream = nullptr;
}
is_sampling = false;
}