5326 Commits

Author SHA1 Message Date
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
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 de32d89fc6ac1cc85346732f722fe74ac1cb1eca.

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 ca835ddfd2c021bc72985d06b62a58c5437ff57b.
2017-12-01 11:07:21 -08:00
Ryan Foster
af62c3648e 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 changes were
made to productsign, and Apple's documentation didn't clearly reflect
this. This commit should fix Mac builds on Travis for Xcode 8.3 and
clean up the job log.
2017-12-01 13:20:06 -05:00