Commit Graph

925 Commits

Author SHA1 Message Date
Michael Fabian 'Xaymar' Dirks ff3c2e8c66 filter-dynamic-mask: Initialize all members 2020-03-27 20:10:17 +01:00
Michael Fabian 'Xaymar' Dirks 87e6767033 gs-mipmapper: Fix some warnings 2020-03-27 20:10:17 +01:00
Michael Fabian 'Xaymar' Dirks 1942782b56 util-threadpool: Fix order of initialization 2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks 10fee7f048 util-profiler: Easy to use profiling helper 2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks 6776f2111c cmake: Disable some frequent unhelpful warnings
These warnings usually come from the standard code in MSVC or system headers, over which we have absolutely no control. Keeping them enabled does not improve our code at all.
2020-03-27 20:10:09 +01:00
Michael Fabian 'Xaymar' Dirks 7a0136b071 ci: Fix submodule cloning 2020-03-26 14:58:21 +01:00
Michael Fabian 'Xaymar' Dirks 67016ccd95 plugin: Version 0.8.0a3
* Updated libOBS to v25.0.1
* Fixed a freeze exclusive to v25.x with Source Mirror.
* Fixed audio mirroring only working on every 2nd configuration update with Source Mirror.
* Fixed audio being mirrored out of order on highly parallel systems (>4 Threads).
* Fixed discoloration of sources in 3D Transform.
* Fixed ffmpeg encoder not falling back to software if scaling is detected.
2020-03-21 09:23:54 +01:00
Michael Fabian 'Xaymar' Dirks 03bee0aaf2 source-mirror: Fix freeze introduced in OBS Studio v25.x
For an unknown reason, OBS Studio v25.x now causes a freeze to happen at this location. This should hopefully work around that issue by ensuring that we are in a location that does not cause an unusual lock order.
2020-03-21 09:13:31 +01:00
Michael Fabian 'Xaymar' Dirks b54e9431c0 ffmpeg-encoder: Fall back to software encoding for scaling 2020-03-21 08:59:53 +01:00
Michael Fabian 'Xaymar' Dirks ccb8a205b0 source-mirror: Update first, then acquire source
Fixes a bug where a 2nd update is necessary for proper audio mirroring.
2020-03-21 08:59:35 +01:00
Michael Fabian 'Xaymar' Dirks d6c903a3bd source-mirror: Fix out-of-order playback of audio
On highly parallel systems (> 4 Threads) audio had a chance of being played back out of order, causing it to jitter. This queue should help eliminate the issue entirely.

Fixes #111
2020-03-20 23:59:42 +01:00
Michael Fabian 'Xaymar' Dirks 8f4313d8e8 cmake: Actually support delay loading on Windows 2020-03-20 23:39:21 +01:00
Michael Fabian 'Xaymar' Dirks ba1780afa6 utility: Add lerp and 1D Kalman filter 2020-03-20 23:24:25 +01:00
Michael Fabian 'Xaymar' Dirks 6d3c540349 cmake: Upgrade to OBS v25.0.1 2020-03-20 23:24:25 +01:00
Michael Fabian 'Xaymar' Dirks 6f2b50b0ad cmake: Redesign for future features 2020-03-20 23:09:46 +01:00
Michael Fabian Dirks aa3c5557a9
locale: New Crowdin translations (#105) 2020-03-17 18:46:49 +01:00
Brandon Edens 2dbed865bd
cmake: Fix file name for case-sensitive filesystem (#112)
Fixes #107 

Co-authored-by: Brandon Edens <bedens@fitbit.com>
2020-03-17 18:45:38 +01:00
Michael Fabian 'Xaymar' Dirks 0b3ce10aff filter-transform: Fix discoloration issue
Previously a wrong blend state caused a slight discoloration on transparent sources, which was caused by assuming them to always be fully solid without transparency. By instead relying on OBS to do the rendering we do not have to deal with blend states as much and instead can simply enjoy the result.

Fixes #104
2020-03-07 03:43:30 +01:00
Michael Fabian 'Xaymar' Dirks f79846aa3b plugin: Version 0.8.0a2 2020-03-07 02:03:25 +01:00
Michael Fabian 'Xaymar' Dirks f2913685ed ffmpeg-encoder/nvenc: See description
* Remove Minimum Bitrate as it is not supported by the encoder.
* Add several default states (-1 or Default) to options.
* Possibly fix bitrate lock with CQP and CQ mode.
* Fix log output for bitrate and B-Frames.
2020-03-07 01:52:04 +01:00
Michael Fabian 'Xaymar' Dirks 549e7c7437 ffmpeg-encoder: Fix leftover errors from refactor 2020-03-07 01:48:23 +01:00
Michael Fabian 'Xaymar' Dirks e2c83f546e ffmpeg/tools: Allow overriding option context 2020-03-07 01:48:06 +01:00
Michael Fabian 'Xaymar' Dirks 5223d3980f ffmpeg/tools: Also log default values 2020-03-07 00:33:55 +01:00
Michael Fabian 'Xaymar' Dirks 087845de49 source-mirror: Reimplement audio mirroring using thread pool
The new logic drastically simplifies Source Mirror and reduces the attack surface for bugs introduced by humans. Additionally the new layout detection should help with improved audio mirroring which hopefully will not crash libobs as often.

Fixes #61.
2020-03-03 02:17:26 +01:00
Michael Fabian 'Xaymar' Dirks 08024049c2 util-threadpool: Implement global thread pool
This thread pool can take large or small tasks and as such alleviates the burden of having a thread per source. Particularly for large setups, this drastically reduces the number of threads running in the background waiting for work.
2020-03-03 01:52:54 +01:00
Michael Fabian 'Xaymar' Dirks d91042fe2a source-mirror: Fix OBS_SOURCE_CUSTOM_DRAW support & more
Fixes support for OBS_SOURCE_CUSTOM_DRAW sources and refactors the class onto better isolated and wrapped classes to deal with specific tasks. This drastically improves stability without causing code complexity to increase, and makes the code vastly easier to read too.

Related: #99
2020-02-14 07:55:18 +01:00
Michael Fabian 'Xaymar' Dirks 4baa2360c5 obs-source: Disallow copy constructor 2020-02-14 07:52:28 +01:00
Michael Fabian 'Xaymar' Dirks 681a586ae9 util-event: Rest of fb5041a69d 2020-02-14 07:52:15 +01:00
Michael Fabian 'Xaymar' Dirks baf265fd5b obs-signal-handler: Fix possible crash 2020-02-14 07:31:30 +01:00
Michael Fabian 'Xaymar' Dirks 326fa68d9f obs-signal-handler: Helper classes for signals and audio 2020-02-14 07:30:46 +01:00
Michael Fabian 'Xaymar' Dirks 42c9375333 obs-tools: Fix obs::tools::child_source not checking return value 2020-02-14 07:29:31 +01:00
Michael Fabian 'Xaymar' Dirks fb5041a69d util-event: Ensure thread safety 2020-02-14 07:28:57 +01:00
Michael Fabian 'Xaymar' Dirks 5d38ca8a74 ffmpeg-encoder/nvenc: Various additional default states 2020-02-13 11:19:30 +01:00
Michael Fabian 'Xaymar' Dirks 40369bf72d obs-tools: Add child_source helper class 2020-02-13 10:34:26 +01:00
Michael Fabian 'Xaymar' Dirks 03930b6b42 cmake: Don't add custom target for in-obs builds 2020-02-13 10:33:46 +01:00
Michael Fabian 'Xaymar' Dirks d80dd0cd22 project: Fix CI link 2020-02-13 10:28:45 +01:00
Michael Fabian 'Xaymar' Dirks 747e2c7259 ci: Fix installer template path 2020-02-13 10:25:41 +01:00
Michael Fabian 'Xaymar' Dirks 261d673147 ci: Switch back to pwsh for Windows specific steps 2020-02-13 10:19:19 +01:00
Michael Fabian 'Xaymar' Dirks 3e4eea7c6f ci: Rename windows-speed package 2020-02-13 10:15:44 +01:00
Michael Fabian 'Xaymar' Dirks 7c1afedf0c ci: Fix missing directory 2020-02-13 10:15:23 +01:00
Michael Fabian 'Xaymar' Dirks 20d5eef32e cmake: Replace modified RelWithDebInfo with Speed 2020-02-13 10:11:33 +01:00
Michael Fabian Dirks 569e39fe3b
locale: New Crowdin translations (#97) 2020-02-13 09:36:31 +01:00
Michael Fabian 'Xaymar' Dirks 13316c4810 ci, cmake: Fix build failure and optimize for speed 2020-02-13 09:34:34 +01:00
Michael Fabian 'Xaymar' Dirks 4edaef5cf6 project: Update readme 2020-02-13 05:33:18 +01:00
Michael Fabian 'Xaymar' Dirks 7821bc1ab3 cmake: Don't enforce Clang submodule requirement 2020-02-13 05:21:06 +01:00
Michael Fabian 'Xaymar' Dirks 53d4ad31e6 source-mirror: Remove useless group 2020-02-13 05:18:28 +01:00
Michael Fabian 'Xaymar' Dirks a47dbaefc8 source-mirror: Remove scaling and caching
Scaling shouldn't be part of the Source and instead should be done as a filter. Not only does supporting it drastically increase code complexity, it also doesn't add anything that is really necessary as you can do everything it did better in an actual transform.

Caching wasn't actually used except for scaling and was mostly broken too, causing flickering.
2020-02-13 05:17:06 +01:00
Michael Fabian 'Xaymar' Dirks 45a117c1d0 cmake: Fix clang integration 2020-02-13 05:13:45 +01:00
Michael Fabian 'Xaymar' Dirks 403aae4eb9 locale: Fix incorrect string 2020-02-13 05:09:14 +01:00
Michael Fabian 'Xaymar' Dirks c6a1edf46f util-event: Fix and cleanup 2020-02-13 05:09:14 +01:00