Commit Graph

5127 Commits (0ffc9bbf059f91ac273b48ab1699d24c48c55f85)

Author SHA1 Message Date
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
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
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
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
jp9000 0497095f97 Fix a number of GCC warnings 2017-12-06 16:42:45 -08:00
jp9000 4704723759 Fix a number of MSVC warnings 2017-12-06 16:07:23 -08:00
jp9000 530266917d obs-ffmpeg: Use correct function with older FFmpeg vers.
When this was being fixed up, the incorrect function name was used --
however it still compiled because the author was using the newer FFmpeg
version at the time.
2017-12-06 10:10:03 -08:00
jp9000 3114a240b4 libobs/media-io: Add ifdef for newer FFmpeg functions
The AVCodecParameters weren't introduced until avcodec version 57.48.101
(FFmpeg version 3.1), so this will make sure to still use the older
avcodec_copy_context if the detected FFmpeg version is earlier.
2017-12-06 07:46:49 -08:00
jp9000 0d6204c8af Fix a number of MSVC warnings
Fixes a number of warnings with all modules
2017-12-05 13:53:44 -08:00
jp9000 ffdecc34f4 obs-vst: Fix a few warnings (update submodule) 2017-12-05 13:52:47 -08:00
Jim 46d54ce68a
Merge pull request #1103 from RytoEX/fix-ci-linux
cmake: Correct CMake checks for LINUX
2017-12-04 10:02:28 -08:00
Ryan Foster 12abbd9205 cmake: Correct CMake checks for LINUX
Some CMake checks were recently switched from UNIX to LINUX to get them
to not apply to macOS/OSX. Since LINUX doesn't seem to be defined,
switch these checks to UNIX AND NOT APPLE.
2017-12-03 19:10:34 -05:00
Jim 0daade5f8f
Merge pull request #1102 from juvester/fix-linux-ci
Revert "CI: Linux - Install FFmpeg from source"
2017-12-03 14:09:58 -08:00
juvester 2f78871662 Revert "CI: Linux - Install FFmpeg from source"
This reverts commit de32d89fc6.

Fixes an issue where Linux CI builds fail because FFmpeg fails to
compile. Using FFmpeg git master in CI builds was obviously not the
smartest idea because changes in FFmpeg can break things unexpectedly.
Sorry about that.

The reason for the original commit was that OBS failed to compile
with FFmpeg 2.4. That has been fixed since.
2017-12-03 23:10:46 +02:00
Jim c529c519eb
Merge pull request #1101 from DDRBoxman/clion
git: Add Clion to .gitignore
2017-12-03 11:14:36 -08:00
Colin Edwards ddf796e6c5 git: Add Clion to .gitignore 2017-12-03 12:57:26 -06:00
Jim c4ed55d8f4
Merge pull request #1099 from DDRBoxman/x11
cmake: Do not require X11 on OSX
2017-12-03 10:18:16 -08:00
Jim 410a3cd40b
Merge pull request #1100 from RytoEX/fix-ci-osx
CI: Fix Mac builds on Travis CI's Xcode 8.3 image
2017-12-03 03:16:31 -08:00
Colin Edwards fcea48490f cmake: Do not require X11 on OSX 2017-12-02 22:40:10 -06:00
Ryan Foster b6348c932b CI: Fix Mac builds on Travis CI's Xcode 8.3 image
The Travis CI Xcode 8.3 image uses macOS 10.12, where some OS and Xcode
components were changed. This commit finally fixes macOS deployments on
Travis for Xcode 8.3. This commit also reverts a few changes that got
into master while we were trying to fix this.
2017-12-02 23:04:10 -05:00
Jim 51bd92b20e
Merge pull request #1096 from SuslikV/patch-1
decklink: Rename 5.1 and 7.1 multi-channel formats
2017-12-02 16:39:27 -08:00
jp9000 570cd49b6d UI: Duplicate when double-click switching is used
The studio mode double-click scene switching option disables scene
duplication, which bypasses the user's settings for scene switching in
studio mode.  This fixes it so that scenes are properly duplicated
according to the user's settings.
2017-12-02 16:36:01 -08:00
jp9000 8a38d8e60e UI: Move multiview options to view menu
Moves the multiview (fullscreen/window) options to the view menu to
reduce context menu clutter, and allow using it even when not in studio
mode.

Also adds missing translation strings.
2017-12-02 16:12:03 -08:00
jp9000 3770a24e61 UI: Fix draw issues with multiview projector
Scissor rects would affect the internal effect rendering of sources, so
scissor rectangles aren't the ideal method of restricting draw space.
Instead, use viewports and projection matrices, which are automatically
accounted for by internal source handling.
2017-12-02 15:36:32 -08:00
jp9000 60530c8206 obs-filters: Add sidechain source option to compressor
Adds a sidechain (ducking) option to the compression filter.
2017-12-02 13:59:26 -08:00
jp9000 5d9854ea44 libobs/util: Add funcs to push zeroed data to circlebufs
Adds circlebuf_push_front_zero and circlebuf_push_back_zero to
conveniently push zeroed data to the front/back of the buffer without
having to create an intermediary buffer to accomplish the same thing.
2017-12-02 13:52:40 -08:00
SuslikV 151199c388
decklink: Rename 5.1 and 7.1 multi-channel formats
Common multi-channel setup is 5.1 and 7.1 with rear speakers.

Thus only setups that include SPEAKER_SIDE_LEFT and SPEAKER_SIDE_RIGHT
needs the marking as not common (or "side" use), while it stays the
true Side setup (with side speakers) by its internal meaning.

This "side" is named "surround" by Microsoft. To not confuse users and
translators, it is wise to use "Side" mark next to format name.
2017-12-02 23:22:34 +02:00
Jim 895814aa8e
Merge pull request #1093 from derrod/update-ingests
rtmp-services: Remove Coderwall / Fix Livestream service name
2017-12-02 11:39:46 -08:00
derrod 25dcb3fb4c rtmp-services: Remove Coderwall / Fix Livestream service name 2017-12-02 19:16:45 +01:00
Jim 06dffe2359
Merge pull request #1082 from craftwar/fix-curl
CI: Fix curl download if file doesn't exist
2017-12-02 09:25:56 -08:00
Jim cf7a471370
Merge pull request #1092 from Mobcrush/jgh-/add-mobcrush-service
rtmp-services: Add Mobcrush to services list
2017-12-02 09:16:42 -08:00
pkviet 89bc6bdc03 deps/media-playback: Fix compilation with older FFmpeg versions
Fixes an issue where media-playback would not compile with older FFmpeg
versions due to the fact that the AV_PIX_FMT_VIDEOTOOLBOX was
unavailable until version 54.31.100 of libavutil (FFmpeg 2.8).

Fixes mantis issue 1045.

Closes jp9000/obs-studio#1089
2017-12-02 09:09:26 -08:00
Michel 94b5982216 obs-ffmpeg: Improve NVENC detection
Certain NVIDIA GPUs don't support NVENC, but ship with the NVENC
library, causing OBS to mistakenly think that NVENC is available when it
actually isn't.

Closes jp9000/obs-studio#1087
2017-12-02 08:08:52 -08:00
James Hurley bc91173999 rtmp-services: Add Mobcrush to services list
This commit adds Mobcrush RTMP ingest to services.json.
2017-12-02 10:13:31 -05:00
Jim a538dbe3db
Merge pull request #1090 from RytoEX/fix-travis-osx-try2
CI: Fix macOS builds on Travis CI's Xcode 8.3 image
2017-12-02 04:08:12 -08:00
Ryan Foster 4a1c415270 CI: Fix macOS builds on Travis CI's Xcode 8.3 image
The Travis CI Xcode 8.3 image uses macOS 10.12, where some OS and Xcode
components were changed. This commit should hopefully fix macOS
deployments on Travis for Xcode 8.3.
2017-12-02 04:09:48 -05:00
Shaolin 721cb3dea5 UI: Add Multiview projector
Jim note:

- Refactored code significantly
- Added a context menu option to exclude specific scenes from projectors
- Made it so multiview projectors update when scenes are
  added/removed/renamed
- Increased text quality
- Removed the color sources and replaced them with simple solid
  rectangles
- Increased the border size of "program" and "preview" scenes in the
  lower scene list

Closes jp9000/obs-studio#1068
2017-12-01 12:14:02 -08:00
jp9000 78411de75e libobs/graphics: Add gs_effect_set_color
Convenience function for setting a color (in hex format, e.g.
0xAARRGGBB)
2017-12-01 12:05:52 -08:00
Jim 5da7a90b8b
Merge pull request #1088 from RytoEX/fix-travis-osx
CI: Fix Mac builds on Travis CI's Xcode 8.3 image
2017-12-01 11:22:36 -08:00
jp9000 5d18d8f5f3 Revert "CI: OSX - Use Xcode7.3"
This reverts commit ca835ddfd2.
2017-12-01 11:07:21 -08:00