mediafoundation: Add support video capture on UWP app
authorSeungha Yang <seungha@centricular.com>
Wed, 20 May 2020 14:23:08 +0000 (23:23 +0900)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 25 May 2020 15:09:20 +0000 (15:09 +0000)
commitc4cb51c63d39f64f8c89e2ee46b493994a44c1e4
tree631bfbd0dcaef4717133bde76d4749bcda4e2c76
parente580676747a096b32a82d5b66b506a22e1231459
mediafoundation: Add support video capture on UWP app

New video capture implementation using WinRT Media APIs for UWP app.
Due to the strict permission policy of UWP, device enumeration and
open should be done via new WinRT APIs and to get permission from users,
it will invoke permission dialog on UI.
Strictly saying, this implementation is not a part of MediaFoundation
but structurally it's very similar to MediaFoundation API.
So we can avoid some code duplication by adding this implementation
into MediaFoundation plugin.

This implementation requires UniversalApiContract version >= 6.0
which is part of Windows 10 version 1803 (Redstone 4)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241>
sys/mediafoundation/AsyncOperations.h [new file with mode: 0644]
sys/mediafoundation/gstmfcapturewinrt.cpp [new file with mode: 0644]
sys/mediafoundation/gstmfcapturewinrt.h [new file with mode: 0644]
sys/mediafoundation/gstmfdevice.c
sys/mediafoundation/gstmfsourceobject.c
sys/mediafoundation/gstmfvideosrc.c
sys/mediafoundation/mediacapturewrapper.cpp [new file with mode: 0644]
sys/mediafoundation/mediacapturewrapper.h [new file with mode: 0644]
sys/mediafoundation/meson.build
sys/mediafoundation/plugin.c