Commit graph

1682 commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks
9021274297 cmake: Fix up missing linked objects in component system
We should always link the whole object, even if nothing is needed by the module itself.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
25ba51df12 code: Throw an error on nullptr for util::library::load 2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
50c85608c3 cmake: Initial work towards component-ification
The old fake component system is starting to be very annoying to work with, as it doesn't properly split things apart. The new system should aid with this significantly, and make errors easier to spot.
2023-09-03 15:32:46 +02:00
Michael Fabian 'Xaymar' Dirks
e82823d49c cmake: Explicitly disable treating warnings as errors
As libOBS and OBS Studio unfortunately enforce treating warnings as errors, it is necessary to do the opposite. This may remove the need of having a patch for this exist at all, but I'll leave it be for now and just add this single line fix.
2023-07-31 15:28:39 +02:00
Michael Fabian 'Xaymar' Dirks
8b97c2b23d templates: Fix the remaining uncommitted changes 2023-05-20 20:52:40 +02:00
Michael Fabian 'Xaymar' Dirks
9df2f01963 templates: Pascal uses <> instead of != 2023-05-20 20:34:25 +02:00
Michael Fabian 'Xaymar' Dirks
ffb7a6c5d7 code: Add GoPro CineForm to FFmpeg Encoders 2023-05-20 19:54:46 +02:00
Michael Fabian 'Xaymar' Dirks
f66fabc5d4 templates: Move to 'usercf' instead of 'userpf'
Local (per-user) add-ons to software should reside in "C:\Users\Username\AppData\Local\Programs\Common\", similar to System (all-users) add-ons which reside in "C:\Program Files\Common Files\".

Fixes #1049
2023-05-20 19:54:15 +02:00
Michael Fabian 'Xaymar' Dirks
38d87f6fcf code: Don't crash if there is no encoder instance 2023-05-20 19:54:05 +02:00
Michael Fabian 'Xaymar' Dirks
3e13126f89 code: Remove audio encoder registration from FFmpeg Encoders 2023-05-20 19:25:46 +02:00
Michael Fabian 'Xaymar' Dirks
9d0233a740 code: Create mutexes to prevent Windows (un)installer from continuing
Might fix the problem where people uninstall StreamFX while they still have OBS Studio open with StreamFX loaded. InnoSetup appears to ignore this in /VERYSILENT, so this is an additional guard against that.
2023-05-20 19:24:06 +02:00
Michael Fabian 'Xaymar' Dirks
07182d2f89 templates: Exit-early if the user aborts the removal of an older version 2023-05-20 19:24:06 +02:00
Michael Fabian 'Xaymar' Dirks
5bdcefd618 code: Fix support for multiple FFmpeg version
This should make it compile just fine with older FFmpeg versions again, such as on Ubuntu 20.04.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
0402c8ef60 code: Adjust copyright headers
Doesn't appear to follow renames, so i guess this is the new copyright!
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
1c76169821 code: Migrate encoder::ffmpeg::nvenc to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
51282b7b85 code: Migrate encoder::ffmpeg::amf to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
d8235bf504 code: Migrate encoder::ffmpeg::dnxhd to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
0fb670eba4 code: Migrate encoder::ffmpeg::prores_aw to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
376a3d6233 code: Overriding color format doesn't work without a pointer or reference 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
fc8ebc7bf3 code: Rename encoder::ffmpeg::prores_aw 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
78310f9c63 code: Migrate encoder::ffmpeg::debug to new loader 2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
85c8cdf8bd code: Wrong return type for get_avcodeccontext
The context should be modifiable, we don't really care about it anyway. If it's broken, then it's broken and the encoder errors out.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
c4461e70b9 code: Migrate encoder::ffmpeg to modern handler loader
A different version of the dynamic loader allows us to simply register handlers at load time, instead of requiring custom code. Could also make it so that it loads them when needed, but since they're mostly static code, this won't matter much.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
a1968b970b code: Migrate encoder::ffmpeg handlers into proper directory
Shouldn't have an effect on functionality, only affects location.
2023-05-16 15:19:11 +02:00
Michael Fabian 'Xaymar' Dirks
21f8a66c7f cmake: Mark encoder::ffmpeg::nvenc as Stable 2023-05-16 06:04:59 +02:00
Michael Fabian 'Xaymar' Dirks
a802b0007f code: Fix encoder::ffmpeg causing recursive mutex lock on Singleton
Not sure why I did it any other way before - there's no benefit to the previous design, only downsides.
2023-05-14 20:22:40 +02:00
Michael Fabian 'Xaymar' Dirks
8817248dfd code: Fix incorrect behavior for encoder::ffmpeg
As we previously relied on an additional function call, we should now merge this call into the constructor.
2023-05-14 16:54:45 +02:00
Michael Fabian 'Xaymar' Dirks
a8704e6028 cmake: Set some additional feature defaults 2023-05-14 16:54:45 +02:00
Michael Fabian 'Xaymar' Dirks
7d1dc4792a code: Reorder and fix static initializers
These most likely require dependencies to be migrated to the new system.
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
d51847152c code, cmake: Remove legacy code 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
0227cfd7b5 code: Migrate filter::autoframing to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
debf976121 code: Migrate filter::denoising to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
a4a18ebc3f code: Migrate filter::upscaling to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
0556db97df code: Migrate filter::virtual_greenscreen to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
e630ddc8a7 code: Migrate source::mirror to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
5ca01dc589 code: Migrate filter::sdf_effects to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
17d25f1ef0 code: Migrate filter::blur to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
1059e5c027 code: Migrate filter::dynamic_mask to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
4d913c34f5 code: Migrate filter::transform to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
8bec18600f code: Migrate filter::shader to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
cfa2806e89 code: Migrate source::shader to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
765e663180 code: Migrate filter::color_grade to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
1363b14288 code: Migrate transition::shader to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
b4e6bb57e4 code: Migrate ui::handler to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
acf4dde783 code: Migrate encoder::ffmpeg to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
66698ef938 code: Migrate obs::source_tracker to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
2f362efa38 code: Migrate configuration to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
5ed2010015 code: Migrate util::threadpool to new dynamic loader 2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
49f763aa44 code: Add a proper dynamic loader for components
This loader model should have wider compatibility, as it relies on defined C++ behavior instead of undefined preprocessor behavior. We may even be able to implement a simple dependency system that automatically sorts components into the correct order.
2023-05-14 09:14:29 +02:00
Michael Fabian 'Xaymar' Dirks
65c45c4461 code: Fix version comparison logic
This is a lot more complex that I expected it to be.
2023-05-14 06:35:36 +02:00