Commit graph

5353 commits

Author SHA1 Message Date
jp9000 e3d19c5b16 libobs/callback: Add calldata_create and calldata_destroy
These functions aren't particularly useful in C/C++, but these functions
are necessary to allow creating/destroying a calldata_t object via
script.
2018-01-18 08:53:19 -08:00
jp9000 c9c7dc5748 deps/obs-scripting: Fix frontend API lua table creation
Lua uses 1-based index on table insertions, and lua_newtable has a bit
better performance than lua_createtable if initializing tables with an
unknown item count.
2018-01-18 05:59:20 -08:00
jp9000 d01632a4f0 deps/obs-scripting: Fix a few more VC warnings from swigluarun.h 2018-01-18 05:35:19 -08:00
jp9000 8fc486339c obs-ffmpeg: Add proc to get last replay buffer
Allows getting the path of the last replay buffer saved via the
procedure handler of the FFmpeg muxer output.
2018-01-18 05:34:26 -08:00
Colin Edwards f06c0dd7d5 deps/obs-scripting: Ensure that ffi module gets loaded
Closes jp9000/obs-studio#1158
2018-01-18 01:49:07 -08:00
Warchamp7 303ba1dfbd UI: Add Acri theme
Closes jp9000/obs-studio#1150
2018-01-18 01:45:49 -08:00
Lucian Poston ff45b7b119 obs-ffmpeg: Call av_register_all before nvenc check
Closes jp9000/obs-studio#1157
2018-01-18 01:36:46 -08:00
jp9000 653d3ceb33 obs-ffmpeg: Don't try to detect NVENC on mac 2018-01-18 01:36:46 -08:00
Michel 054d607c2d obs-ffmpeg: Improve NVENC detection
This improves detection by performing an actual check on encoder
capability directly with the NVENC/CUDA libraries.
2018-01-18 01:35:45 -08:00
Tjienta Vara 48a8e750bb linux-pulseaudio: Surround speaker map
When using more than two channels, the channel map of pulse-audio is incorrect.

Add an API for getting a speaker map based on OBS speaker layout. Then use the
speaker map when connecting to a pulse-audio device, for both source and
monitor output.
2018-01-17 13:05:04 +01:00
jp9000 3a1603d905 UI: Set max size for names in name dlg. to 256 2018-01-17 02:59:46 -08:00
jp9000 44f4f4366b UI: Use snprintf and std::string when creating profiles 2018-01-17 02:59:18 -08:00
jp9000 8a1486d15f libobs: Fix rendering if filter context no longer exists
If a filter's implementation (its plugin for example) no longer exists,
it would cause the source to stop rendering if that filter was present
on the source.  Instead, just bypass the filter to ensure that the
source continues to render.
2018-01-17 02:08:06 -08:00
jp9000 dc7e05c0b9 libobs: Fix double -> float conversion warning 2018-01-16 12:03:03 -08:00
jp9000 d6ac457025 libobs: Optimize clearing of unused source audio mixes
Prevents calling memset on mixes that aren't currently active.
2018-01-16 12:02:00 -08:00
Christoph Hohmann f4142a8ac8 libobs: Fix audio buffer clear in custom source mixing
The memset in custom_audio_render() did not clear all audio buffers when
the number of output channels was less then 8.  This caused wrong audio
output on mixes that did not get cleared.

Closes jp9000/obs-studio#1123
2018-01-16 11:56:11 -08:00
Beau Russell fe26babbf1 Fix typo in README.rst
Fixed a Typo on the 34th line, and added to the 35th so that the Syntax
matches that of the rest of the file.

Closes jp9000/obs-studio#1146
2018-01-16 06:01:28 -08:00
Jim b264f8885a
Merge pull request #1148 from SuslikV/patch-1
libobs: Fix log message
2018-01-16 05:52:49 -08:00
Jim bf6231e122
Merge pull request #1147 from kkartaltepe/swig-cmake-fix
CMake: Fix FindSwigDeps search path
2018-01-16 05:52:16 -08:00
Jim 47f42d025f
Merge pull request #1149 from Fenrirthviti/dark-theme-fix
UI: Fix tab bars for docked widgets in Dark theme
2018-01-16 05:48:37 -08:00
Jim 8d60404663
Merge pull request #1155 from DDRBoxman/scripting
deps/obs-scripting: Various scripting fixes
2018-01-16 05:24:26 -08:00
jp9000 db2d4c97e8 deps/obs-scripting: Fix installed files/locations on linux
Uses the 'install' command in cmake to install scripting modules/files
(such as _obspython.so, obslua.so, and obspython.py), and changes the
install location of those files on all operating systems.  If using a
non-unix structure install, those files will be installed in
data/obs-scripting/[32bit/64bit], otherwise with unix structure installs
those files will be installed to [/usr/local/lib]/obs-scripting.
2018-01-16 03:55:38 -08:00
jp9000 17d2a17f9e UI: Put clip detection back in to volume meter
Before the new volume meters were implemented, the meter would flash red
if the audio was clipping.  This functionality was removed when the
meters were changed, whether intentionally or unintentionally, and this
patch puts that functionality back in.  If clipping occurs, the meters
will be fully colored with the foregroundErrorColor value while the
clipping is occurring.
2018-01-15 23:55:03 -08:00
Colin Edwards 4390a0e7e6 deps/obs-scripting: Add image-file to lua 2018-01-15 21:54:50 -06:00
Colin Edwards 3714424808 deps/obs-scripting: Set current_lua_script earlier to prevent a crash 2018-01-15 21:12:40 -06:00
Colin Edwards c9224edbad UI: Set linker flags required for luajit on OSX 2018-01-15 20:39:01 -06:00
Colin Edwards 1b49a0541e deps/obs-scripting: Don't crash obs trying to unload a script that failed to load 2018-01-15 20:38:58 -06:00
jp9000 da7b8c79a2 docs/sphinx: Clarify vertex buffer usage 2018-01-14 05:31:28 -08:00
jp9000 dd8cf409d0 test/test-input: Add audio buffering sync test source
Adds a source which tests whether audio buffering affects audio sync.
This sync test cycles through 7 audio/video frequencies at 250
millisecond intervals, and via a hotkey, will artificially move audio
time back by one second (and the audio cycle back by 4 frequencies).
This will artificially increase audio buffering by approximately 750
milliseconds.

Results from this test as of this writing: this test proves that dynamic
audio buffering does not affect sync.
2018-01-14 01:28:28 -08:00
jp9000 ae259bf8d8 win-capture: Make minor clarification to locale string 2018-01-13 18:30:23 -08:00
Joel Bethke 5c5f4033ff UI: Fix tab bars for docked widgets in Dark theme 2018-01-13 18:22:17 -06:00
SuslikV 70bc2581b7
libobs: Fix log message
Refines warning message to make it clear for the end-user.

Module may fail to load by different reasons.
2018-01-13 12:26:34 +02:00
jp9000 17560bf86a Revert "obs-ffmpeg: Improve NVENC detection"
This reverts commit 94b5982216.

Reverting this commit because it had some negative side effects, such as
adding 500 milliseconds to the startup time.  NVENC detection should
really be done through its proper API, and not via creating an encoder
on startup.
2018-01-12 05:35:01 -08:00
jp9000 e7de41fc01 deps/media-playback: Free frame data before freeing frame
Prevents a potential memory leak if data was previously allocated in the
frame.
2018-01-11 20:07:47 -08:00
jp9000 548f3fa9a9 deps/media-playback: Use avcodec_free_context when possible
A bit better handling that should prevent any possible memory leakage
due to any internal data allocated by FFmpeg.
2018-01-11 20:06:21 -08:00
Kurt Kartaltepe 32049bfd43 CMake: Fix FindSwigDeps search path 2018-01-11 21:37:10 -06:00
jp9000 ba75dd6a70 UI: Disable Youtube bandwidth test (for now)
Due to reports that the bandwidth test is randomly causing community
strikes on Youtube (likely due to bad automatic detection), the
bandwidth test will be disabled for Youtube until the Youtube API is
implemented.
2018-01-10 22:13:01 -08:00
jp9000 9d4be5e575 UI: Fix warning 2018-01-10 21:41:07 -08:00
jp9000 0389ecf9f0 UI: Use GDI+ text for multiview on windows
Fixes an issue where text would not have language glyph fallback if
another language would used.  This problem still needs a solution on
linux/mac (and preferably a fix for language glyph fallbacks when using
freetype 2 in general).
2018-01-10 21:36:17 -08:00
Wouter 65f81105f5 libobs-d3d11: Allow multiple display captures of same monitor
This commit fixes a bug that occurs on Windows 8+ when two or more
"Display Capture" sources are active that are configured to capture the
same monitor.  Only one display capture would show, while all subsequent
display captures would display nothing.

Closes jp9000/obs-studio#1142
2018-01-09 19:49:54 -08:00
Colin Edwards ed917657eb UI: Fix qpushbutton menu icon
Closes jp9000/obs-studio#1141
2018-01-09 18:36:38 -08:00
Colin Edwards 3f5c28d631 UI: Style dock widgets in dark and rachni themes
Closes jp9000/obs-studio#1141
2018-01-09 18:36:31 -08:00
Jim b7755e5376
Merge pull request #1140 from admshao/volume-meters-minus-sixty
UI: Add the -60 volume control marker
2018-01-09 18:30:54 -08:00
jp9000 a79992eae9 libobs: Fix audio issue with scene items
When a scene is added as a scene item with the same audio sources that
are already in the current scene, it would cause the current scene to no
longer output audio due to audio.

To replicate the issue, you would create two separate audio device
captures in scene 1, use add existing in scene 2 and add one of those
audio sources, then go back to scene 1, add scene 2 as a source, then
make scene 1 invisible.
2018-01-09 18:13:32 -08:00
Shaolin 9872e4d525 UI: Add the "-60" volume control marker 2018-01-09 18:55:41 -02:00
jp9000 7764848070 decklink: Default to 5.1 if invalid channel value 7
Value 7 was actually 5.1 surround mode, not 7.1.
2018-01-08 19:17:10 -08:00
jp9000 ed5ee5aae2 decklink: Fix bug with old channel formats
There were cases where the channel format could be set to 7, which used
to be a valid format but now no longer is.  If that format is set, just
use SPEAKERS_7POINT1 instead.
2018-01-08 19:04:40 -08:00
jp9000 e038bd8e55 UI: Change default theme to dark for new users 2018-01-08 17:40:24 -08:00
Joel Bethke 10b27723a3 win-capture: Change string for memory capture option
Makes it a bit more clear this option shouldn't be used unless you're on
SLI/crossfire.

In the future, something should be put in to the program that detects
laptops and warns on how to set up their adapter for efficient capture.

Closes jp9000/obs-studio#1138
2018-01-08 15:44:05 -08:00
Jim f3e456a3af
Merge pull request #1137 from SuslikV/patch-1
cmake: Add more LuaJIT lib names
2018-01-08 15:18:21 -08:00