summaryrefslogtreecommitdiffstats
path: root/dom/media/platforms/wmf/MFMediaEngineNotify.cpp
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /dom/media/platforms/wmf/MFMediaEngineNotify.cpp
parentInitial commit. (diff)
downloadthunderbird-upstream.tar.xz
thunderbird-upstream.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'dom/media/platforms/wmf/MFMediaEngineNotify.cpp')
-rw-r--r--dom/media/platforms/wmf/MFMediaEngineNotify.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/dom/media/platforms/wmf/MFMediaEngineNotify.cpp b/dom/media/platforms/wmf/MFMediaEngineNotify.cpp
new file mode 100644
index 0000000000..a33757ac26
--- /dev/null
+++ b/dom/media/platforms/wmf/MFMediaEngineNotify.cpp
@@ -0,0 +1,32 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "MFMediaEngineNotify.h"
+
+#include "MFMediaEngineUtils.h"
+
+namespace mozilla {
+
+#define LOG(msg, ...) \
+ MOZ_LOG(gMFMediaEngineLog, LogLevel::Debug, \
+ ("MFMediaEngineNotify=%p, " msg, this, ##__VA_ARGS__))
+
+IFACEMETHODIMP MFMediaEngineNotify::EventNotify(DWORD aEvent, DWORD_PTR aParam1,
+ DWORD aParam2) {
+ auto event = static_cast<MF_MEDIA_ENGINE_EVENT>(aEvent);
+ LOG("Received media engine event %s", MediaEngineEventToStr(event));
+ MFMediaEngineEventWrapper engineEvent{event};
+ if (event == MF_MEDIA_ENGINE_EVENT_ERROR ||
+ event == MF_MEDIA_ENGINE_EVENT_FORMATCHANGE ||
+ event == MF_MEDIA_ENGINE_EVENT_NOTIFYSTABLESTATE) {
+ engineEvent.mParam1 = Some(aParam1);
+ engineEvent.mParam2 = Some(aParam2);
+ }
+ mEngineEvents.Notify(engineEvent);
+ return S_OK;
+}
+
+#undef LOG
+
+} // namespace mozilla