Mark MediaBufferImpl as final.

Without being marked final, calling "delete this" produces a warning
because IMediaBuffer/IUnknown don't have a virtual destructor when
-Wdelete-non-virtual-dtor is set.

Bug: None
Change-Id: I1905e4e5b0beab695cc7a4b901542b3aeb789b20
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/128821
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Noah Richards <noahric@chromium.org>
Cr-Commit-Position: refs/heads/master@{#27251}
diff --git a/modules/audio_device/BUILD.gn b/modules/audio_device/BUILD.gn
index 52e0181..b4f7035 100644
--- a/modules/audio_device/BUILD.gn
+++ b/modules/audio_device/BUILD.gn
@@ -18,7 +18,6 @@
     cflags = [
       # Disable warnings failing when compiling with Clang on Windows.
       # https://bugs.chromium.org/p/webrtc/issues/detail?id=5366
-      "-Wno-delete-non-virtual-dtor",
       "-Wno-microsoft-goto",
     ]
   }
diff --git a/modules/audio_device/win/audio_device_core_win.cc b/modules/audio_device/win/audio_device_core_win.cc
index 159db92..11ba5c3 100644
--- a/modules/audio_device/win/audio_device_core_win.cc
+++ b/modules/audio_device/win/audio_device_core_win.cc
@@ -92,7 +92,7 @@
 //
 // Example implementation:
 // http://msdn.microsoft.com/en-us/library/dd376684(v=vs.85).aspx
-class MediaBufferImpl : public IMediaBuffer {
+class MediaBufferImpl final : public IMediaBuffer {
  public:
   explicit MediaBufferImpl(DWORD maxLength)
       : _data(new BYTE[maxLength]),