Commit Graph

1249 Commits (d19342442ffd72977b4c76cc8ee85fe1f5dca294)

Author SHA1 Message Date
jp9000 d19342442f win-capture: Use window for keepalive check
To check to make sure game capture is still active in the capture
program, it currently uses a named event, and then it checks to see if
that named event exists.  However with UWP programs, you can't open a
named event outside of the UWP process.  FindWindow on the other hand
does work, so instead of checking to see if a named kernel object
exists, create a window and check to see if that window exists.
2016-12-16 02:21:06 -08:00
jp9000 1e48b522fa win-capture: Fix getting proper UWP window handles
The "main" windows detected for UWP programs are basically to help
sandbox the programs -- they run in the ApplicationFrameHost process and
help reduce the possibility of other programs trying to access the
actual process window, which is a child window.

To bypass this, go through the list of child windows for the
ApplicationFrameHost window, and then find the one that's attached to
a different process; that different process will always be the target,
and will allows us to open the actual process of the UWP program.
2016-12-16 02:21:05 -08:00
jp9000 4ec1033741 win-capture: Do not require pipe/mutex within hook
Named pipes cannot be used within UWP programs, so make them optional.
2016-12-15 13:03:44 -08:00
jp9000 746061fb3a win-capture: Always use minimal access rights within hook
This prevents issues with opening handles to objects within UWP
programs, which have increased security limitations.
2016-12-15 13:03:42 -08:00
jp9000 e148087636 win-capture: Only duplicate to get cur thread handle
Instead of calling OpenThread, use DuplicateHandle with the minimal
access rights (SYNCHRONIZE) to be able to get the current thread handle
within a UWP program.
2016-12-12 08:10:06 -08:00
jp9000 f2e85b8352 obs-ffmpeg: Add replay buffer output
This output allows buffering the encoded data, and then muxing the
current buffer to a file on the spot via a hotkey the user sets.
2016-12-08 03:36:17 -08:00
jp9000 7d6e6eee79 libobs: Use reference counting for encoder packets
Prevents reallocation of encoded packet data.

Deprecates:
obs_duplicate_encoder_packet
obs_free_encoder_packet

Replaces those functions with:
obs_encoder_packet_ref
obs_encoder_packet_release
2016-12-08 03:27:39 -08:00
jp9000 ca607f8b35 cmake: Add _CRT_SECURE_NO_WARNINGS to all projects
This prevents issues with using standard C functions, where microsoft
would otherwise spit out pointless warnings to encourage using
microsoft-specific functions instead.
2016-12-08 03:27:36 -08:00
Richard Stanway 7df46d4a8e
obs-outputs: Fix librtmp IP bind / resolve behavior
Fixes a case where OBS would prefer trying to connect
to an IPv4 address even though you had bound it to an
IPv6 interface for example.
2016-11-30 22:11:17 +01:00
derrod bfc2987f02 rtmp-services: remove shut down services 2016-11-25 23:55:35 +01:00
Jim 22b1306eb1 Merge pull request #700 from Dead133/master
rtmp-services: Update ingests list for Restream.io
2016-11-25 13:39:50 -08:00
jp9000 e87031f4d6 Revert "obs-transitions: Avoid branching in slide_transition.effect"
This reverts commit 0edaebe192.

The commit was actually less optimal than it was before.  Shaders are
always fully unfolded and both sides of a branch are always executed.
Despite that fact, the "avoid branching" commit actually *added* two
extra unnecessary instructions with the same number of actual sample
instructions, making it arguably less optimal than before.

This was tested via the D3DDissamble function.
2016-11-25 12:20:42 -08:00
jp9000 2f305cb550 win-capture: Use static runtimes for hooks/helpers
(Note: This commit also modifies the ipc-util/seg-service modules)

When compiling the final project, always compile
ipc-util/get-graphics-offsets/graphics-hook/inject-helper/seg-service
with static MSVC runtimes to prevent the need of requiring the MSVC
runtimes for both architectures.
2016-11-23 06:03:00 -08:00
Jim b7b8ad476f Merge pull request #703 from Xaymar/feature_amd-encoder
enc-amf: Avoid using C++17 for VS2013 compatibility
2016-11-20 08:49:19 -08:00
Michael Fabian Dirks f792846c83 enc-amf: Avoid using C++17 for VS2013 compatibility 2016-11-20 17:46:13 +01:00
Gol-D-Ace 2d47dc4e2c Update translations from Crowdin 2016-11-20 12:22:26 +01:00
jp9000 4c4025a242 win-ivcam: Add Intel RealSense plugin 2016-11-19 03:15:21 -08:00
Andrew Surzhynskyi 072e24eb9e rtmp-services: Update ingest list for Restream.io 2016-11-18 17:40:21 +02:00
Jim 36b5527667 Merge pull request #698 from Xaymar/feature_amd-encoder
enc-amf: Update to 1.4.2.3
2016-11-17 05:57:59 -08:00
Michael Fabian Dirks 920d41220b enc-amf: Update to 1.4.2.3 2016-11-17 13:43:39 +01:00
Jim 80f1a19c62 Merge pull request #692 from RytoEX/youtube-recs
rtmp-services: Change YouTube keyint from 4 to 2
2016-11-16 20:51:30 -08:00
Michael Fabian Dirks 1e9ace42af enc-amf: Update to 1.4.2.2 2016-11-17 05:19:11 +01:00
Gol-D-Ace 90e805ad9b Update translations from CrowdIn 2016-11-16 00:32:47 +01:00
jp9000 edfc2bed05 obs-qsv11: Manually mark priority bits for QSV frames
QSV frame priority bits are not being marked correctly; their priorities
are always marked either low or disposable, whereas I-frames should be
marked as highest (3), P-frames should be marked as high (2), and other
frames should be marked as either low or disposable.  This helps ensure
that the correct frames are dropped when frames need to be dropped.
2016-11-14 17:34:46 -08:00
jp9000 53eb817d43 text-freetype2: Defer loading of plugin until source created
Helps significantly boost initialization time.
2016-11-14 17:34:45 -08:00
jp9000 eaa32c20be win-capture: Defer hook offset loading to separate thread
Boosts startup time significantly to defer this to a separate thread.
2016-11-14 17:34:44 -08:00
jp9000 35285a26b7 win-capture: Do not load 64bit hook offsets on 32bit systems 2016-11-14 17:34:32 -08:00
jp9000 67e9cafaba enc-amf: Update to temporary fix branch
Fixes the previous submodule commit, which is broken.  The temporary
branch used here ensures that users with multi-GPU laptops won't crash
on startup.
2016-11-14 17:34:31 -08:00
jp9000 b0054a16d0 enc-amf: Update to commit which prevents crash on startup
On certain switchable laptops with AMD graphics, due to a driver
bug/issue, the program will crash when querying capabilities.  The
commit this updates to fixes that by not querying capabilities on
startup.
2016-11-14 14:17:38 -08:00
jp9000 c5706d726b obs-outputs: Use correct variable for drop priority
There are two variables used for 'priority', the general marked frame
priority, and the drop priority.  They can sometimes be different
because some encoders don't always use the correct frame priority.
2016-11-13 16:29:23 -08:00
Ryan Foster 9f33ff0b99 rtmp-services: Change YouTube keyint from 4 to 2
YouTube recommends a keyframe interval of 2 seconds with a maximum
interval of 4 seconds.
2016-11-09 19:58:28 -05:00
Michael Fabian Dirks ffbf115ef3 enc-amf: Update to version 1.4.1.5 2016-11-09 21:49:16 +01:00
Ricardo Constantino 8c3b475812
obs-ffmpeg: Fix assumption about plane height with i444
Affected both FFmpeg and nvenc encoders.
Fixes issue 667.
2016-11-09 16:04:12 +00:00
Michael Fabian Dirks b25a38517f enc-amf: Fix VS2013 compiling issue
VS2013 doesn't include <memory> by default, this quick update fixes that problem.
2016-11-04 13:51:47 +01:00
Jim e72d59e2c7 Merge pull request #684 from Xaymar/plugin_enc-amf
enc-amf: Update to Version 1.4.1.0
2016-11-04 04:20:18 -07:00
Michael Fabian Dirks 25fa895796 enc-amf: Update to Version 1.4.1.0 2016-11-04 12:06:24 +01:00
jp9000 41a3a30655 win-mf: Deprecate AMD Media Foundation H.264 encoder 2016-11-03 14:24:53 -07:00
jp9000 ed85b22534 Update translations from CrowdIn 2016-11-03 13:32:52 -07:00
Jim f8f71541ad Merge pull request #680 from Xaymar/plugin_enc-amf
enc-amf: Update to version 1.4.0.0
2016-11-03 13:09:51 -07:00
Michael Fabian Dirks 8307ba1118 enc-amf: Update to release 1.4.0.0 2016-11-03 20:59:09 +01:00
jp9000 0b27b51294 win-capture: Add D3D12 capture support
Currently only supports shared texture capture, and doesn't support
rescaling.
2016-11-03 12:13:42 -07:00
jp9000 f49065b1e6 win-capture: Use IUnknown for getting swap backbuffers
Using IDXGIResource doesn't work with D3D12.  D3D12 textures are not a
subclass of that class.
2016-11-03 09:28:32 -07:00
jp9000 81ab13a2a4 win-capture: Cache cursor textures to prevent reallocation
Whenever a cursor is captured and the cursor icon changes, it creates a
new texture.  This isn't particularly optimal, so instead just store a
cache of cursor textures (based on size), and make the textures dynamic.
Doing this will prevent unnecessary texture reallocation.
2016-11-03 09:23:25 -07:00
Warren Turkal 40a5436549 obs-ffmpeg: Fix a couple printf compiler warnings. 2016-10-30 19:56:08 -07:00
Michael Fabian Dirks 0edaebe192 obs-transitions: Avoid branching in slide_transition.effect
Branching is not recommended in shaders and only recently gained
widespread support without causing massive branch misprediction issues. Also sampling inside a branch will cause cache misses and additional texture load instructions.
2016-10-29 13:09:11 +02:00
jp9000 405ae6bc7c rtmp-services: Add Picarto 2016-10-23 09:20:53 -07:00
jp9000 a7ef10f7ea obs-ffmpeg: Add b-frames to NVENC logging 2016-10-20 06:51:21 -07:00
Cephas Reis 94b6943f27 decklink: Update Blackmagic SDK to 10.8.0
Updated to help support the newest cards, features, and options.

Closes jp9000/obs-studio#627
2016-10-16 01:53:51 -07:00
Colin Edwards a41bdb3bf0 Update obs-browser submodule to a working version 2016-10-14 08:17:28 -05:00
Jim 43c1dce777 Merge pull request #634 from CoDEmanX/master
rtmp-services: Add Asian Livecoding.tv server and increase video bitrate
2016-10-09 18:49:34 -07:00