Seungha Yang
75ddcd7566
pluginloader-win32: Early terminate if plugin loader binary is not installed
...
External plugin loader support for Windows is introduced
in this dev cycle. Since helper binary was not required (useless)
before this version, people may not ship the binary
with new GStreamer version, then they will observe warning message.
Instead of displaying the warning at plugin loading time,
checks helper bin earlier and disable external plugin loader
if helper binary is not installed.
Fixes: https://gitlab.freedesktop.org/gstreamer/cerbero/-/issues/448
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6083 >
2024-02-11 13:49:34 +00:00
Seungha Yang
b545bd2ac5
pluginloader-win32: Increase plugin loading timeout
...
Some hardware plugin loading might take more than 10sec under
full CPU load condition
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5545 >
2023-10-25 20:13:07 +00:00
Seungha Yang
c789b66971
pluginloader-win32: Use UWP compatible Windows API
...
CreateFile2 API should be used in case of UWP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4556 >
2023-05-06 19:13:29 +00:00
Sebastian Dröge
7e12f8fb6a
gstreamer: #undef a few local #defines after usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4541 >
2023-05-04 00:17:47 +03:00
Sebastian Dröge
5cb245b011
gst: pluginloader: De-duplicate count_directories() private function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4538 >
2023-05-03 17:01:07 +00:00
Seungha Yang
acdf70e576
pluginloader-win32: Fix for pipe connection error
...
Don't error out on WAIT_IO_COMPLETION. It means queued APC job
was executed but the job may not be our callback.
For example, user or system might be able to schedule APC on
gst_init() thread or so.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4405 >
2023-04-13 07:08:09 +00:00
Seungha Yang
c0a4f41525
pluginloader-win32: Prepend gstreamer-1.0-0.dll directory to PATH env for child process
...
Usually gst-plugin-scanner.exe will be located under libexec/gstreamer-1.0
or even somewhere user specified location via GST_PLUGIN_SCANNER
environment. So, in order for child process to be able to load
GStreamer DLLs, parent process will need to update PATH env
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3886 >
2023-02-03 14:25:21 +00:00
Seungha Yang
09d29cca5a
pluginloader-win32: Watch child process handle on connection
...
... so that parent can avoid waiting if child process got terminated
unexpectedly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:11 +00:00
Seungha Yang
464a8be3a4
pluginloader-win32: Check pipe state in child process
...
Retry if server is not ready for the connection
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:11 +00:00
Seungha Yang
0df7cd852c
pluginloader-win32: Enhance debug log
...
Change log level to ERROR if it's unexpected, and print error reasons
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:10 +00:00
Seungha Yang
f314884b7d
pluginloader-win32: Zero initialize overlapped struct before use
...
Helper child process might be spawned multiple times for some reason
then overlapped struct can hold garbage data. Always clear the struct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3863 >
2023-02-01 17:00:10 +00:00
Seungha Yang
621feb32e9
gst-plugin-scanner: Add support for Windows
...
Adding Win32 specific plugin loader implementation.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/11
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3512 >
2023-01-25 18:24:28 +00:00