Sebastian Dröge
5a79d230ce
ptp: Set UDP sockets as non-blocking
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4665 >
2023-05-24 14:16:23 +00:00
Sebastian Dröge
b76f9c8392
ptp: Capture actual send/receive times in the helper process
...
While this doesn't yet use any OS provided times from the actual network
stack, this still gets rid of any IPC jitter between the helper process
and the main process as part of the PTP time calculations and should
improve accuracy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4665 >
2023-05-24 14:16:23 +00:00
Sebastian Dröge
d55492add4
ptp: Fix compilation with Rust 1.48
...
Use `ErrorKind::NotFound` instead of `ErrorKind::Unsupported` if the
`getrandom` syscall is not available. `Unsupported` was added in 1.53.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4647 >
2023-05-19 12:47:28 +00:00
Sebastian Dröge
87ca02bee7
ptp: Add logging between the helper process and the main process via stderr
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4647 >
2023-05-19 12:47:28 +00:00
Sebastian Dröge
b74669a38a
ptp: Get rid of struct padding in the messages with the helper process
...
Also remove the now unnecessary private header file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4647 >
2023-05-19 12:47:28 +00:00
Sebastian Dröge
0219b6f6fa
ptp-helper: Add some tests for functionality and memory safety of unsafe code
...
These tests are mostly for ensuring that the calls to system APIs are
done correctly and that there are no memory bugs (that would be caught
by valgrind) in the unsafe code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4458 >
2023-05-12 17:06:01 +00:00
Sebastian Dröge
6378ebbdcd
ptp-helper: Add a feature option for the PTP support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
2e84603b02
ptp-helper: Convert various meson message() to warning()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
7cba04f2c6
ptp-helper: Don't check for a Rust compiler on unsupported platforms
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
b35d598003
ptp-helper: Check for the required Rust toolchain version via meson
...
If an older version is found that gives a more useful output than a
compiler error at a later time.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4410 >
2023-04-13 12:43:25 +00:00
Sebastian Dröge
9d25a5075e
ptp-helper: Set a process priority / nice value of -5 on UNIX platforms
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
572d344482
ptp-helper: Set thread priority to time-critical on Windows
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +00:00
Sebastian Dröge
3fdfcdf2f6
ptp-helper: Rewrite in Rust for portability and security
...
This works on Linux, Android, Windows, macOS, FreeBSD, NetBSD, OpenBSD,
DragonFlyBSD, Solaris and Illumos.
Newly supported compared to the C version is Windows.
Compared to the C version various error paths are handled more correctly
and a couple of memory leaks are fixed. Otherwise it should work identically.
The minimum required Rust version for compiling this is 1.48, i.e. the
version currently in Debian stable. On Windows, Rust 1.54 is needed at
least.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1259
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3889 >
2023-04-07 15:49:02 +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
Xavier Claessens
5f0493d33a
meson: Set install_tag on some targets
...
Trying to follow recommendation from Meson documentation:
https://mesonbuild.com/Installing.html#installation-tags
Move tools into 'bin' or 'bin-devel' categories to keep only libs and
plugins in the default 'runtime' category. This simplifies distribution
of GStreamer application skipping parts that are not needed, similarly
to what Cerbero does by hardcoding huge list of files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017 >
2022-09-20 10:08:15 +00:00
Xavier Claessens
b225f4215b
meson: Add PYTHONPATH to load GDB helper module
...
Meson generates a gdbinit file that will automatically load gstreamer
script. However that script uses a helper python module that needs
PYTHONPATH to be pointing into the right location in the source
tree to be able to find gst_gdb.py.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1796 >
2022-04-22 11:53:31 +00:00
Xavier Claessens
b004464ac6
Remove glib and gobject dependencies everywhere
...
They are part of gst_dep already and we have to make sure to always have
gst_dep. The order in dependencies matters, because it is also the order
in which Meson will set -I args. We want gstreamer's config.h to take
precedence over glib's private config.h when it's a subproject.
While at it, remove useless fallback args for gmodule/gio dependencies,
only gstreamer core needs it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2031 >
2022-04-01 16:32:17 +00:00
Xavier Claessens
0fa7923937
Meson: Set install_tag on some files
...
Meson tries to guess the tag (runtime, devel, etc) for every installed
file, but it cannot guess them all. There is a list at the end of
meson-log.txt of files we need to tag manually.
See https://mesonbuild.com/Installing.html#installation-tags .
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1934 >
2022-03-14 08:56:54 -04:00
Xavier Claessens
3d8372cc50
devenv: Add some missing GStreamer specific env variables
...
This should make "meson devenv" closer to what "gst-env.py" sets.
- GST_VALIDATE_SCENARIOS_PATH
- GST_VALIDATE_APPS_DIR
- GST_OMX_CONFIG_DIR
- GST_ENCODING_TARGET_PATH
- GST_PRESET_PATH
- GST_PLUGIN_SCANNER
- GST_PTP_HELPER
- _GI_OVERRIDES_PATH
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768 >
2022-02-25 20:35:26 +00:00
Nirbheek Chauhan
557d385d6c
gst-ptp-helper: Do not disable multicast loopback
...
Otherwise we cannot run gst-ptp-helper if the PTP master is on the
same device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1306 >
2021-11-08 07:27:08 +00:00
Tim-Philipp Müller
081cada7cb
meson: fix use of deprecated meson api external_program.path()
...
Just using .full_path() instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1183 >
2021-10-20 11:20:44 +00:00
Thibault Saunier
6c364d9626
Move files from gstreamer into the "subprojects/gstreamer/" subdir
2021-09-24 16:13:07 -03:00