[go: nahoru, domu]

[Chromecast] Remove is_cast_using_cma_backend flag.

All internal builds have this set to true, so no need to keep
this flag.

Merge-With: eureka-internal/288022

Bug: Internal b/136084695
Test: build/run Android TV and Android Things apks and unittests
Change-Id: I7815df32f721bf1e3c1be10a807a0fe557e4238f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1678549
Reviewed-by: Luke Halliwell <halliwell@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Kenneth MacKay <kmackay@chromium.org>
Commit-Queue: Simeon Anfinrud <sanfin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#673622}
diff --git a/build/config/chromecast_build.gni b/build/config/chromecast_build.gni
index 7e5c1ea..e27cccf6 100644
--- a/build/config/chromecast_build.gni
+++ b/build/config/chromecast_build.gni
@@ -21,10 +21,6 @@
 
   # Set this true for an audio-only Chromecast build.
   is_cast_audio_only = false
-
-  # If true, use cast CMA backend instead of default chromium media pipeline.
-  # TODO(sanfin): Remove this flag when all builds enable CMA.
-  is_cast_using_cma_backend = !is_android
 }
 
 # Note(slan): This arg depends on the value of is_chromecast, and thus must be
@@ -43,8 +39,7 @@
 declare_args() {
   # True to enable the cast renderer.  It is enabled by default for non-android
   # builds.
-  enable_cast_renderer =
-      is_chromecast && is_cast_using_cma_backend && !is_android
+  enable_cast_renderer = is_chromecast && !is_android
 }
 
 # Configures media options for cast.  See media/media_options.gni
diff --git a/chromecast/BUILD.gn b/chromecast/BUILD.gn
index 02043699..149c7820 100644
--- a/chromecast/BUILD.gn
+++ b/chromecast/BUILD.gn
@@ -98,7 +98,7 @@
     tests += [ "//chromecast/media/cma/backend:cast_audio_backend_unittests" ]
   }
 
-  if (is_android && is_cast_using_cma_backend) {
+  if (is_android) {
     tests += [ "//chromecast/media/cma/backend/android:cast_android_cma_backend_unittests" ]
   }
 
@@ -594,7 +594,6 @@
     "IS_ANDROID_THINGS_NON_PUBLIC=$is_android_things_non_public",
     "IS_CAST_AUDIO_ONLY=$is_cast_audio_only",
     "IS_CAST_DESKTOP_BUILD=$is_cast_desktop_build",
-    "IS_CAST_USING_CMA_BACKEND=$is_cast_using_cma_backend",
     "IS_SINGLE_VOLUME=$is_single_volume",
     "SUPPORTS_MULTIZONE=$supports_multizone",
     "USE_ANDROID_USER_AGENT=$use_android_user_agent",
diff --git a/chromecast/android/BUILD.gn b/chromecast/android/BUILD.gn
index a7827a1..92cca38 100644
--- a/chromecast/android/BUILD.gn
+++ b/chromecast/android/BUILD.gn
@@ -25,6 +25,7 @@
     "//chromecast/base:jni_headers",
     "//chromecast/base/metrics",
     "//chromecast/browser",
+    "//chromecast/media/cma/backend/android:cast_media_android",
     "//components/crash/android:crash_android",
     "//components/minidump_uploader",
     "//content/public/app:both",
@@ -44,8 +45,4 @@
       "//ui/shell_dialogs",
     ]
   }
-
-  if (is_cast_using_cma_backend) {
-    deps += [ "//chromecast/media/cma/backend/android:cast_media_android" ]
-  }
 }
diff --git a/chromecast/browser/android/BUILD.gn b/chromecast/browser/android/BUILD.gn
index 7317f7c..e730107 100644
--- a/chromecast/browser/android/BUILD.gn
+++ b/chromecast/browser/android/BUILD.gn
@@ -142,6 +142,7 @@
     ":reactive_android_java",
     "//base:base_java",
     "//chromecast/base:base_java",
+    "//chromecast/media/cma/backend/android:audio_track_java",
     "//components/crash/android:java",
     "//components/embedder_support/android:content_view_java",
     "//components/embedder_support/android:view_java",
@@ -150,16 +151,10 @@
     "//media/base/android:media_java",
     "//net/android:net_java",
     "//third_party/android_deps:com_android_support_support_compat_java",
-
-    # TODO(slan): We may need to pass this in as a parameter.
     "//third_party/android_deps:com_android_support_support_core_utils_java",
     "//ui/android:ui_java",
   ]
 
-  if (is_cast_using_cma_backend) {
-    deps += [ "//chromecast/media/cma/backend/android:audio_track_java" ]
-  }
-
   if (is_android_things_non_public) {
     deps += [ ":cast_shell_android_things_sys_info_java" ]
     if (enable_assistant) {
diff --git a/chromecast/browser/cast_browser_main_parts.cc b/chromecast/browser/cast_browser_main_parts.cc
index 1abfca51..0688306 100644
--- a/chromecast/browser/cast_browser_main_parts.cc
+++ b/chromecast/browser/cast_browser_main_parts.cc
@@ -365,7 +365,6 @@
 }
 
 CastBrowserMainParts::~CastBrowserMainParts() {
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   if (cast_content_browser_client_->GetMediaTaskRunner() &&
       media_pipeline_backend_manager_) {
     // Make sure that media_pipeline_backend_manager_ is destroyed after any
@@ -382,10 +381,8 @@
     cast_content_browser_client_->GetMediaTaskRunner()->DeleteSoon(
         FROM_HERE, media_pipeline_backend_manager_.release());
   }
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 }
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 media::MediaPipelineBackendManager*
 CastBrowserMainParts::media_pipeline_backend_manager() {
   if (!media_pipeline_backend_manager_) {
@@ -395,7 +392,6 @@
   }
   return media_pipeline_backend_manager_.get();
 }
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 
 media::MediaCapsImpl* CastBrowserMainParts::media_caps() {
   return media_caps_.get();
@@ -568,9 +564,7 @@
           video_plane_controller_.get(), window_manager_.get()));
   cast_browser_process_->cast_service()->Initialize();
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   cast_content_browser_client_->media_resource_tracker()->InitializeMediaLib();
-#endif
   ::media::InitializeMediaLibrary();
   media_caps_->Initialize();
 
diff --git a/chromecast/browser/cast_browser_main_parts.h b/chromecast/browser/cast_browser_main_parts.h
index 650a1c4..99ed6d2 100644
--- a/chromecast/browser/cast_browser_main_parts.h
+++ b/chromecast/browser/cast_browser_main_parts.h
@@ -76,9 +76,7 @@
                        CastContentBrowserClient* cast_content_browser_client);
   ~CastBrowserMainParts() override;
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   media::MediaPipelineBackendManager* media_pipeline_backend_manager();
-#endif
   media::MediaCapsImpl* media_caps();
   content::BrowserContext* browser_context();
 
@@ -117,13 +115,13 @@
   std::unique_ptr<base::RepeatingTimer> crash_reporter_timer_;
 #endif
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   // Tracks all media pipeline backends.
   std::unique_ptr<media::MediaPipelineBackendManager>
       media_pipeline_backend_manager_;
 
+#if !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
   std::unique_ptr<CastMemoryPressureMonitor> memory_pressure_monitor_;
-#endif
+#endif  // !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
 
 #if BUILDFLAG(ENABLE_CHROMECAST_EXTENSIONS)
   std::unique_ptr<extensions::ExtensionsClient> extensions_client_;
diff --git a/chromecast/browser/cast_content_browser_client.cc b/chromecast/browser/cast_content_browser_client.cc
index 5e43b70..b610437 100644
--- a/chromecast/browser/cast_content_browser_client.cc
+++ b/chromecast/browser/cast_content_browser_client.cc
@@ -240,10 +240,8 @@
 }
 
 CastContentBrowserClient::~CastContentBrowserClient() {
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   DCHECK(!media_resource_tracker_)
       << "ResetMediaResourceTracker was not called";
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   cast_network_contexts_.reset();
   content::BrowserThread::DeleteSoon(content::BrowserThread::IO, FROM_HERE,
                                      url_request_context_factory_.release());
@@ -267,7 +265,6 @@
 
 scoped_refptr<base::SingleThreadTaskRunner>
 CastContentBrowserClient::GetMediaTaskRunner() {
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   if (!media_thread_) {
     media_thread_.reset(new base::Thread("CastMediaThread"));
     base::Thread::Options options;
@@ -281,12 +278,8 @@
         base::ThreadTaskRunnerHandle::Get(), media_thread_->task_runner());
   }
   return media_thread_->task_runner();
-#else
-  return nullptr;
-#endif
 }
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 media::VideoResolutionPolicy*
 CastContentBrowserClient::GetVideoResolutionPolicy() {
   return nullptr;
@@ -369,7 +362,6 @@
 #endif  // defined(OS_ANDROID)
   return true;
 }
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 
 #if BUILDFLAG(USE_CHROMECAST_CDMS)
 std::unique_ptr<::media::CdmFactory> CastContentBrowserClient::CreateCdmFactory(
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index 81132ce..623ffc0 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -97,7 +97,6 @@
   // Returns the task runner that must be used for media IO.
   scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner();
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   // Gets object for enforcing video resolution policy restrictions.
   virtual media::VideoResolutionPolicy* GetVideoResolutionPolicy();
 
@@ -113,7 +112,6 @@
   std::unique_ptr<::media::AudioManager> CreateAudioManager(
       ::media::AudioLogFactory* audio_log_factory) override;
   bool OverridesAudioManager() override;
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   media::MediaCapsImpl* media_caps();
 
 #if !defined(OS_ANDROID) && !defined(OS_FUCHSIA)
@@ -296,13 +294,11 @@
 #endif  // !defined(OS_ANDROID)
 #endif  // !defined(OS_FUCHSIA)
 
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
   // CMA thread used by AudioManager, MojoRenderer, and MediaPipelineBackend.
   std::unique_ptr<base::Thread> media_thread_;
 
   // Tracks usage of media resource by e.g. CMA pipeline, CDM.
   media::MediaResourceTracker* media_resource_tracker_ = nullptr;
-#endif  // BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
 
   // Created by CastContentBrowserClient but owned by BrowserMainLoop.
   CastBrowserMainParts* cast_browser_main_parts_;
diff --git a/chromecast/browser/cast_web_view_default.cc b/chromecast/browser/cast_web_view_default.cc
index 04517ba..5a1a700 100644
--- a/chromecast/browser/cast_web_view_default.cc
+++ b/chromecast/browser/cast_web_view_default.cc
@@ -81,18 +81,9 @@
 #endif
 
 #if BUILDFLAG(IS_ANDROID_THINGS)
-// Configure the ducking multiplier for AThings speakers. When CMA backend is
-// used we don't want the Chromium MediaSession to duck since we are doing
-// our own ducking. When no CMA backend is used we rely on the MediaSession
-// for ducking. In that case set it to a proper value to match the ducking
-// done in CMA backend.
-#if BUILDFLAG(IS_CAST_USING_CMA_BACKEND)
-  // passthrough, i.e., disable ducking
+  // Configure the ducking multiplier for AThings speakers. We don't want the
+  // Chromium MediaSession to duck since we are doing our own ducking.
   constexpr double kDuckingMultiplier = 1.0;
-#else
-  // duck by -30dB
-  constexpr double kDuckingMultiplier = 0.03;
-#endif
   content::MediaSession::Get(web_contents_.get())
       ->SetDuckingVolumeMultiplier(kDuckingMultiplier);
 #endif
diff --git a/chromecast/chromecast.gni b/chromecast/chromecast.gni
index 8410c94e..5fca09e 100644
--- a/chromecast/chromecast.gni
+++ b/chromecast/chromecast.gni
@@ -152,7 +152,7 @@
 # Use Chromecast CDMs for protected content. Some Android platforms use
 # MediaDrm for CDM support.
 declare_args() {
-  use_chromecast_cdms = is_cast_using_cma_backend
+  use_chromecast_cdms = true
 }
 
 foreach(target_type,
diff --git a/chromecast/media/BUILD.gn b/chromecast/media/BUILD.gn
index 43547f13..1219bb1 100644
--- a/chromecast/media/BUILD.gn
+++ b/chromecast/media/BUILD.gn
@@ -20,15 +20,9 @@
 # Handles the various differences between (ATV, Things, desktop, device builds).
 group("libcast_media") {
   if (is_android) {
-    if (is_cast_using_cma_backend) {
-      deps = [
-        "//chromecast/media/cma/backend/android:cast_media_android",
-      ]
-    } else {
-      deps = [
-        "//chromecast/media/cma/backend:cast_media_android_dummy",
-      ]
-    }
+    deps = [
+      "//chromecast/media/cma/backend/android:cast_media_android",
+    ]
   } else if (is_fuchsia) {
     deps = [
       "//chromecast/media/cma/backend/fuchsia:media_backend",
@@ -70,6 +64,7 @@
     "//chromecast/base/metrics:test_support",
     "//chromecast/common/mojom",
     "//chromecast/media/cma:test_support",
+    "//chromecast/media/cma:unittests",
     "//chromecast/public",
     "//content/test:test_support",
     "//media:test_support",
@@ -80,14 +75,11 @@
     "//testing/gtest",
   ]
 
-  if (is_cast_using_cma_backend) {
-    deps += [ "//chromecast/media/cma:unittests" ]
-    if (is_android) {
-      deps += [
-        "//chromecast/media/cma/backend/android:audio_track_java",
-        "//media/base/android:media_java",
-      ]
-      shard_timeout = 300
-    }
+  if (is_android) {
+    deps += [
+      "//chromecast/media/cma/backend/android:audio_track_java",
+      "//media/base/android:media_java",
+    ]
+    shard_timeout = 300
   }
 }
diff --git a/chromecast/media/audio/cast_audio_manager.h b/chromecast/media/audio/cast_audio_manager.h
index dcac0c3..f114a235 100644
--- a/chromecast/media/audio/cast_audio_manager.h
+++ b/chromecast/media/audio/cast_audio_manager.h
@@ -116,6 +116,7 @@
 #endif
 
  private:
+  FRIEND_TEST_ALL_PREFIXES(CastAudioManagerTest, CanMakeStreamProxy);
   friend class CastAudioMixer;
   friend class CastAudioManagerTest;
   friend class CastAudioOutputStreamTest;
diff --git a/chromecast/media/audio/cast_audio_manager_unittest.cc b/chromecast/media/audio/cast_audio_manager_unittest.cc
index 369384a3..dd4f73e 100644
--- a/chromecast/media/audio/cast_audio_manager_unittest.cc
+++ b/chromecast/media/audio/cast_audio_manager_unittest.cc
@@ -211,8 +211,7 @@
   RunThreadsUntilIdle();
 }
 
-#if defined(OS_ANDROID) && !BUILDFLAG(IS_ANDROID_THINGS)
-// Android things emulators do not support AC3 codec
+#if defined(OS_ANDROID)
 TEST_F(CastAudioManagerTest, CanMakeAC3Stream) {
   const ::media::AudioParameters kAC3AudioParams(
       ::media::AudioParameters::AUDIO_BITSTREAM_AC3,
@@ -220,22 +219,23 @@
       256);
   ::media::AudioOutputStream* stream = audio_manager_->MakeAudioOutputStream(
       kAC3AudioParams, "", ::media::AudioManager::LogCallback());
-  EXPECT_TRUE(stream->Open());
+  EXPECT_TRUE(stream);
+  // Only run the rest of the test if the device supports AC3.
+  if (stream->Open()) {
+    EXPECT_CALL(mock_source_callback_, OnMoreData(_, _, _, _))
+        .WillRepeatedly(Invoke(OnMoreData));
+    EXPECT_CALL(mock_source_callback_, OnError()).Times(0);
+    stream->Start(&mock_source_callback_);
+    RunThreadsUntilIdle();
 
-  EXPECT_CALL(mock_source_callback_, OnMoreData(_, _, _, _))
-      .WillRepeatedly(Invoke(OnMoreData));
-  EXPECT_CALL(mock_source_callback_, OnError()).Times(0);
-  stream->Start(&mock_source_callback_);
-  RunThreadsUntilIdle();
-
-  stream->Stop();
-  RunThreadsUntilIdle();
-
+    stream->Stop();
+    RunThreadsUntilIdle();
+  }
   stream->Close();
 }
-#endif  // defined(OS_ANDROID) && !BUILDFLAG(IS_ANDROID_THINGS)
+#endif  // defined(OS_ANDROID)
 
-TEST_F(CastAudioManagerTest, DISABLED_CanMakeStreamProxy) {
+TEST_F(CastAudioManagerTest, CanMakeStreamProxy) {
   SetUpBackendAndDecoder();
   ::media::AudioOutputStream* stream =
       audio_manager_->MakeAudioOutputStreamProxy(kDefaultAudioParams, "");
@@ -251,8 +251,6 @@
 
   stream->Close();
   RunThreadsUntilIdle();
-  // TODO(steinbock) Figure out why stream is not unregistering itself from
-  // audio_manager_
 }
 
 TEST_F(CastAudioManagerTest, CanMakeMixerStream) {
diff --git a/chromecast/media/cdm/BUILD.gn b/chromecast/media/cdm/BUILD.gn
index 543fd6d..571fd09 100644
--- a/chromecast/media/cdm/BUILD.gn
+++ b/chromecast/media/cdm/BUILD.gn
@@ -7,6 +7,12 @@
 
 cast_source_set("cdm") {
   sources = [
+    "cast_cdm.cc",
+    "cast_cdm.h",
+    "cast_cdm_context.cc",
+    "cast_cdm_context.h",
+    "cast_cdm_factory.cc",
+    "cast_cdm_factory.h",
     "chromecast_init_data.cc",
     "chromecast_init_data.h",
   ]
@@ -14,26 +20,12 @@
   deps = [
     "//base",
     "//chromecast/base/metrics",
+    "//chromecast/media/base",
+    "//chromecast/media/base:media_resource_tracker",
     "//media",
+    "//url",
   ]
 
-  if (is_cast_using_cma_backend) {
-    sources += [
-      "cast_cdm.cc",
-      "cast_cdm.h",
-      "cast_cdm_context.cc",
-      "cast_cdm_context.h",
-      "cast_cdm_factory.cc",
-      "cast_cdm_factory.h",
-    ]
-
-    deps += [
-      "//chromecast/media/base",
-      "//chromecast/media/base:media_resource_tracker",
-      "//url:url",
-    ]
-  }
-
   if (is_android && enable_playready) {
     sources += [
       "playready_drm_delegate_android.cc",
diff --git a/chromecast/media/cma/backend/BUILD.gn b/chromecast/media/cma/backend/BUILD.gn
index 8f750e2..bf11007 100644
--- a/chromecast/media/cma/backend/BUILD.gn
+++ b/chromecast/media/cma/backend/BUILD.gn
@@ -48,18 +48,6 @@
   ]
 }
 
-cast_source_set("cast_media_android_dummy") {
-  sources = [
-    "cast_media_android_dummy.cc",
-  ]
-  deps = [
-    "//base",
-    "//chromecast:chromecast_buildflags",
-    "//chromecast/public",
-    "//chromecast/public/media",
-  ]
-}
-
 # Target for OEM partners to override media shared library, i.e.
 # libcast_media_1.0.so. This target is only used to build executables
 # with correct linkage information.
diff --git a/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java b/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
index d18031d..bce8d382 100644
--- a/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
+++ b/chromecast/media/cma/backend/android/java/src/org/chromium/chromecast/cma/backend/android/AudioSinkAudioTrackImpl.java
@@ -476,10 +476,10 @@
     }
 
     int getUnderrunCount() {
-        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
             return mAudioTrack.getUnderrunCount();
         }
-        // Using pre-M API.
+        // Using pre-N API.
         return 0;
     }
 
diff --git a/chromecast/media/cma/backend/cast_media_android_dummy.cc b/chromecast/media/cma/backend/cast_media_android_dummy.cc
deleted file mode 100644
index d2b7b54..0000000
--- a/chromecast/media/cma/backend/cast_media_android_dummy.cc
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "base/logging.h"
-#include "chromecast/public/cast_media_shlib.h"
-#include "chromecast/public/media/decoder_config.h"
-#include "chromecast/public/media/media_capabilities_shlib.h"
-#include "chromecast/public/volume_control.h"
-
-namespace chromecast {
-namespace media {
-
-void CastMediaShlib::Initialize(const std::vector<std::string>& argv) {}
-
-void CastMediaShlib::Finalize() {}
-
-VideoPlane* CastMediaShlib::GetVideoPlane() {
-  return nullptr;
-}
-
-MediaPipelineBackend* CastMediaShlib::CreateMediaPipelineBackend(
-    const MediaPipelineDeviceParams& params) {
-  return nullptr;
-}
-
-double CastMediaShlib::GetMediaClockRate() {
-  return 0.0;
-}
-
-double CastMediaShlib::MediaClockRatePrecision() {
-  return 0.0;
-}
-
-void CastMediaShlib::MediaClockRateRange(double* minimum_rate,
-                                         double* maximum_rate) {}
-
-bool CastMediaShlib::SetMediaClockRate(double new_rate) {
-  return false;
-}
-
-bool CastMediaShlib::SupportsMediaClockRateChange() {
-  return false;
-}
-
-bool MediaCapabilitiesShlib::IsSupportedVideoConfig(VideoCodec codec,
-                                                    VideoProfile profile,
-                                                    int level) {
-  // This should not be called directly.
-  NOTREACHED() << "Unexpected call to "
-               << "MediaCapabilitiesShlib::IsSupportedVideoConfig on Android";
-  return false;
-}
-
-bool MediaCapabilitiesShlib::IsSupportedAudioConfig(const AudioConfig& config) {
-  // This should not be called directly.
-  NOTREACHED() << "Unexpected call to "
-               << "MediaCapabilitiesShlib::IsSupportedAudioConfig on Android";
-  return false;
-}
-
-void VolumeControl::Initialize(const std::vector<std::string>& argv) {}
-void VolumeControl::Finalize() {}
-void VolumeControl::AddVolumeObserver(VolumeObserver* observer) {}
-void VolumeControl::RemoveVolumeObserver(VolumeObserver* observer) {}
-
-float VolumeControl::GetVolume(AudioContentType type) {
-  return 0.0f;
-}
-
-void VolumeControl::SetVolume(VolumeChangeSource source,
-                              AudioContentType type,
-                              float level) {}
-
-bool VolumeControl::IsMuted(AudioContentType type) {
-  return false;
-}
-
-void VolumeControl::SetMuted(VolumeChangeSource source,
-                             AudioContentType type,
-                             bool muted) {}
-
-void VolumeControl::SetOutputLimit(AudioContentType type, float limit) {}
-
-float VolumeControl::VolumeToDbFS(float volume) {
-  return 0.0f;
-}
-
-float VolumeControl::DbFSToVolume(float db) {
-  return 0.0f;
-}
-
-}  // namespace media
-}  // namespace chromecast