Windows PTP support not integrated into build system
elif host_system == 'windows'
message('PTP not supported on Windows, not ported yet.')
The PTP code contains Windows-specific code paths so I assume this was working with the autotools build.
CC @nirbheek
Designs
- Show closed items
Related merge requests 2
When these merge requests are accepted, this issue will be closed automatically.
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Sebastian Dröge added Regression label
added Regression label
- Maintainer
The PTP code contains Windows-specific code paths so I assume this was working with the autotools build.
It contains no windows-specific code-paths so I think it was only working by using mingw wrappers for windows APIs.
- Author Owner
There's some
#ifdef G_OS_WIN32
in https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer/libs/gst/net/gstptpclock.c for the process spawning. - Maintainer
Ah, okay. I was looking in the helper.
- Tim-Philipp Müller added Build Windows labels
- Andrew Hawkins mentioned in issue #1558 (closed)
mentioned in issue #1558 (closed)
- Developer
hard to believe it ever worked on Windows
- Seungha Yang assigned to @seungha.yang
assigned to @seungha.yang
- Seungha Yang added Enhancement label and removed Build Regression labels
added Enhancement label and removed Build Regression labels
- Author Owner
I don't think it worked, it only compiled :)
- Author Owner
Maybe this would be a good opportunity to rewrite the helper process in Rust. It doesn't have to depend on anything GLib or lots of other crates (so we can bundle the 1-2, if we need any at all), and we could build with meson's Rust support. Considering that the helper process runs as setuid root or otherwise elevated privileges, this would probably be a good idea.
The clock in libgstnet itself should be fine as is. There's a lot of Windows code in there already so it probably works, and if not can be made to work easily by using the
GSubprocess
API from gio (libgstnet depends on GIO anyway). - Sebastian Dröge mentioned in commit slomo/gstreamer@b4356c2e
mentioned in commit slomo/gstreamer@b4356c2e
- Sebastian Dröge mentioned in merge request !3887 (merged)
mentioned in merge request !3887 (merged)
- Author Owner
The first part of that has happened in !3887 (merged) now. The other parts come later.
- Sebastian Dröge assigned to @slomo and unassigned @seungha.yang
assigned to @slomo and unassigned @seungha.yang
- Sebastian Dröge mentioned in commit slomo/gstreamer@ee8d7309
mentioned in commit slomo/gstreamer@ee8d7309
- Sebastian Dröge mentioned in commit slomo/gstreamer@9d69baa1
mentioned in commit slomo/gstreamer@9d69baa1
- Sebastian Dröge mentioned in commit slomo/gstreamer@030b1210
mentioned in commit slomo/gstreamer@030b1210
- Sebastian Dröge mentioned in commit slomo/gstreamer@716aaa56
mentioned in commit slomo/gstreamer@716aaa56
- Sebastian Dröge mentioned in commit slomo/gstreamer@8d25888d
mentioned in commit slomo/gstreamer@8d25888d
- Sebastian Dröge mentioned in merge request !3889 (merged)
mentioned in merge request !3889 (merged)
- Sebastian Dröge mentioned in commit slomo/gstreamer@43c569b7
mentioned in commit slomo/gstreamer@43c569b7
- Sebastian Dröge mentioned in commit slomo/gstreamer@b921b720
mentioned in commit slomo/gstreamer@b921b720
- Sebastian Dröge mentioned in commit slomo/gstreamer@0e66640d
mentioned in commit slomo/gstreamer@0e66640d
- Sebastian Dröge mentioned in commit slomo/gstreamer@4669677c
mentioned in commit slomo/gstreamer@4669677c
- Sebastian Dröge mentioned in commit slomo/gstreamer@62cbbffa
mentioned in commit slomo/gstreamer@62cbbffa
- Sebastian Dröge mentioned in commit slomo/gstreamer@1678e962
mentioned in commit slomo/gstreamer@1678e962
- Sebastian Dröge mentioned in commit slomo/gstreamer@03950e26
mentioned in commit slomo/gstreamer@03950e26
- Sebastian Dröge mentioned in commit slomo/gstreamer@2515d902
mentioned in commit slomo/gstreamer@2515d902
- Sebastian Dröge mentioned in commit slomo/gstreamer@37661e85
mentioned in commit slomo/gstreamer@37661e85
- Sebastian Dröge mentioned in commit slomo/gstreamer@73681ea7
mentioned in commit slomo/gstreamer@73681ea7
- Sebastian Dröge mentioned in commit slomo/gstreamer@d5f35b5f
mentioned in commit slomo/gstreamer@d5f35b5f
- Sebastian Dröge mentioned in commit slomo/gstreamer@f0ff955e
mentioned in commit slomo/gstreamer@f0ff955e
- Sebastian Dröge mentioned in commit slomo/gstreamer@786f9fe6
mentioned in commit slomo/gstreamer@786f9fe6
- Sebastian Dröge mentioned in commit slomo/gstreamer@249c9f29
mentioned in commit slomo/gstreamer@249c9f29
- Sebastian Dröge mentioned in commit slomo/gstreamer@67335d78
mentioned in commit slomo/gstreamer@67335d78
- Sebastian Dröge mentioned in commit slomo/gstreamer@16dca9c9
mentioned in commit slomo/gstreamer@16dca9c9
- Sebastian Dröge mentioned in commit slomo/gstreamer@1dc33047
mentioned in commit slomo/gstreamer@1dc33047
- Sebastian Dröge mentioned in commit slomo/gstreamer@a9ef718f
mentioned in commit slomo/gstreamer@a9ef718f
- Sebastian Dröge mentioned in commit slomo/gstreamer@c1fe2665
mentioned in commit slomo/gstreamer@c1fe2665
- Sebastian Dröge mentioned in commit slomo/gstreamer@2f8f87b2
mentioned in commit slomo/gstreamer@2f8f87b2
- Sebastian Dröge mentioned in commit slomo/gstreamer@570c1b36
mentioned in commit slomo/gstreamer@570c1b36
- Sebastian Dröge mentioned in commit slomo/gstreamer@de59ef7e
mentioned in commit slomo/gstreamer@de59ef7e
- Sebastian Dröge mentioned in commit slomo/gstreamer@d0d50ede
mentioned in commit slomo/gstreamer@d0d50ede
- Sebastian Dröge mentioned in commit slomo/gstreamer@c54a34f9
mentioned in commit slomo/gstreamer@c54a34f9
- Sebastian Dröge mentioned in commit slomo/gstreamer@8934284f
mentioned in commit slomo/gstreamer@8934284f
- Sebastian Dröge mentioned in commit slomo/gstreamer@3fdfcdf2
mentioned in commit slomo/gstreamer@3fdfcdf2
- Sebastian Dröge closed with commit 3fdfcdf2
closed with commit 3fdfcdf2
I see this is closed, still I get the error
ptp gstptpclock.c:2112:gst_ptp_init: PTP not supported
with:[dependencies] glib = { version = "0.17" } gst = { package = "gstreamer", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git", branch = "main" } gst-net = { package = "gstreamer-net", git = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git", branch = "main" }
Or am I missing something?
- Author Owner
Are you using GStreamer from git main? This will work out of the box with 1.23.1 or newer.
Yes, I even tried after installing
1.241.22.4. Still get the same error.Edited by Sam J.- Author Owner
Did you build it yourself, and if so how? You need to have a Rust toolchain available for getting PTP support. cerbero would do that by default for Windows/MSVC, Linux and macOS. If you just build using meson then you need to install the toolchain yourself, e.g. via https://rustup.rs/
I didn't build myself. I used those .msi files to install gstreamer:
MSVC 64-bit (VS 2019, Release CRT)
1.22.4 runtime installer 1.22.4 development installer
So I'm also using the MSVC toolchain (stable-x86_64-pc-windows-msvc).
- Author Owner
1.22 is too old, so that's expected :)