diff options
Diffstat (limited to 'dom/media/platforms/wmf/MFMediaEngineNotify.cpp')
-rw-r--r-- | dom/media/platforms/wmf/MFMediaEngineNotify.cpp | 32 |
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 |