From 70a05b7933a0102339045b45555fa76377736735 Mon Sep 17 00:00:00 2001 From: kenkangxgwe Date: Fri, 1 Jul 2022 01:03:20 +0000 Subject: [PATCH] Reset mixer and element before Refresh This fixes an issue when Refresh fails but the mixer or element is still pointing to the old address. Bug: b/201413038 Test: None Change-Id: Ic7f8d88d1c4c911e81756785455a84ec92c6c814 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3739406 Reviewed-by: Kenneth MacKay Commit-Queue: Mingyu Kang Cr-Commit-Position: refs/heads/main@{#1019905} --- chromecast/media/cma/backend/alsa/scoped_alsa_mixer.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/chromecast/media/cma/backend/alsa/scoped_alsa_mixer.cc b/chromecast/media/cma/backend/alsa/scoped_alsa_mixer.cc index 17033042b9aa86..8b8856320c984e 100644 --- a/chromecast/media/cma/backend/alsa/scoped_alsa_mixer.cc +++ b/chromecast/media/cma/backend/alsa/scoped_alsa_mixer.cc @@ -41,7 +41,8 @@ void ScopedAlsaMixer::Refresh() { LOG(INFO) << "Opening mixer element \"" << mixer_element_name_ << "\" on device \"" << mixer_device_name_ << "\""; } - + mixer = nullptr; + element = nullptr; int alsa_err = alsa_->MixerOpen(&mixer, 0); if (alsa_err < 0) { LOG(ERROR) << "MixerOpen error: " << alsa_->StrError(alsa_err);