[M120 Migration][MM][CAPI] Fix the logic for media using capi player.
[platform/framework/web/chromium-efl.git] / media / mojo / services / media_foundation_gpu_info_monitor.cc
1 // Copyright 2022 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "media/mojo/services/media_foundation_gpu_info_monitor.h"
6
7 namespace media {
8
9 // static
10 MediaFoundationGpuInfoMonitor* MediaFoundationGpuInfoMonitor::GetInstance() {
11   static auto* instance = new MediaFoundationGpuInfoMonitor();
12   return instance;
13 }
14
15 MediaFoundationGpuInfoMonitor::MediaFoundationGpuInfoMonitor() = default;
16 MediaFoundationGpuInfoMonitor::~MediaFoundationGpuInfoMonitor() = default;
17
18 void MediaFoundationGpuInfoMonitor::UpdateGpuInfo(
19     const gpu::GPUInfo& gpu_info) {
20   auto new_gpu_luid = gpu_info.active_gpu().luid;
21   if (new_gpu_luid != gpu_luid_) {
22     gpu_luid_ = new_gpu_luid;
23     luid_observers_.Notify(new_gpu_luid);
24   }
25 }
26
27 base::CallbackListSubscription MediaFoundationGpuInfoMonitor::AddLuidObserver(
28     MediaFoundationGpuInfoMonitor::LuidObservers::CallbackType cb) {
29   return luid_observers_.Add(std::move(cb));
30 }
31
32 }  // namespace media