Revert "Remove AudioDeviceObserver and make ADM not inherit from the Module interface."

This reverts commit 34cdd2d402b08aee4e17a6fd38c87e0e5cd7aa30.

Reason for revert: Breaks Chromium

Original change's description:
> Remove AudioDeviceObserver and make ADM not inherit from the Module interface.
> 
> (Re-upload of https://codereview.webrtc.org/3020493002/)
> 
> Bug: webrtc:4690, webrtc:7306
> Change-Id: I67fb9ebca1296aabc08eae8a292a5c69832dc35e
> Reviewed-on: https://webrtc-review.googlesource.com/5360
> Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20083}

TBR=solenberg@webrtc.org,henrika@webrtc.org

Change-Id: Iad03cafb7865f5a22394c3d4d1d3ff3e0fccd4ff
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:4690, webrtc:7306
Reviewed-on: https://webrtc-review.googlesource.com/5402
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Commit-Queue: Fredrik Solenberg <solenberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20085}
This commit is contained in:
Fredrik Solenberg
2017-10-02 15:08:56 +00:00
committed by Commit Bot
parent bee50d90fc
commit d4404c232d
35 changed files with 698 additions and 14 deletions

View File

@ -58,6 +58,24 @@ class Module {
protected:
virtual ~Module() {}
};
// Reference counted version of the Module interface.
class RefCountedModule : public Module {
public:
// Increase the reference count by one.
// Returns the incremented reference count.
virtual int32_t AddRef() const = 0;
// Decrease the reference count by one.
// Returns the decreased reference count.
// Returns 0 if the last reference was just released.
// When the reference count reaches 0 the object will self-destruct.
virtual int32_t Release() const = 0;
protected:
~RefCountedModule() override = default;
};
} // namespace webrtc
#endif // MODULES_INCLUDE_MODULE_H_