2741 Commits

Author SHA1 Message Date
Kurt Kartaltepe
43da6eacd0 obs-filters/obs-outputs: Cleanup unused var warns
Fix unused variables when compiling without rnnoise
Fix unused variable warnings in GCC when using assert() in release
2020-08-23 12:09:59 -07:00
jpark37
a713a5b433 win-capture: Robust Vulkan swap chain handling
Not all surfaces support VK_IMAGE_USAGE_TRANSFER_SRC_BIT. Only
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT is required by spec. Add fall back.
2020-08-23 11:23:12 -07:00
pkv
3521fb976c rtmp-services/rtmp-custom: Apply repeat_headers video setting to srt output
If the video encoder allows video headers repetition at IDR frames,
and if the output is not rtmp (so srt, udp, etc with mpegts container),
this commit enables application of this setting from the custom service
(since srt is available through that service).
2020-08-23 11:10:10 +02:00
pkv
73ac96ac7c obs-ffmpeg: Allow video headers repetition in IDR and bitstream for jim-nvenc
This commit adds a repeat_headers setting which will allow sps/pps
repetition and AUDs(access unit delimiters) .
Repetition is ensured by h264config->repeatSPSPPS &
h264config->disableSPSPPS;
the two parameters are set by nvenc to true on default.
When video headers repetition is required, we set the second in
jim-nvenc to false so that SPS/PPS are written into bitstream.
The first parameter could be omitted but is exposed since repetition of
video headers might not be required.
When headers repetition is enabled, we also enable AUD to facilitate
decoding.
Typically the video headers repetition will be useful for mpegts and
DVB broadcast decoders.
2020-08-23 11:10:10 +02:00
pkv
915379a99d obs-x264: Allow repeat_headers and annexb parameters to be set
The repeat_headers parameter is currently hard-coded to false and can
not be changed.
For mpegts container and allow better compatibility with broadcast
mpegts decoders, it is mandatory to repeat the sps/pps headers
regularly.
This commit enables this parameter to be set either by the user or the
service (ex: udp or srt w/ mpegts container).
The b_annexb enables compatibility with Annex B bitstream which is
better for streaming formats than avcc.
2020-08-23 11:10:09 +02:00
craftwar
f4ee271cd2 obs-filters: Fix building without noise reduction 2020-08-23 17:05:16 +08:00
jp9000
36f8903da1 win-capture: Update graphics hook version 2020-08-22 13:03:05 -07:00
jp9000
2220884498 obs-outputs: Check support for mbedtls func 2020-08-22 11:22:24 -07:00
jp9000
dd19c29b3e obs-outputs: Fix Windows memory leak
When using alternate mutex implementations, you need to explicitly free
the mutexes with the mbedtls_threading_free_alt() function.
2020-08-22 11:07:16 -07:00
Jim
d9408b51ef
Merge pull request #3288 from makise-homura/e2k_support
E2k support
2020-08-22 10:20:20 -07:00
Jim
bb5a6cdbbb
Merge pull request #3289 from khng300/sndstat_parsing
oss-audio: Improve /dev/sndstat parsing on FreeBSD
2020-08-22 09:00:22 -07:00
Jim
d229a56dab
Merge pull request #3301 from KasinSparks/freetype-outline-shadow-bounds-calc
text-freetype2: Fix x,y bounds for text outline and shadow
2020-08-22 08:58:13 -07:00
Jim
02b7672bf1
Merge pull request #3306 from kkartaltepe/x264-leak-fix
obs-x264: Fix memory leak
2020-08-22 08:57:39 -07:00
jp9000
189fc7ab6a obs-outputs: Add support for metadata-based multitrack 2020-08-22 08:27:58 -07:00
jp9000
746a522986 obs-outputs: Don't assume @setDataFrame
Don't assume @setDataFrame when using an info packet.  I'm guessing
librtmp did this because the only time this packet type was normally
used was when you use onMetaData.
2020-08-22 08:27:58 -07:00
Kurt Kartaltepe
5ada3f745d obs-x264: Fix memory leak
bmalloc'ed array was not freed when freeing options.
2020-08-21 21:28:19 -07:00
Kasin Sparks
570bffc282 text-freetype2: Fix x,y bounds for text outline and shadow 2020-08-21 12:47:55 -04:00
Ryan Foster
d49e14d8a6 win-capture: Remove unused strings
After PR #3074, the following strings are no longer used:
 * GameCapture.ForceScaling="Force Scaling"
 * GameCapture.ScaleRes="Scale Resolution"

Commits from PR #3074:
 * 9497589b1603dcacf07e3b81d2f60291eafb3590
 * 63933997586bf88c862159bf5cb20be56b713283
2020-08-20 02:21:30 -04:00
jp9000
c38f370ad0 obs-outputs: Enable Windows mbedTLS threading support 2020-08-19 07:02:33 -07:00
Jérémy Farnaud
7e39109a86 obs-filters: Add option to use RNNoise for noise reduction
This commit adds support to using Xiph and Mozilla RNNoise library for
noise reduction.

RNNoise is a small library using an AI approach to noise reduction
using a pre-trained model like RTX Voice. But unlike RTX Voice, it is
very tiny, use CPU instead of GPU and only use little resources.
Obviously it is not as efficient but will effectively remove background
noise. It uses more CPU than the existing libspeex-based noise
reduction but it also sounds sounds way better.

RNNoise support is added to the noise reduction effect. It can be
enabled with a checkbox in the effect configuration. RNNoise has no
settings.
2020-08-18 11:25:21 -07:00
Ka Ho Ng
a1e99d7903 oss-audio: Improve /dev/sndstat parsing on FreeBSD
This commit targets FreeBSD and potentially DragonFly BSD. The commit
fixes issue parsing /dev/sndstat when hw.snd.verbose is greater than 0.
Besides, the commit also adds support for audio devices created by
user space daemons, such as virtual_oss.
2020-08-18 22:54:09 +08:00
makise-homura
543a3767c7 obs-x264: Discard excess warning for e2k 2020-08-18 16:52:05 +03:00
Jim
f6ce8f2a32
Merge pull request #2942 from strager/x264-options
obs-x264: Log when options are ignored
2020-08-17 05:24:00 -07:00
jp9000
37767b6746 image-source: Transition when restarting slideshow
Fixes an issue where it would instantly set the image rather than
transition to the first from its current value
2020-08-17 03:12:59 -07:00
Jim
1849798cb4
Merge pull request #3281 from cg2121/slideshow-cleanup
image-source: Use media control api for slideshow
2020-08-16 23:54:15 -07:00
Jim
22e6a040ed
Merge pull request #3223 from NiMO-TV/rtmp-nimotv-auto-server
rtmp-services: Add Nimo TV auto server
2020-08-15 08:43:42 -07:00
Clayton Groeneveld
42e7b16fde image-source: Use media control api for slideshow 2020-08-14 14:32:21 -05:00
Clayton Groeneveld
88da9bf693 Revert "image-source: Add proc handler calls to slideshow"
This reverts commit 1475f756f229ae4428178fa16de3dd6b9cd776b5.
2020-08-14 13:35:45 -05:00
Jim
c5b3125b75
Merge pull request #3253 from JohannMG/mac-decklink-warnings
mac-decklink: Fix C++ virtual function warnings
2020-08-11 18:09:31 -07:00
jp9000
1475f756f2 image-source: Add proc handler calls to slideshow
Allows manipulation of the slideshow via procedure handlers.
2020-08-10 12:24:01 -07:00
jp9000
389f7d390f image-source: Play if play_pause() called while stopped
Causes the slideshow to start back up if it was stopped for whatever
reason previously.
2020-08-10 12:23:36 -07:00
jpark37
9d177d0969 win-capture: Remove Vulkan CTS workaround
CTS has been fixed, so the workaround is no longer necessary.
2020-08-07 22:58:49 -07:00
JohannMG
41b12d7bff mac-decklink: Fix C++ virtual function warnings
Created another virtual function to override and moves stubbed function
to the header.
2020-08-06 12:53:30 -07:00
Jim
bfdf5dc947
Merge pull request #2356 from jpark37/sycc-color-space
Color space refinements
2020-08-05 08:58:21 -07:00
Ka Ho Ng
b1504b0278 oss-audio: Use util_mul_div64() to do time scaling
util_mul_div64() is a new helper to do scaling. This commit sweeps the
oss-audio plugin code to generalize the way of doing scaling.
2020-07-31 02:00:40 +08:00
jp9000
4b17b82aab obs-ffmpeg: Set async video frame immediately when seeking 2020-07-29 13:59:49 -07:00
Jim
80bb9b4675
Merge pull request #3206 from notr1ch/frame-fix-squashed
Fix preloaded video behavior
2020-07-29 13:57:52 -07:00
antho
dcb085a0f9 rtmp-services: Add api.video service
Closes obsproject/obs-studio#3227
2020-07-29 11:06:05 -07:00
dgeibi
238a44333b rtmp-services: Add Nimo TV auto server 2020-07-28 11:55:18 +08:00
brittneysclark
d04e167ed0 obs-qsv11: Fix bug mapping old qsv settings to new
Fix for an issue found where new "Latency" and "Subjective Video
Enhancement" options where always using default settings even after
being changed in UI. This issue was introduced when mapping old QSV
settings to new ones.
2020-07-27 06:12:03 -07:00
jpark37
04b9b9fea3 win-capture: Make Vulkan frame data local to queue
Prevents multiple queues in the same family from racing on frame data.

Removal of vk_family_data also fixes broken capacity calculation. Two
queue families can share the same index if one is "protected-capable"
and the other isn't.
2020-07-26 13:33:01 -07:00
jpark37
e6896d79e3 win-capture: Hide Vulkan linked list internals 2020-07-26 13:32:53 -07:00
Jim
3907b2ddd1
Merge pull request #3197 from jpark37/vulkan-cts-harden
win-capture: Improve Vulkan hook stability
2020-07-24 20:37:26 -07:00
Rodney
dc0af42f1b
Merge pull request #3091 from derrod/remove-mixer
UI/CI/rtmp-services: Remove Mixer
2020-07-24 20:17:38 +02:00
jpark37
44fb61b1f2 win-capture: Improve Vulkan hook stability
Make fixes mostly to stabilize CTS. Tested on Windows with RTX 2080 Ti.

Use separate linked-list maps for devices and queues.

Process queues upfront in OBS_CreateDevice, and not lazily in
OBS_GetDeviceQueue.

Handle failed node allocation for OBS_CreateInstance, OBS_CreateDevice,
and OBS_CreateSwapchainKHR.

Handle VK_NULL_HANDLE for OBS_DestroySurfaceKHR and
OBS_DestroySwapchainKHR.

Add temporary code path CTS_WORKAROUND to deal with CTS sharing surfaces
between instances.

Fix return value for OBS_DestroyInstance.

Add missing _freea calls, required for _malloca.

Make sure the queue passed to OBS_QueuePresentKHR supports transfer to
safely call vkCmdCopyImage.

Update GetInstanceProcAddr/GetDeviceProcAddr to conform closer to spec.

Remove extra macros because I dislike indirection more than verbosity.
2020-07-24 09:30:05 -07:00
Richard Stanway
80803aa2f7 obs-ffmpeg: Clear texture when starting playback
This prevents a stale texture from being visible for a single frame when
there is no preloaded video.
2020-07-23 23:56:30 +02:00
derrod
b8f91cc4c3 rtmp-services: Remove Mixer servers and checks 2020-07-22 07:47:12 +02:00
jp9000
3691dc536d win-dshow: Fix virtual camera filter name
The filter name is supposed to be "OBS Virtual Camera"
2020-07-20 14:22:49 -07:00
Clayton Groeneveld
f4223ad061 win-dshow: Fix virtual camera enable bug 2020-07-20 06:02:16 -05:00
jp9000
ae29ec5239 rtmp-services: Fix memory leak 2020-07-19 22:06:34 -07:00