Seungha Yang
f57370c4db
mfvideosrc: Fix negotiation when interlace-mode is specified
...
Given caps does not need to be strictly subset of device caps.
Allow accept it if device caps and requested caps can intersect
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1619
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2384 >
2021-07-08 19:06:28 +09:00
Seungha Yang
d4f8e3cf53
mediafoundation: Port to IID_PPV_ARGS
...
Make code short where possible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:38:44 +09:00
Seungha Yang
3f8632dc96
mediafoundation: Run gst-indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2375 >
2021-07-04 00:37:57 +09:00
Seungha Yang
1d6cdbdc90
mediafoundation: Fix resource leak
...
IMFActivate would hold its internal objects unless user call ShutdownObject(),
even if we release the IMFActivate. Here internal objects may
include Direct3D objects, such as texture, device handle for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2087 >
2021-03-16 09:47:41 +00:00
Seungha Yang
20d9283e3d
mfvideosrc: Use only the first video stream per device
...
Non-first video stream might not be working with current
implementation. It could be non-video (e.g., photo source) and then
ReadSample() might be blocked forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1661 >
2020-10-08 20:43:58 +00:00
Seungha Yang
9ecdfea7da
mfvideosrc: Fix invalid memory access when outputting jpeg
...
Don't access unknown-dangerous-nonsense address
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1662 >
2020-10-08 16:28:16 +00:00
Seungha Yang
47bbc997f8
mfvideosrc: Set timestamp on buffer when it's captured
...
Capture the timestamp immediately when new frame is arrived,
instead of doing that on ::create() method. There would be
time gap between captured time and outputting time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1351 >
2020-09-10 10:21:00 +00:00
Seungha Yang
6c52008413
mfvideosrc: Expose sorted caps
...
Sort the list of supported caps for downstream to be able to select
the best image in terms of quality (resolution and framerate) by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1452 >
2020-07-22 18:11:18 +09:00
Seungha Yang
c3ecea0aa4
mfvideosrc: Don't expose unsupported formats
...
Some UVC cameras support H.264 stream but we don't support it yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1452 >
2020-07-22 18:10:57 +09:00
Seungha Yang
a43d6f6cd9
mfvideosrc: Enable WinRT capture impl. for desktop target
...
... if target OS version was specified as Windows 10.
When enabled, desktop application can select target capture
implementation between WinRT and Win32
via GST_USE_MF_WINRT_CAPTURE environment
(e,g., GST_USE_MF_WINRT_CAPTURE=1 for WinRT impl.).
Default is Win32 implementation in case of desktop target.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1434 >
2020-07-14 16:59:06 +00:00
Seungha Yang
1a68da54b6
mfvideosrc: Add support for jpeg on Win32 application
...
Enable reading jpeg data from webcam if it's supported.
Note that this would be enabled only for Win32.
For UWP, we need to research more about how to support jpeg.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1342 >
2020-06-17 17:45:32 +09:00
Seungha Yang
8ce4980273
mfsourceobject: Remove useless null check for string
...
We can pass null for the value of string type property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241 >
2020-05-25 15:09:20 +00:00
Seungha Yang
50b36ce257
mediafoundation: Use G_BEGIN_DECLS/G_END_DECLS pair everywhere
...
... instead of extern "c" {} block.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241 >
2020-05-25 15:09:20 +00:00
Seungha Yang
6ae478946c
mediafoundation: Fix typo in source object impl.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1241 >
2020-05-25 15:09:20 +00:00
Seungha Yang
8afc283b51
mediafoundation: Refactor GstMFSourceObject implementation
...
* Move CoInitializeEx/CoUninitialize pair into thread function in order to
ensure MTA COM thread
* Move common code to baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1269 >
2020-05-15 09:03:13 +00:00
Seungha Yang
eece89042a
mediafoundation: Introduce Microsoft Media Foundation plugin
...
The Microsoft Media Foundation (MF) is the successor of DirectShow.
This commit includes two kinds of video capture implementation,
one uses IMFSourceReader interface which is available since Windows Vista
and the other is based on IMFCaptureEngine interface which is available
since Windows 8.
Note that this new video source element cannot be used in UWP app
for now, since device activation using those APIs are not allowed by MS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760 >
2020-04-28 14:37:31 +00:00