Fix flaky memory leak in RemoteAudioSource
Bug: webrtc:8405
Change-Id: Ie7c89214323678c6ea34e344bb1a5a33ad46b3f0
Reviewed-on: https://webrtc-review.googlesource.com/13401
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20362}
diff --git a/pc/remoteaudiosource.h b/pc/remoteaudiosource.h
index 3759d6f..d35fb04 100644
--- a/pc/remoteaudiosource.h
+++ b/pc/remoteaudiosource.h
@@ -18,6 +18,7 @@
#include "api/notifier.h"
#include "pc/channel.h"
#include "rtc_base/criticalsection.h"
+#include "rtc_base/messagehandler.h"
namespace rtc {
struct Message;
@@ -27,7 +28,8 @@
namespace webrtc {
// This class implements the audio source used by the remote audio track.
-class RemoteAudioSource : public Notifier<AudioSourceInterface> {
+class RemoteAudioSource : public Notifier<AudioSourceInterface>,
+ rtc::MessageHandler {
public:
// Creates an instance of RemoteAudioSource.
static rtc::scoped_refptr<RemoteAudioSource> Create(
@@ -61,8 +63,7 @@
void OnData(const AudioSinkInterface::Data& audio);
void OnAudioChannelGone();
- class MessageHandler;
- void OnMessage(rtc::Message* msg);
+ void OnMessage(rtc::Message* msg) override;
AudioObserverList audio_observers_;
rtc::CriticalSection sink_lock_;