5412 Commits

Author SHA1 Message Date
Jim
e1133f0982
Merge pull request #1121 from Fenrirthviti/theme-fixes
UI: Fix minor Rachni theme bugs
2018-01-04 19:35:51 -08:00
jp9000
cd1399f01a UI: Fix possible source reference leakage
This would fail to release the reference if the 'direct' parameter was
used.

Closes jp9000/obs-studio#1116
2018-01-04 18:43:12 -08:00
SuslikV
2741337755 docs/sphinx: Fix vec3_set
vec4_set was the equivalent to vec2_set.

Closes jp9000/obs-studio#1115
2018-01-04 18:03:21 -08:00
Richard Stanway
8395cfcbce libobs: Log which security software is in use
(Windows only)
3rd party antivirus / firewalls cause a large number of issues in OBS.
Logging which products are installed will help narrow down potential
issues when users ask for help and include their log files.

Closes jp9000/obs-studio#1124
2018-01-04 17:55:36 -08:00
Colin Edwards
5d17e6f6ea deps/scripting: Add python rpaths to the obs binary on OSX
Closes jp9000/obs-studio#1127
2018-01-04 17:04:08 -08:00
jp9000
e16ff2db31 docs/sphinx: Add scripting documentation 2018-01-04 11:37:43 -08:00
jp9000
190743cf3d doc/sphinx: Add frontend API documentation 2018-01-04 11:37:43 -08:00
jp9000
0b01e4c7a1 frontend-tools: Add scripting tool
Adds a scripting tool that gives the users the ability to load scripts
and change their settings.
2018-01-04 11:37:43 -08:00
jp9000
9eabfdbf1e deps/obs-scripting: Add scripting support
Allows Lua/Python scripting support.
2018-01-04 11:37:42 -08:00
jp9000
fd9e5d45a3 libobs: Add obs_property_set_modified_callback2
Allows the ability to pass private data to a callback (useful
specifically for scripting purposes).
2018-01-03 17:04:04 -08:00
jp9000
6d628c1ceb libobs: Add obs_properties_add_button2
Allows passing button-specific private data to the button callback
rather than just passing the private data of the properties object.
2018-01-03 17:04:04 -08:00
jp9000
1902594da4 libobs: Fix function to be static inline
The function in the header was marked as just inline, which would cause
processing problems for SWIG.
2018-01-03 17:04:04 -08:00
jp9000
66f993d214 libobs: Exclude certain declarations from SWIG processing
Prevents SWIG from being able to process certain declarations that would
cause binding generation errors/warnings.
2018-01-03 17:04:04 -08:00
jp9000
2de3973fae UI: Allow temporarily disabling filter/source types
Implements the OBS_SOURCE_CAP_DISABLE capability flag in to the user
interface.
2018-01-03 17:04:04 -08:00
jp9000
da0e3ef0ee UI: Do not show deprecated filters 2018-01-03 17:04:03 -08:00
jp9000
6cd79f8105 UI: Add scene collection cleanup event to frontend API
This event is called when all scene data has been unloaded.
2018-01-03 17:04:03 -08:00
jp9000
bf31e1c233 UI/obs-frontend-api: Move function declarations 2018-01-03 17:04:03 -08:00
jp9000
518290c404 UI: Trigger scene change event on scene collection load
When the program first starts up, or rather when a scene collection is
loaded, the frontend API OBS_FRONTEND_EVENT_SCENE_CHANGED event would
not get triggered.
2018-01-03 17:04:03 -08:00
jp9000
4fd43f55fb UI: Add refresh/reload button icons 2018-01-03 17:04:03 -08:00
jp9000
03b8fd0186 UI: Call frontend callbacks in reverse order
Allows safely removing callbacks from within the callbacks themselves.
2018-01-03 17:04:03 -08:00
jp9000
5645c02c8f UI: Add preload callbacks to frontend API
Allows loading data before actually loading any scene data.
2018-01-03 17:04:03 -08:00
jp9000
260fb571b8 UI: Set ENABLE_UI and DISABLE_UI as root CMake variables
Allows for projects other than UI to be able to reference these CMake
variables.
2018-01-03 17:04:03 -08:00
jp9000
f06f85fd56 libobs: Prevent access to OBS context during shutdown
The "obs" global variable can still be accessed by functions during
shutdown.  To prevent access to the variable during shutdown, move the
pointer to a temporary function variable, and set the "obs" global
variable to NULL before shutting down.
2018-01-03 17:04:03 -08:00
jp9000
ad64f7834d libobs: Store string copies in properties
Individual property objects would store pointers to strings rather than
copies of the strings and assume that memory would continue to exist, so
instead just duplicate the strings.
2018-01-03 17:04:02 -08:00
jp9000
a730f9d6ce libobs: Add ability to disable source types
Because it would be troublesome to add the ability to remove source
types (in case for example a script fails to reload), instead make it so
source types can be temporarily disabled while the program is running.
2018-01-03 17:04:02 -08:00
jp9000
c8a0f661fb libobs/callback: Add global callback to signal handler
A global callback allows capturing all signals from a signal handler
rather than just a specific signal.
2018-01-03 17:04:02 -08:00
jp9000
b8bb60c83b libobs/callback: Add signal_handler_remove_current func
Convenience function that allows removing the current signal handler
callback within the callback without having to use
signal_handler_disconnect with all of its required parameters.
2018-01-03 17:04:02 -08:00
jp9000
b56c33a260 libobs/util: Add THREAD_LOCAL macro
Adds a thread local storage macro to declare thread local storage
independent of platform.
2018-01-03 17:04:02 -08:00
jp9000
0ffc9bbf05 libobs: Add video tick callback functions
Allows the ability to have a callback invoked every time video ticks.
Particularly useful for scripting.
2018-01-03 17:03:57 -08:00
jp9000
9e8a2e333b cmake: Add helper module for finding Lua
This is mostly for win32-specific files
2018-01-03 17:03:05 -08:00
jp9000
102075847a cmake: Add Lua/Luajit as part of MSVC dependencies 2018-01-03 17:03:05 -08:00
jp9000
9f9cd1fec3 libobs/util: Ignore PRINTFATTR if using SWIG preprocessor
SWIG will fail because it doesn't define _MSC_VER and because it doesn't
know what to do with things like __attribute__.
2018-01-03 17:03:05 -08:00
jp9000
97ec7166b7 libobs/util: Optimize strlist_* functions
When splitting a string in to a string list via stringlist_split, it
would previously allocate memory for each sub-string and again for the
list itself.  This optimizes that function to use a single contiguous
chunk of memory for the sake of access optimization and memory
allocation efficiency.
2018-01-03 17:03:05 -08:00
jp9000
92b4276ee7 libobs: Add obs_source_info::get_properties2
Uses type_data to get the type-specific data of a source type
2018-01-02 13:51:03 -08:00
jp9000
5d7c899ebe libobs: Add obs_source_info::get_defaults2
Uses type_data to get the type-specific data of a source type
2018-01-02 13:51:03 -08:00
Tjienta Vara
a92bd6b99a linux-v4l2: Add 4k and 21:9 resolutions
Add the following 16:9 4k resolutions:
 - 2560x1440
 - 3840x2160

Add the following 21:9 2k and 4k resolutions:
 - 2560x1080
 - 3440x1440
 - 5120x2160
2018-01-02 18:44:27 +01:00
jp9000
7f6cf97bd7 libobs: Add obs_render_main_texture
(Note: This commit also modifies UI and test)

This makes it so that main preview panes are rendered with the main
output texture rather than re-rendering the main view.  The view will
render all objects again, whereas the output texture will be a single
texture render of the same exact thing.

Also fixes some abnormal artifacting when scaling the main preview pane.
2018-01-01 18:52:47 -08:00
SuslikV
ac906ba6e5
libobs: Fix incomplete struct in scaler call
Fixes the Rescale Output range and colorspace conversion issue.

When range and colorspace properties were missing and thus undefined:
get_ffmpeg_coeffs returns SWS_CS_ITU601
get_ffmpeg_range_type returns 0 (wich is VIDEO_RANGE_PARTIAL).

Should solve mantis: https://obsproject.com/mantis/view.php?id=947
More info: https://obsproject.com/forum/threads/x264-rescale-output-over-saturating-colors.69730/
2017-12-24 11:13:20 +02:00
Joel Bethke
c3badc4a54 UI: Fix minor Rachni theme bugs
The tab bars in the Rachni theme had an issue related to an attempted
property of qproperty-drawBase: 0 in the .qss file. This, in theory,
should have worked and removed the base of the tab bar, but there is a
bug that prevents this from consistently applying, as detailed here:
https://bugreports.qt.io/browse/QTBUG-2982

This fix removes that property, and adjusts the styling of the tabs
themselves for a more consistent experience. Tabs should no longer be
cut off or displayed improperly.

In addition, this also corrects an issue with the scene/source rename
QLineEdit field displaying improperly.
2017-12-23 21:31:04 -06:00
pkviet
520a91323b obs-ffmpeg: Fix ffmpeg output recording in x264
Fixes ticket 1070.
See also
https://obsproject.com/forum/threads/ffmpeg-recording.77378/#post-330473
(related bugs).
The ffmpeg constant AVFMT_RAWPICTURE was deprecated in october 2015
and marked for removal at avformat major bump to version 58
(ffmpeg commit 34ed5c2 , oct 12, 2015).
The bump occured with commit 69b5ce6 (oct21, 2017).
The constant was subsequently removed (commit 693a11b, oct 26 2017).
It was removed from obs-studio with commit d670d7b (from me).
But the code block which was executed with this constant was not
removed, causing issues with ffmpeg output.
The commit fixes the issue for old ffmpeg builds as well as new ones.
The constant is reintegrated for avformat major version < 58 and removed
for version >= 58 (along with its accompanying code).
Thanks to J Lowe for help in solving the bug.
(tested on win 10, macos 10.13, ubuntu 17.10 with ffmpeg head & ffmpeg
3.4.1)
2017-12-21 23:28:35 +01:00
Richard Stanway
2f577c1b71
libobs: Make get_reg_dword handle missing keys
Previously if the key didn't exist it would return uninitialized stack
memory. Reported at https://obsproject.com/forum/threads/obs-freezes-computer-on-startup-sometimes.78030/#post-330590
2017-12-19 12:04:00 +01:00
jp9000
0863247936 Fix typo in README 2017-12-14 12:13:42 -08:00
jp9000
3febcf5237 Move documentation to links in CONTRIBUTING file 2017-12-14 10:48:22 -08:00
jp9000
a6e90abd53 Add documentation links 2017-12-14 10:46:47 -08:00
Richard Stanway
66ec96d52c
win-capture: Fix memory capture crash on new capture
If the target process re-creates its D3D context, the game capture tick
can trigger before the capture is setup, in which case OBS gets a
CAPTURE_RETRY message. However with the memory capture method, it
continues to try and copy from the shared memory pointer which is no
longer valid, resulting in a crash. The fix uses the old texture until
the next tick at which point the new capture should be ready for use.
2017-12-14 16:40:14 +01:00
Michael Fabian 'Xaymar' Dirks
e7c2381651 enc-amf: Version 2.3.1
Code Changes:
- Removed flag BUILD_AMF_ENCODER.
- AMF SDK is now a submodule of the plugin, no longer requiring extra steps.

Plugin Changes:
- 'Bitrate.Target' has been renamed to 'bitrate' internally, improving support for "New Networking Code" and "Replay Buffer" which incorrectly rely on this value instead of taking the average bitrate of packets sent over the last second.
- Drivers with a runtime older than 1.4.6.0 are blacklisted now.
- All hidden and experimental options have been removed.
2017-12-13 23:14:54 +01:00
Richard Stanway
cf9f016820
win-capture: Rename structs to avoid SDK conflict
Windows SDK 10.0.16299.0 defines these structures as part of winternl.h
but using different types and names. Unfortunately there's no macro to
detect the SDK version, so to avoid conflicting with newer / older SDKs
the OBS structs have been renamed.
2017-12-12 18:20:56 +01:00
derrod
4b3fa10cde rtmp-services: Add Twitch Salt Lake City ingest 2017-12-09 19:05:52 +01:00
Matthew McNamara
d8743a2872 ui: Fix unsaved changes dialog showing twice
When clicking the close button with unsaved changes in a source properties
dialog closeEvent and reject are called, which both call ConfirmQuit.
This fixes it by setting the acceptClicked flag correctly in ConfirmQuit
2017-12-08 01:32:40 +01:00
jp9000
0497095f97 Fix a number of GCC warnings 2017-12-06 16:42:45 -08:00