Commit Graph

2161 Commits (e6daa22ab7ee8f667ba677e444ba488ed886a1ac)

Author SHA1 Message Date
Richard Stanway 0e77a2c75b obs-outputs: Minor pointer fixes 2019-06-29 01:28:16 +02:00
Dead133 e0c8aac485 rtmp-services: Update ingest list for Restream.io 2019-06-25 17:18:02 +03:00
Exeldro d6fbbd5ead obs-text: fix text transform on updated file 2019-06-25 07:02:41 +02:00
jp9000 8c54b7f393 obs-ffmpeg: Move external headers to external dir
Prevents automatic formatting with clang-format
2019-06-23 23:54:26 -07:00
jp9000 f53df7da64 clang-format: Apply formatting
Code submissions have continually suffered from formatting
inconsistencies that constantly have to be addressed.  Using
clang-format simplifies this by making code formatting more consistent,
and allows automation of the code formatting so that maintainers can
focus more on the code itself instead of code formatting.
2019-06-23 23:49:10 -07:00
jp9000 53615ee10f clang-format: Add clang-format files 2019-06-23 01:53:56 -07:00
Jim fafda14963
Merge pull request #1906 from jpark37/bgr-three
libobs: linux-v412: obs-ffmpeg: Add packed BGR3 video support
2019-06-15 16:40:44 -07:00
Gol-D-Ace 973bc481ce Update translations from Crowdin 2019-06-11 01:42:42 +02:00
jp9000 1f39259bc5 win-capture: Add discord to game capture blacklist 2019-06-01 20:07:39 -07:00
James Park 614025742b libobs: linux-v412: obs-ffmpeg: Add packed BGR3 video support
Someone mentioned this format preserves the most quality for a
particular capture card using V4L2.
2019-05-30 06:05:53 -07:00
James Park 286e43bba8 win-wasapi: Speaker enum fixes
Remove KSAUDIO_SPEAKER_2POINT1 because it is included in the Windows
SDK. (I'm guessing it wasn't before.)

Redefine 4POINT1 as KSAUDIO_SPEAKER_SURROUND|SPEAKER_LOW_FREQUENCY
instead of KSAUDIO_SPEAKER_QUAD|SPEAKER_LOW_FREQUENCY. See definitions:

FFmpeg 4.1: FL+FR+FC+LFE+BC
WASAPI QUAD: FL+FR+BL+BR (looks wrong)
WASAPI SURROUND: FL+FR+FC+BC
WASAPI LOW_FREQUENCY: LFE
2019-05-23 21:31:18 -07:00
James Park 493648c6d2 obs-filters: Remove unused key_rgb shader variable
Variable was never used. Clean up both C++ and shader code.
2019-05-18 22:14:27 -07:00
James Park dde6257bd9 obs-filters: Remove unused variable for color key 2019-05-18 22:12:19 -07:00
jp9000 c22077ae26 obs-browser: Close browser panels early
Shuts down browser panels early to ensure that cookie data doesn't
necessarily get lost.
2019-05-17 17:14:32 -07:00
jp9000 973d31b8c2 libobs: Fix lockup when an encode call fails
(This commit also modifies the UI, obs-ffmpeg, and obs-output modules)

Fixes a long-time regression where the program would lock up if an
encode call fails.  Shuts down all outputs associated with the failing
encoder and displays an error message to the user.

Ideally, it would be best if a more detailed error could be displayed to
the user about the nature of the error, though the primary problem is
the encoder errors are typically not something the user would be able to
understand.  The current message is a bit of a generic error message;
improvement is welcome.

Another suggestion is to try to have the encoder restart seamlessly,
though it would take a significant amount of work to be able to make it
do something like that properly, and it sort of assumes that encoder
failures are sporadic, which may not necessarily be the case with some
hardware encoders on some systems.  It may be better just to use another
encoder in that case.  For now, seamless restart is ruled out.
2019-05-17 01:51:12 -07:00
Jérémy Farnaud 525c473c4c obs-ffmpeg: Fix VAAPI CBR 2019-05-11 17:20:24 -07:00
James Park 2ff9cf17c0 obs-outputs: Fix undefined MSG_NOSIGNAL
Define MSG_NOSIGNAL even if CRYPTO is not defined.
2019-05-09 22:38:34 -07:00
Jim e9185f462a
Merge pull request #1874 from tmatth/bugfix/avoid-sigpipe-on-closed-sock
Avoid sigpipe on writing to closed file descriptors
2019-05-09 19:26:01 -07:00
brittneysclark 092c35b2d7 obs-qsv: Update libmfx, fix QSV with new DCH drivers
This patch fixes QSV failing with new DCH graphics drivers. QSV is not
initializing under certain conditions when the graphics adapter 0 is not
set to iGFX due to outdated MSDK dispatcher. Updating to MSDK with new
dispatcher to enable proper initialization of QSV encoder with DCH
drivers.
2019-05-09 17:31:35 -07:00
Tristan Matthews 94c881b891 obs-outputs: Return error instead emitting SIGPIPE
This could happen if writing to a socket which was closed by the peer.
2019-05-09 17:05:38 -07:00
Jim 4991113abc
Merge pull request #1852 from jpark37/blend-alpha-attempt-two
libobs: libobs-d3d11: Fix alpha blend
2019-05-08 23:37:10 -07:00
James Park ba21fb947e libobs: Fix various alpha issues
There are cases where alpha is multiplied unnecessarily. This change
attempts to use premultiplied alpha blending for composition.

To keep this change simple, The filter chain will continue to use
straight alpha. Otherwise, every source would need to modified to output
premultiplied, and every filter modified for premultiplied input.

"DrawAlphaDivide" shader techniques have been added to convert from
premultiplied alpha to straight alpha for final output. "DrawMatrix"
techniques ignore alpha, so they do not appear to need changing.

One remaining issue is that scale effects are set up here to use the
same shader logic for both scale filters (straight alpha - incorrectly),
and output composition (premultiplied alpha - correctly). A fix could be
made to add additional shaders for straight alpha, but the "real" fix
may be to eliminate the straight alpha path at some point.

For graphics, SrcBlendAlpha and DestBlendAlpha were both ONE, and could
combine together to form alpha values greater than one. This is not as
noticeable of a problem for UNORM targets because the channels are
clamped, but it will likely become a problem in more situations if FLOAT
targets are used.

This change switches DestBlendAlpha to INVSRCALPHA. The blending
behavior of stacked transparents is preserved without overflowing the
alpha channel.

obs-transitions: Use premultiplied alpha blend, and simplify shaders
because both inputs and outputs use premultiplied alpha now.

Fixes https://obsproject.com/mantis/view.php?id=1108
2019-05-08 20:26:52 -07:00
sorayuki f67e63b1c6
win-dshow: fix issue decoding some H.264 stream
Logitech C920 web camera will output YUVJ420P which is not supported yet.
2019-05-05 16:18:16 +08:00
Hosein 61acbe9328 rtmp-services: Update GameTips.tv 2019-05-02 19:38:47 -07:00
jp9000 3f3ec4f933 obs-ffmpeg: Fix jim-nvenc initial DTS for fractional FPS
The initial DTS for non-fractional framerates was being incorrectly
calculated.  It assumed that the time base was in frames when it was
not.

Closes obsproject/obs-studio#1857
2019-05-02 12:45:17 -07:00
Clayton Groeneveld 31b73f8025 UI: Add ability to set properties spinbox suffix 2019-05-02 08:54:14 -07:00
Jim 003f00923e
Merge pull request #1860 from cg2121/kbps-singlestep
UI: Increment bitrates by 50
2019-05-02 07:32:49 -07:00
jp9000 f21a48ff36 UI: Remove mac browser workarounds, improve stability
The workarounds were made because of conflicts with running multiple UI
threads at once on macOS, which macOS can't do very well, and would be
susceptible to crashes.  This would cause crashes not only on startup
but seemingly at random when using the browser source on macOS.  The
original "fix" was a hack to try to minimize UI code and browser UI code
from executing at the same time.  The macOS initial scene loading was
deferred until all Qt-related and main window initialization was
completed.  Although this worked to some extent to prevent conflicts, it
made it so that there was an initial period on startup where the entire
UI seemed "blank" for users, and it was still possible for the main UI
thread and the browser UI thread to clash, causing crashes seemingly at
random for users.

The external message pump method of CEF is the solution to the problem,
which is the method which allows the main UI thread to share events with
CEF.  To do this, all CEF operations need to be performed in the UI
thread (Qt's main thread), and CefDoMessageLoopWork() needs to be called
when CefApp::OnScheduleMessagePumpWork callback is triggered.  A number
of other issues had to be solved as well, such as CefBrowser references
getting "stuck" in the Qt event queue.

With this, macOS no longer needs to do the "deferred load" hack, and
browsers are now much more stable and no longer as susceptible to
seemingly random crashes, improving overall program stability when
browsers are used.
2019-05-01 12:13:35 -07:00
Clayton Groeneveld 1160ee767a UI: Increment bitrates by 50 2019-04-30 06:54:02 -05:00
jp9000 0677fe2b21 obs-ffmpeg: Move ffmpeg-mux to executable dir
Instead of having ffmpeg-mux stored in a data directory, install it to
the primary binary directory.  On windows, this fixes ffmpeg-mux
potentially accessing the wrong FFmpeg libraries (some programs install
them to system32, foolishly), and instead ensures that it uses the ones
that come with the program.  On Linux, ensures that a binary is in its
appropriate directory (/usr/bin or /usr/local/bin rather than a subset
of /usr/share or /usr/local/share).
2019-04-26 13:24:34 -07:00
jp9000 0800c8cbd1 obs-filters: Use int sliders for opacity
This changes all opacity scrollers for filters to sliders + scrollers.

Reference: obsproject/obs-studio#1827
2019-04-26 06:33:41 -07:00
jp9000 71f9900e74 obs-filters: Fix opacity on image mask/blend filter
The alpha value from the opacity slider was being overwritten.

Closes obsproject/obs-studio#1827
2019-04-26 05:22:44 -07:00
James Park a86710ec5b libobs: Support limited color range for RGB/Y800 sources
libobs: Add support for limited to full color range conversions when
using RGB or Y800 formats, and move RGB converison for Y800 formats to
the GPU.

decklink: Stop hiding color space/range properties for RGB formats, and
remove "YUV" from "YUV Color Space" and "YUV Color Range".

win-dshow: Remove "YUV" from "YUV Color Space" and "YUV Color Range".

UI: Remove "YUV" from "YUV Color Space" and "YUV Color Range".
2019-04-25 15:13:05 -07:00
jp9000 7d136c3ce1 decklink, win-dshow: Use obs_source_output_video2
Allows the ability to override and use partial range RGB with the
DirectShow and Decklink device sources when partial range RGB is
implemented.  Fixes certain cases where devices could capture RGB in
limited range via HDMI (per the HDMI specs).
2019-04-25 15:12:33 -07:00
jp9000 f109d1c2bf Revert "libobs: libobs-d3d11: obs-filters: No excess alpha"
This reverts commit d91bd327d7, which
broke alpha with sources, scenes, and filter, causing them all to become
opaque unintentionally.
2019-04-25 08:36:41 -07:00
pkv a5b837518e obs-outputs: Fix leak with certs for rtmp 2019-04-21 23:54:27 +02:00
Igor Bochkariov 69b4df41c6 win-wasapi: Unapply/reapply audio monitoring on reconnect
Saves and disable monitoring before entering recover loop, and restores
it after recovery is complete.
2019-04-20 03:37:24 -07:00
Igor Bochkariov 041d3b4155 win-wasapi: Fix audio capture after unplugging device
This commit fixes a bug where the user would have to restart OBS when
certain types of devices are unplugged and plugged back in again
(particularly USB devices).  A wait interval is required
(RECONNECT_INTERVAL) because Windows does not send any events to
IAudioCaptureClient on device invalidation.
2019-04-20 03:37:24 -07:00
Igor Bochkariov abe59f7187 win-wasapi: Call CoInitializeEx in reconnect thread
Fixes an issue where COM might not be available to calls within the
reconnect thread.
2019-04-20 03:37:24 -07:00
jp9000 77d92421ed rtmp-services: Update Mixer keyframe interval 2019-04-19 11:10:40 -07:00
Richard Stanway ca5a19cf66 obs-ffmpeg: Add logging of last error for passing to UI 2019-04-19 05:45:38 -07:00
dwot 8c7dbf69f2 vlc-video: Enable subtitle track selection 2019-04-17 06:45:33 -07:00
Jim 10e72fcc2a
Merge pull request #1752 from pkviet/vlc
vlc-video: Enable audio track selection
2019-04-14 05:13:47 -07:00
Jim 397f3733cf
Merge pull request #1685 from DDRBoxman/luma
obs-filters: Add luma key filter
2019-04-14 04:24:16 -07:00
Jim 9480cc4fd2
Merge pull request #1675 from admshao/clear-linux-compiling-warnings
Clear linux compiling warnings
2019-04-14 04:21:21 -07:00
Jim e7b25a9870
Merge pull request #1667 from grimmy/xshm-xrandr-support
linux-capture: Add randr support
2019-04-14 04:15:29 -07:00
geemion f6581952bc win-capture/graphics-hook: Check if mutex abandoned
It's possible that the mutexes used with shared memory capture to return
WAIT_ABANDONED if OBS is shut down abnormally while the mutex is locked.
2019-04-14 03:44:48 -07:00
Jim 30e90c3030
Merge pull request #1573 from DragoonAethis/master
obs-ffmpeg: Bind network buffer size in the UI
2019-04-14 02:51:14 -07:00
Jim f1399b6d18
Merge pull request #1765 from jpark37/blend-alpha
libobs: libobs-d3d11: Fix blend alpha overflow
2019-04-14 00:22:20 -07:00
lorskun f6f780acd2 rtmp-services: Add OnlyFans streaming service 2019-04-13 03:43:11 -07:00
Jim d0f52a6479
Merge pull request #1781 from cg2121/color-source-default-size
image-source: Set default size of color source to canvas size
2019-04-10 17:38:51 -07:00
Gol-D-Ace 9fc1069e9b Remove double spaces from localization 2019-04-08 16:02:32 +02:00
pkv 5114dc1b91 vlc-video: Enable audio track selection 2019-04-08 12:25:40 +02:00
James Park d91bd327d7 libobs: libobs-d3d11: obs-filters: No excess alpha
Currently SrcBlendAlpha and DestBlendAlpha are both ONE, and can
combine together to form two. This is not a noticeable problem for
UNORM targets because the channels are clamped, but it will likely
become a problem if FLOAT targets are more widely used.

This change switches DestBlendAlpha to INVSRCALPHA, and starts
backgrounds as opaque black instead of transparent black. The blending
behavior of stacked transparents is preserved without overflowing the
alpha channel.
2019-04-07 18:16:56 -07:00
Jim a0ead6f974
Merge pull request #1800 from cg2121/add-pragma-once
UI, libobs, text-freetype2: Add missing pragma once in header files
2019-04-06 23:40:43 -07:00
Gary Kramlich 758868093b linux-capture: Add randr support
Add randr suport to the xshm plugin and prefer it over xinerama.

Add libxcb-xrandr0-dev as CI dependency
2019-04-05 16:05:59 -05:00
jp9000 6550c0dfaa obs-ffmpeg: Remove "A" variants from NVENC blacklist 2019-04-05 07:36:13 -07:00
Gol-D-Ace e78ac5ebef Update translations from Crowdin 2019-04-04 16:19:51 +02:00
Clayton Groeneveld d1be93ae69 UI, libobs, text-freetype2: Add missing pragma once in header files 2019-04-01 02:48:28 -05:00
Shaolin 54f4e2589a plugins: Clear all compiler warnings 2019-03-29 06:29:09 -03:00
jp9000 d18c62b2b5 libobs, image-source: Fix ABI break in image_file_t structure
In commit a776a6cf07, the image_file_t structure (which is a public
structure) had a member variable added to it, which broke ABI.
2019-03-28 22:30:20 -07:00
jp9000 5d83e1aec4 obs-ffmpeg: Show encoder name when logging jim-nvenc 2019-03-28 16:38:14 -07:00
Clayton Groeneveld 46c5780a77 image-source: Set default size of color source to canvas size 2019-03-27 22:00:33 -05:00
Jim faa2ba3617
Merge pull request #1776 from jpark37/unused-function
obs-filters: Remove unused function in shader
2019-03-26 14:08:02 -07:00
Jim 02dad0b858
Merge pull request #1779 from jpark37/sharpness-cleanup
libobs: Remove dead code in sharpness effect
2019-03-26 14:06:41 -07:00
jp9000 c18aab29ee obs-ffmpeg: Fix blacklisted adapter check
The quadro P5000 would incorrectly be considered blacklisted because it
used a string search for the P500, which is an earlier quadro variant
that does not have NVENC support.

To fix this, instead of just doing a string search, additionally check
to make sure that there preceding or trailing numbers on the adapter
name.
2019-03-26 03:00:00 -07:00
Richard Stanway 0bf09160e5 win-dshow: Update libdshowcapture for crash fix 2019-03-25 17:16:21 +01:00
James Park 36201d9b67 libobs: Remove dead code in sharpness effect
Not sure why, but there's a dead uniform and interpolant in the
sharpness effect. This change removes them.
2019-03-25 08:38:45 -07:00
James Park f046177c4f obs-filters: Remove unused function in shader
SampleYUVToRGB() is no longer used after the previous DrawMatrix purge.
2019-03-23 18:31:38 -07:00
jp9000 3a288e95f4 obs-browser: Make DispatchJSEvent asynchronous 2019-03-22 05:29:08 -07:00
Colin Edwards 609c7dfa2a obs-filters: Add luma key filter 2019-03-20 11:37:38 -05:00
Clayton Groeneveld f101ea0834 image-source: Re-add fix of repeating images
With the dynamic loading of images being reverted, the fix for
this separate issue was also reverted.
2019-03-14 12:23:36 -05:00
Gol-D-Ace f27a00d266 Revert "obs-ffmpeg: Add option to use b-frames as reference"
This reverts commit adf3337d3c.
Currently causing timestamp issues resulting in FPS issues.
2019-03-14 10:05:55 +01:00
Colin Edwards e001e2d1b9
Merge pull request #1733 from VodBox/media-source-wording
obs-ffmpeg: Change clear on media end wording for media source
2019-03-14 00:17:42 -05:00
Colin Edwards 5c16a96770
Merge pull request #1715 from jpark37/area-filter
Add "Area" scale filter
2019-03-13 23:30:25 -05:00
Hosein 8b6b8f33de rtmp-services: Add GameTips.tv
Closes #1724
2019-03-13 22:21:33 -05:00
jasonlee 6039cbb938 obs-ffmpeg: Use correct calling convention on CreateDXGIFactory1
Closes #1740
2019-03-13 20:11:43 -05:00
Colin Edwards 01b6672de5
Merge pull request #1671 from derrod/nvenc-bframeasreferenceoption
obs-ffmpeg: Add option to use b-frames as reference
2019-03-13 19:10:59 -05:00
jp9000 c88bd219cb image-source: Add memory usage limit to slideshow
This prevents users from loading too much image data at once.  It will
only add as many files within the memory limit.
2019-03-13 01:12:40 -07:00
jp9000 07c22cb885 image-source: Revert slideshow dynamic loading
Reverts dynamic loading of images to slideshow.
2019-03-13 00:07:45 -07:00
Vainock a99f71ef1c Adjust locales for better consistency 2019-03-12 06:27:47 +01:00
VodBox ce4bda45df obs-ffmpeg: Change clear on media end wording for media source
As per mantis issue 1403, the current wording for ClearOnMediaEnd is
ambiguous. Since it says "Hide source", some may believe it to mean the
scene item in the sources list will have it's visibility set to hidden.
This wording makes it clearer what the checkbox actually does.
2019-03-11 12:16:54 +13:00
Colin Edwards 045aa71e09
Merge pull request #1691 from nocodedweb/master
rtmp-services: Added GamePlank to services
2019-03-09 19:51:55 -06:00
Colin Edwards c4f4b6602b
Merge pull request #1648 from DougTy/master
linux-v4l2: Add setting to change color range
2019-03-09 18:58:19 -06:00
jp9000 93cc09f078 obs-text, win-capture: Do not use premultiplied alpha 2019-03-07 08:14:34 -08:00
James Park 7d811499e0 Add "Area" scale filter
This new scale filter computes pixels by weighing the coverage area of
source pixels over the target pixel. This algorithm works well for both
upsampling and downsampling, but was mainly designed to upscale
high-quality low-resolution sources like RGB/HDMI retro consoles. I've
heard of people using odd workarounds like scaling up to very high
resolutions before scaling back down to preserve pixel shartpness. This
algorithm directly addresses this use-case in a much more direct
fashion.

The Area scale filter does a better job of preserving the thickness of
thin features than the Point filter.

The Area scale filter does not look at source pixels that lie outside
of the target pixel, leading to a much sharper image than Bilinear,
Bicubic, and Lanczos filters.

This filter should interpolate pixels in linear space, but OBS is not
equipped to do that at the moment.

libobs: Add GPU effect, and wire up scene serialization.

obs-filters: Add Area as an option for scale_filter.

UI: Add Area as an option for both scene items, and canvas downscaling.
2019-03-06 20:53:15 -08:00
jp9000 4c7860056e Revert "Merge pull request #1418 from cabirdme/qsv_feature_add"
This reverts commit 3c22cf35c9, reversing
changes made to c7dab6c92b.

This is being reverted due to many people being unable to start up the
QSV encoder with these changes.
2019-03-05 15:21:09 -08:00
jp9000 92cb20e7a2 Revert "obs-qsv: Enable b-pyramid & change packet priority"
This reverts commit 33ff46a10e.

This is being reverted due to many people being unable to start up the
QSV encoder with these changes.
2019-03-05 15:20:42 -08:00
Richard Stanway d8812e0808 obs-ffmpeg: Check avformat context before use 2019-03-05 21:58:09 +01:00
Richard Stanway 460c34aeaf obs-ffmpeg: Fix crash on failed audio codec init (for real) 2019-03-05 21:54:12 +01:00
Richard Stanway b73bffff48 obs-ffmpeg: Fix crash on failed audio codec init 2019-03-05 21:48:58 +01:00
Colin Edwards e9ec398667
Merge pull request #1670 from pkviet/expredux
obs-filters/expander: Various improvements
2019-03-03 22:34:28 -06:00
Colin Edwards 495222f6b9
Merge pull request #1688 from cg2121/fix-slideshow-repeat-image
image-source: Fix repeating of images with slideshow source
2019-03-03 22:30:25 -06:00
Colin Edwards 5db9517c6e
Merge pull request #1712 from jpark37/highest-fps
win-dshow: Fix "Highest FPS" algorithm
2019-03-03 21:42:25 -06:00
Colin Edwards a8598bd205
Merge pull request #1709 from exeldro/allcaps
obs-text: Add text transform property
2019-03-03 21:19:47 -06:00
pkv 6e6d74671a decklink: Fix locale (missing word) 2019-03-03 22:37:53 +01:00
Colin Edwards 818001fb59 decklink: Allow selecting input connections. 2019-03-03 13:19:38 -06:00
Colin Edwards 8429724d64
Merge pull request #1706 from pkviet/deckfix
decklink: Fix FC<->LFE channel swap for some devices
2019-03-03 13:05:25 -06:00
pkv 05508ac895 decklink: Fix FC<->LFE channel swap for some devices
Fixes mantis issue https://obsproject.com/mantis/view.php?id=1379
For some devices with hdmi input, the Front Center channel and the LFE
channel are swapped. For some others they are not.
To solve the issue a new swap setting is added so that the user can
swap the two channels if needed.
2019-03-03 19:57:27 +01:00
Exeldro 2800fd624b obs-text: Add text transform property
Allows text to be transformed to all uppercase or lowercase letters
2019-03-03 19:10:58 +01:00
James Park b3c2e74d0f win-dshow: Fix "Highest FPS" algorithm
MatcherClosestFrameRateSelector updates best_match as a side effect of
visiting every VideoInfo instance, but CapsMatch uses std::any_of,
which will stop iterating prematurely on first match. This means that
the highest FPS is not selected.

This change switches to a for loop that doesn't exit early.
2019-03-03 10:05:09 -08:00
jp9000 a2201d5898 obs-ffmpeg: Always output SEI 2019-03-03 07:07:34 -08:00
jp9000 b8c78a340d obs-ffmpeg: Fix SEI data output
SEI was using the wrong variable for its size.
2019-03-03 07:07:34 -08:00
Colin Edwards 827919e9ca
Merge pull request #1696 from DDRBoxman/bmsdk
decklink: Update SDK to 10.11.4
2019-03-02 23:32:28 -06:00
Colin Edwards 4f6d167951 obs-qsv11: Fix crash on destructor after init failure 2019-02-28 20:11:21 -06:00
Jim 709aac5188
Merge pull request #1704 from DDRBoxman/qsvcrash
obs-qsv11: Don't try to free non allocated array on destruction
2019-02-28 18:07:23 -08:00
Colin Edwards d8f254550f obs-qsv11: Don't try to free non allocated array on destruction 2019-02-28 17:56:12 -06:00
jp9000 748067c930 obs-ffmpeg: Fix NVENC blacklisted card check
Apparently, the parameters were the wrong way, making the test always
fail to detect a blacklisted adapter.
2019-02-28 06:34:13 -08:00
Colin Edwards 39c9bc6823 decklink: Update SDK to 10.11.4 2019-02-26 19:30:11 -06:00
jp9000 f2d7f5b2e7 obs-browser: Fix widgets being initially blank on high-DPI 2019-02-26 13:51:11 -08:00
jp9000 dccf686150 obs-ffmpeg: Fix bitrate being set on NVENC CQP/lossless 2019-02-26 07:43:38 -08:00
Joshua Rowe 9e19ac850e rtmp-services: Added GamePlank to services 2019-02-25 12:10:15 -07:00
jp9000 b1dfc9ccda image-source: Change max loaded slideshow images to 21
Just gives a bit more breathing room before images start having to load.
2019-02-25 08:21:28 -08:00
jp9000 5dca0fde5b enc-amf: Update translations 2019-02-25 08:07:08 -08:00
jp9000 a87afeb69b obs-ffmpeg: Add more blacklisted NVENC adapters 2019-02-25 08:05:38 -08:00
Gol-D-Ace 98f78fe3a7 Update translations from Crowdin 2019-02-25 15:11:33 +01:00
Clayton Groenveld b8730415dc image-source: Fix repeating of images with slideshow source 2019-02-24 19:59:10 -06:00
Gol-D-Ace ec42739ad5 Update translations from Crowdin 2019-02-24 23:26:47 +01:00
jp9000 e5fc045402 UI: Force Twitch moderation tools to system browser
In the Twitch chat dock window, the "Moderation Tools" link in the chat
settings should not navigate the window to the new URL; it should pop up
the URL in the user's system browser instead.
2019-02-24 01:02:06 -08:00
jp9000 ef270c8ba0 obs-ffmpeg: Free NVENC textures after sending EOS
Prevents a crash when using the new lookahead feature, presumably
because those textures are in use when the EOS is sent.
2019-02-21 03:12:12 -08:00
jp9000 6e533d9a8a obs-browser, obs-vst: Update translations 2019-02-20 19:57:41 -08:00
Colin Edwards 33e4de5be6 obs-text: Use custom draw flag
Fixes filters while preserving premult alpha
2019-02-20 19:02:44 -06:00
Gol-D-Ace c3711bdd5e Update translations from Crowdin 2019-02-20 22:26:07 +01:00
derrod adf3337d3c obs-ffmpeg: Add option to use b-frames as reference
According to nvidia's documentation using b-frames as reference results in
a slight quality improvement with no/negligible performance impact and is
recommended to be enabled by default when using multiple b-frames.
2019-02-20 05:05:12 +01:00
jp9000 8694859e85 image-source: Actually defer slideshow, not image source
The previous commit in this module meant to defer the properties update
of the slideshow source, not the image source.  Wrong file was modified.
2019-02-19 12:02:43 -08:00
pkv 41ddf83da8 obs-filters/expander: Various improvements
Make envelope per channel.
Move ballistics (attack/release) to log domain and after gain stage.
cf Josh Reiss, Uni. London,
http://c4dm.eecs.qmul.ac.uk/audioengineering/compressors/documents/Reiss-Tutorialondynamicrangecompression.pdf
Thanks to Dedrick for very useful feedback.
2019-02-18 23:55:09 +01:00
derrod 18c59c3e54 obs-ffmpeg: Fix constant QP mode in new NVENC 2019-02-17 02:43:31 +01:00
Richard Stanway 9cd892cf9e obs-ffmpeg: Update advice for CFA
Turns out you need to add the ffmpeg mux processes too which is a bit
unreasonable to expect a user to do, so just recommend disabling it
outright.
2019-02-15 09:38:19 +01:00
jp9000 48ecd99b2d vlc-video: Fix a video format not playing back correctly 2019-02-14 23:51:17 -08:00
jp9000 4c3f992b44 obs-ffmpeg: Add more blacklisted non-NVENC adapters 2019-02-14 23:12:55 -08:00
Richard Stanway aca8d60d0a obs-browser: Update default URL 2019-02-14 23:18:12 +01:00
jp9000 01434dd265 obs-browser: Don't use UNUSED_PARAMETER in app class 2019-02-13 19:50:38 -08:00
jp9000 e67d04270a obs-ffmpeg: Enable NVENC psycho_aq by default for now 2019-02-13 19:33:39 -08:00
jp9000 731784cd05 obs-browser: Have child processes detect crashes
If the main process crashes, have the child processes attempt to
terminate themselves so the child processes do not linger unnecessarily.
2019-02-13 19:31:46 -08:00
Richard Stanway 15895bfb76 obs-outputs: Increase GetAdaptersAddresses buffer size
4096 is too small for most systems to do this in a single call.
2019-02-13 21:59:58 +01:00
jp9000 c372d26c02 win-capture: Don't try to find window every frame
When window capture is not capturing a window, don't try to find the
window every frame.  Instead, just check once per frame.  The process of
finding a window has a lot of checks and requires a surprising amount of
processing.
2019-02-11 17:57:24 -08:00
jp9000 0948e8a629 obs-ffmpeg: Mark unused parameter 2019-02-11 17:34:07 -08:00
jp9000 e49bba3292 obs-ffmpeg: Don't expose new settings to old NVENC (yet) 2019-02-11 17:33:17 -08:00
Jim 25bc6db718
Merge pull request #1658 from cristisilaghi/master2
obs-ffmpeg: Fix crash when audio not configured
2019-02-11 13:04:23 -08:00
Cristian Silaghi 4c293b9755 obs-ffmpeg: Fix crash when audio not configured 2019-02-11 22:17:41 +02:00
jp9000 47ba3e8c22 image-source: Defer update of slideshow source
Defers the update of the slideshow source until the user has pressed OK
or exited the properties dialog.  This ensures images aren't reloaded
every time the user adjusts a setting.
2019-02-10 23:06:20 -08:00
jp9000 0d4693e015 obs-ffmpeg: Add a few line breaks for new tooltips 2019-02-10 15:43:08 -08:00
VodBox 81dc78f50f obs-ffmpeg: Use CQP in jim-nvenc properties text 2019-02-10 13:23:05 +13:00
jp9000 8fb36700b2 obs-ffmpeg: Add tooltips for new NVENC settings 2019-02-09 01:12:18 -08:00
jp9000 71130137f3 image-source: Increase slideshow max loaded to 15 2019-02-08 19:00:38 -08:00
jp9000 ecdae0d417 obs-ffmpeg: Disable psycho_aq by default (for now) 2019-02-08 16:16:41 -08:00
jp9000 a249d26eaa obs-ffmpeg: Do not allow new NVENC on gpu idx > 0
Because the new NVENC implementation requires texture sharing, if the
user chooses to use a secondary GPU, fall back to the old implementation
instead.
2019-02-07 22:47:50 -08:00
Michael Fabian 'Xaymar' Dirks 656dcf4efa enc-amf: Update plugin to Version 2.5.1
Fixes the Profile Level problem with integrated AMD Vega GPUs.

(Jim: Also fixes an issue where the amf-test executable would not build)

Closes obsproject/obs-studio#1619
2019-02-07 18:49:31 -08:00
jp9000 ed0c7bcd6a obs-ffmpeg: Add texture-based NVENC encoder implementation
Adds a texture-based NVENC implementation which passes OBS NV12 output
textures directly to NVENC without downloading them off of the GPU,
increasing NVENC performance by a significant margin.

If NV12 textures are unavailable or the new encoder fails to initialize
for whatever reason, it will fall back to the FFmpeg NVENC
implementation safely.
2019-02-07 17:00:47 -08:00
jp9000 8b566f3352 obs-ffmpeg: Update NVENC properties and property defaults
Adds VBR rate control mode, adds a lookahead option, adds psycho visual
tuning option, removes level property (now always set to 'auto'),
removes "2pass" option (replaced by new "Max Quality" preset which uses
2pass by default), modifies a few defaults, and updates their locale
text.
2019-02-07 17:00:47 -08:00
jp9000 9c11772682 obs-ffmpeg: Update display name of FFmpeg NVENC encoder 2019-02-07 17:00:47 -08:00
jp9000 c3f3aa7f25 obs-ffmpeg: Update nvEncodeAPI.h to latest version 2019-02-07 17:00:47 -08:00
jp9000 0be02564cb obs-ffmpeg: Implement NVENC video card blacklist
This implements a blacklist of devices that ship with NVENC libraries,
but do not support NVENC, which would cause the plugin to mistakenly
think that NVENC was available when it was not.  If these devices are
the only NVIDIA devices on the system, consider NVENC unavailable.

This is much more efficient than spawning an encoder on startup to see
if NVENC is available, which would incur a ~500 millisecond hit on
startup.  Additionally, also much less crash-prone.
2019-02-07 17:00:46 -08:00
jp9000 940fd23cb4 UI: Switch to new browser panel code 2019-02-07 14:47:14 -08:00
Doug Ty ba349922a3 linux-v4l2: Add setting to change color range 2019-02-06 01:53:30 -07:00
Dmitry-Me 7be8269145 obs-filters: Fix unused parameter warnings 2019-02-05 18:20:26 +03:00
Colin Edwards 09f9ed0659 obs-vst: Fix resizing on windows (submodule update) 2019-02-04 21:57:44 -06:00
Colin Edwards 17524a9691
Merge pull request #1638 from WizardCM/offset-monitor-count
win-capture: Start user-facing monitor count at 1
2019-02-04 21:00:05 -06:00
jp9000 a4e8b93653 win-capture: Add a few more blacklisted capture exes 2019-02-04 18:16:43 -08:00
jp9000 da1f84133e win-capture: Do not capture "explorer.exe" with null titles 2019-02-04 18:16:43 -08:00
Matt Gajownik 84a3a906a0 win-capture: Start user-facing monitor count at 1
Operating systems don't report monitors from 0, so OBS shouldn't
either. This avoids user confusion when display capture doesn't work.
This does not change monitor count internally.
2019-02-03 11:18:00 +11:00
Colin Edwards 734349638f
Merge pull request #1633 from Dmitry-Me/removeRedundantQualifier
decklink: Remove redundant const qualifiers
2019-02-01 12:24:36 -06:00
Colin Edwards c98b3f3e82
Merge pull request #1635 from derrod/purge-services
rtmp-services: Remove LiveEdu from services
2019-02-01 12:23:35 -06:00
derrod f902c515a3 rtmp-services: Remove LiveEdu from services
They now provide ingest URLs on demand in their panel.
The ones in our list point to random OVH IPs that are likely assigned to
new customers by now and refuse the connection on TCP port 1935.
2019-02-01 19:03:58 +01:00
Dmitry-Me c9dc07db92 decklink: Remove redundant const qualifiers 2019-02-01 16:24:37 +03:00
derrod 7a6114e22e rtmp-services: Update Twitch and Smashcast ingests
Twitch Oslo ingest is still omitted as it currently still points to
the Stockholm domain.
2019-02-01 00:20:16 +01:00
Colin Edwards ba5564dbf9
Merge pull request #1586 from pkviet/expander
obs-filters: Add downward expander filter
2019-01-31 14:01:34 -06:00
pkviet fcc9f4e1f9 obs-filters: Add downward expander filter
The downward expander acts as an advanced gate with smoother effect
since it lowers the level instead of discarding audio when below the
threshold.
2019-01-31 20:20:52 +01:00
Tristan Matthews 06081e799a rtmp-services: restore STAGE TEN (now using rtmps) 2019-01-30 22:11:13 -06:00
Christopher Serr 7c53483388 Use Premultiplied Alpha for Text and Game Capture (#1578)
The GDI+ based Text Source actually uses Premultiplied Alpha. The edges
of the fonts are therefore incorrectly blended, causing ugly artifacts
especially if bright text above a bright background is used. Here's an
image comparing the new text blending (left) to before (right):
![https://i.imgur.com/VhhkQcZ.png](https://i.imgur.com/VhhkQcZ.png)

Additionally, the game capture has the same problem, so premultiplied
alpha is used there as well now.
2019-01-30 21:54:24 -06:00
Wahaj Dar 0d9fb6c8b0 rtmp-services: updating castr.io ingests
Closes obsproject/obs-studio#1613
2019-01-30 21:43:57 -06:00
Adit Sharda 0269f4eb01 Add Bangalore, India server to Restream
This patch adds Indian server released by Restream to the list of predefined servers.

Closes obsproject/obs-studio#1626
2019-01-30 21:32:39 -06:00
pongraczgabor87 d9cecd18c4 rtmp-services: Add Camplace.com RTMP Services (#1631) 2019-01-30 21:25:54 -06:00
Colin Edwards 6bd2589f9c
Merge pull request #1574 from Dmitry-Me/initMemberVar4
decklink: Initialize member variable
2019-01-30 19:35:21 -06:00
Colin Edwards cda5799087 syphon: Remove references to game capture 2019-01-29 14:23:38 -06:00
Richard Stanway bf16ec5f2d obs-ffmpeg: Show additional details in failed to write error
A bit of a hack, but this is one of the more common errors that users
are encountering, so showing useful information will help cut down on
the number of support issues.
2019-01-27 20:16:40 +01:00
Richard Stanway 7a32f12d9c win-capture: Disable cached offsets writing
We don't read cached offsets any more, so it makes little sense to write
them on every startup.
2019-01-27 16:18:53 +01:00
Richard Stanway f48b210d61 win-capture: Improve reading from get-graphics-offsets
Increase the buffer size to read the response in one call if possible,
and cause an error condition with log message if the offsets string is
empty.
2019-01-27 16:18:53 +01:00
brittneysclark 33ff46a10e obs-qsv: Enable b-pyramid & change packet priority
- Enable b-pyramid frames
- Adjust packet priority to avoid dropping referencable B frames

Closes obsproject/obs-studio#1520
2019-01-25 12:13:22 -08:00
Dmitry-Me a00b4ce1d4 decklink: Initialize member variables 2019-01-15 17:59:03 +03:00
jp9000 13ee5e00bb rtmp-services: Update service json format version
Some of the format of the Json changed (adding alt_names), so update the
format version to prevent it from being used with older versions.
2019-01-05 07:10:52 -08:00
Colin Edwards dfe83a7f91
Merge pull request #1604 from DDRBoxman/keyerrgb
Decklink: only use RGBA when using keyer
2019-01-04 23:05:53 -06:00
Colin Edwards b09880bf2d
Merge pull request #1594 from DDRBoxman/qsvwtf
obs-qsv11: Log errors on init
2019-01-04 22:55:50 -06:00
Colin Edwards e296855d14 Decklink: only use RGBA when using keyer 2019-01-04 22:25:08 -06:00
Jim 37dc3cde2b
Merge pull request #1598 from chaturbatecom/chaturbatesourcesupdate2
rtmp-services: Update Chaturbate POPs
2019-01-04 19:43:49 -08:00
Colin Edwards e9b4d50606 obs-qsv11: Log errors on init 2019-01-04 20:01:39 -06:00
Colin Edwards 2e4bcf5dc0
Merge pull request #1576 from DDRBoxman/rebasedkeyer
Decklink: Keyer Support
2019-01-04 17:34:50 -06:00
Colin Edwards 19bc92d267 Decklink: Keyer support 2019-01-04 17:34:00 -06:00
Jim dcd2f34236
Merge pull request #1556 from pkviet/limiter-separate
obs-filters: Add limiter filter
2019-01-04 14:33:48 -08:00
Jim e7fcd71715
Merge pull request #1513 from SingularityAzure/linux-capture-xcompcap-singularity
linux-capture: XCompCap now chooses glXFBConfigs based on window depth
2019-01-04 06:36:02 -08:00
Chaturbate 349849e518 rtmp-services: Update Chaturbate POPs 2019-01-01 17:03:33 -08:00
Jim 6d8f2f4f93
Merge pull request #1570 from derrod/purge-services
rtmp-services: Remove dead servers/services
2018-12-12 18:36:49 -08:00
Ryszard Knop 358194764b obs-ffmpeg: Bind network buffer size in the UI
Input buffer by default is set to 2MB - for some sources, for example streaming
RTSP input over UDP, this is not enough and causes significant playback issues
that are not present while playing back the same source under ffplay/mpv.

It looks like someone actually started working on this feature as there are
translated strings, properties and everything ready - only the control was
missing from the UI. This commit adds that control.

Currently, the range is set to 1-16MB, step 1MB. This is somewhat arbitrary,
so suggestions to tweak this range with more real-world use cases are welcome.
2018-12-10 01:50:28 +01:00
Jim 494a37ec74
Merge pull request #1547 from SuslikV/patch-9
decklink: Add declaration file for integer types
2018-12-06 12:02:04 -08:00
Jim d10368419d
Merge pull request #1569 from Dmitry-Me/initMemberVar3
win-mf: Initialize member variable
2018-12-06 09:12:58 -08:00
derrod 3ea4b47b1c rtmp-services: Remove dead servers/services 2018-12-06 16:54:07 +01:00
Cheeseness d3b5ee55fb linux-v4l2: Make V4L device names unique
Addresses mantis issue 0000702.

Closes obsproject/obs-studio#1553
2018-12-06 05:47:03 -08:00
Dmitry-Me 45a143a504 win-mf: Initialize member variable 2018-12-06 10:14:54 +03:00
Jim cf73fa6da1
Merge pull request #1557 from pkviet/fdk
obs-libfdk: Compatibility fix for new API
2018-12-05 12:47:03 -08:00
Bongalive 54fc877c23 rtmp-services: Added Bongacams ingest point
Closes obsproject/obs-studio#1567
2018-12-05 12:28:39 -08:00