qgroundcontrol icon indicating copy to clipboard operation
qgroundcontrol copied to clipboard

Sync GStreamer versions to 1.18.6

Open HTRamsey opened this issue 1 year ago • 2 comments

This sets windows and android to use the same gstreamer as MacOS was using. This doesn't fix the fact that linux is still using 16.x and that CMake is set to require 1.20. I don't see a reason why windows/android shouldn't just use the default 1.22 gstreamer w/ qt6 plugin, and use the custom gst plugins just for linux, alternatively just use QMultiMedia for Linux as their ffmpeg implementation is finally getting decent. Or can we build GStreamer from source for linux?

HTRamsey avatar Feb 16 '24 07:02 HTRamsey

@zdanek Can you take look and respond to questions?

DonLakeFlyer avatar Feb 20 '24 17:02 DonLakeFlyer

Sure.

zdanek avatar Feb 22 '24 00:02 zdanek

Which part are you answering "sure" to lol

HTRamsey avatar Feb 24 '24 19:02 HTRamsey

Which part are you answering "sure" to lol

yeah, seems like insane answer :D I'm sorry.

I don't see a reason why windows/android shouldn't just use the default 1.22 gstreamer w/ qt6 plugin, and use the custom gst plugins just for linux,

I'm with that. Leaving old gst version for linux is for compatibility with a Ubuntu 20.04 and higher. Ubuntu 20.04 has 1.16 AFAIK. I have Ubuntu 22.04 with 1.20 by default.

alternatively just use QMultiMedia for Linux as their ffmpeg implementation is finally getting decent. Or can we build GStreamer from source for linux?

I'd skip that if we don't need to. Maintenance of own gst build is another burden. We don't use any sophisticated pipelines, so let's stick with defaults.

zdanek avatar Feb 24 '24 20:02 zdanek

@HTRamsey did you check video on both platforms or just set sane versions in build scripts?

zdanek avatar Feb 24 '24 20:02 zdanek

I've checked a bunch of different versions with Android, but I'd have to set up an environment to check with Windows. I also checked 1.20 with linux but that doesn't help since I believe 1.21 is when Qt6 compatibility was added. If your custom gst-good-plugins are backported and working then I think the best thing to do would be to update Windows & Android (I know nothing about MacOS) since I imagine the user base for those are larger than for linux and at least they would get the best possible video experience.

I know the UVC video uses QtMultiMedia, so I have no idea if there is a conflict if someone tries to use a GStreamer backend for QTMultiMedia along with the GStreamer Qt6 plugin.

HTRamsey avatar Feb 24 '24 21:02 HTRamsey

Why can't we move to the latest GStreamer, whatever it is, and then on Linux we include the libs in the AppImage?

DonLakeFlyer avatar Feb 25 '24 00:02 DonLakeFlyer

Moving to at least 1.20 also gets us OSX ARM support

DonLakeFlyer avatar Feb 26 '24 17:02 DonLakeFlyer

I can update this based on our discussion after the CMake stuff. It gets annoying having to update two build systems.

HTRamsey avatar Feb 26 '24 17:02 HTRamsey

Is anybody able to test this on Windows/MacOS? Edit: Nevermind it's not ready.

HTRamsey avatar Mar 10 '24 22:03 HTRamsey