Commit Graph

2161 Commits (e6daa22ab7ee8f667ba677e444ba488ed886a1ac)

Author SHA1 Message Date
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
Dead133 4aa10cac3c rtmp-services: Add Restream FTL ingests
Closes obsproject/obs-studio#1533
2018-12-03 07:41:50 -08:00
Dead133 c3340c2049 obs-output: Update ftl-sdk version 2018-12-03 07:41:50 -08:00
jp9000 d7e80f87e7 rtmp-services: Allow seamless service renaming
Allows the ability for services to specify alternate or old names that
they used to have in the json service list so they can safely be renamed
seamlessly and use the proper service settings.  This way, if a user is
using an older service in their configuration, it can still detect which
service it's supposed to be using and apply those service-specific
settings for that user.
2018-12-03 07:41:50 -08:00
Jonathan 79ebd6916a rtmp-services: Add Lightcast.com
Closes obsproject/obs-studio#1530
2018-12-03 05:50:27 -08:00
Serge Martial Nguetta aacdb7328c rtmp-services: Add Linkstream
Closes obsproject/obs-studio#1529
2018-12-03 05:36:40 -08:00
pkviet 5cf2b5fbf9 obs-libfdk: Compatibility fix for new API
fdk-aac v2.0.0 (aacenc 4.0.0) changes the AACENC_InfoStruct:
the encoderDelay parameter is replaced by two, nDelay and
nDelayCore. This patch checks the lib version and adjust the parameter
accordingly.
2018-11-30 12:12:29 +01:00
pkviet 6e8758aa28 obs-filters: Add limiter filter
This adds a hard limiter (based on compressor).
2018-11-28 14:20:06 +01:00
SuslikV 2c52fe46fb
decklink: Add declaration file for integer types 2018-11-20 20:36:09 +02:00
Philip Haynes bb42c8dfb6 linux-capture: XCompCap now chooses glXFBConfigs based on window depth
Rather than inheriting the exact visuals from the window,
find whether the color buffer has alpha, find a config with
the necessary attributes for capture, and match its depth to
the depth of the window instead of the color buffer. Also,
cleanup glxpixmap texture binding before destroying the texture.

Update: Style conformancy changes
2018-10-12 00:33:32 -05:00
Dmitry-Me d9ca4d540a decklink: Initialize member variable 2018-10-09 18:00:20 +03:00
pkviet 340fb9d669 obs-ffmpeg: Enable multiple audio tracks for FFmpeg output
This allows multiple audio tracks for the FFmpeg output.

Closes obsproject/obs-studio#1351
2018-10-04 20:32:35 -07:00
Michael Fabian 'Xaymar' Dirks 62b748e40e enc-amf: Update to 2.5.0.1 and update repository address 2018-09-28 10:54:19 +02:00
jp9000 7ab488b100 Revert "Merge pull request #1498 from Xaymar/patch-obs-amd-encoder"
This reverts commit 5edeaa3046, reversing
changes made to 0d28081997.
2018-09-26 12:09:15 -07:00
Jim a43a4fac7e
Merge pull request #1043 from DDRBoxman/decklinkout
Decklink: Add decklink output
2018-09-25 18:15:14 -07:00
Colin Edwards 21b67cff64 Decklink: add output support 2018-09-25 19:13:25 -05:00
Jim 5edeaa3046
Merge pull request #1498 from Xaymar/patch-obs-amd-encoder
enc-amf: Update to 2.5.0 and update repository address
2018-09-25 08:41:49 -07:00
Artem Merkulov 0d28081997 rtmp-services: Update liveedu.tv servers
Closes obsproject/obs-studio#1499
2018-09-25 08:38:24 -07:00
Jim 2c0ea84dc6
Merge pull request #1501 from lino-network/feature
rtmp-services: Add DLive
2018-09-25 08:36:19 -07:00
fefine 480f5a81c5 rtmp-services: Add DLive 2018-09-25 16:31:45 +08:00
Thomas Crider a64ae11bce obs-ffmpeg: Add linux VAAPI h.264 encoding support
Closes obsproject/obs-studio#1482
Closes obsproject/obs-studio#1256
2018-09-24 23:12:24 -07:00
Jim 2a08f1d144
Merge pull request #1495 from SingularityAzure/linux-capture-xcompcap-singularity
linux-capture: Fix repeated color-swapping and improve robustness further
2018-09-24 14:55:09 -07:00
Michael Fabian 'Xaymar' Dirks 4b1991c4fc enc-amf: Update to 2.5.0 and update repository address 2018-09-24 06:15:32 +02:00
Philip Haynes c286f0c202 linux-capture: Fix repeated swapping of swapRedBlue and improve robustness further
Previously toggled swapRedBlue every update regardless of settings being set, which resulted in
moving or resizing of windows causing undesired color-swapping behavior. Also now use more direct
method of comparing visualIDs without type-casting and base the glxpixmap attributes on texture
format being used rather than the bit-depth of the window.
2018-09-23 17:54:18 -05:00
Jim 47285c2ba6
Merge pull request #1485 from SingularityAzure/linux-capture-xcompcap-singularity
linux-capture: Improve XComposite capture robustness
2018-09-22 14:20:43 -07:00
Tom Pichler 04035cec65 rtmp-services: Add Vimm.TV 2018-09-21 09:08:48 +02:00
Jim 5cb76c9e79
Merge pull request #1389 from Andersama/scale-filter-variable-resolutions
obs-filters: Add base canvas resolution option
2018-09-18 12:10:04 -07:00
jp9000 8b936a1575 cmake: Fix UI being dependent on browser plugin files
The UI currently is dependent on browser source files being present,
when in actuality the files may not have been fetched (i.e. not fetching
submodules).  This fixes that by using a macro to detect whether it's
available or not.

Closes obsproject/obs-studio#1490
2018-09-18 08:56:34 -07:00
Jim 0f6761468b
Merge pull request #1479 from tompeeters368/master
win-capture: Add option to adjust hook rate for game capture
2018-09-17 13:52:41 -07:00
Jim 8435e581ac
Merge pull request #1377 from Andersama/chroma-key-optimization
obs-filters: Optimize chroma key's box filter
2018-09-17 02:18:41 -07:00
cg2121 4c7e13bb8a image-source: Decrease slideshow source memory usage 2018-09-16 19:31:26 -05:00
Jim af320a0838
Merge pull request #1480 from kkartaltepe/module-descriptions
Plugins: Add descriptions to modules
2018-09-16 15:34:28 -07:00
Jim e29447417c
Merge pull request #1488 from ePirat/cfstring-utils
Consolidate CFString conversions
2018-09-16 14:42:48 -07:00
Marvin Scholz b1e837a18a coreaudio-encoder: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
Marvin Scholz 94b30ec05a decklink: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
Marvin Scholz 26a96c618f mac-capture: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
Marvin Scholz b2ece640e5 mac-vth264: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
Jim 3c22cf35c9
Merge pull request #1418 from cabirdme/qsv_feature_add
obs-qsv: Expose additional QSV encoder settings through GUI
2018-09-16 08:17:12 -07:00
pkviet c7dab6c92b decklink: Remove inactive audio channels (linux, macOs)
Decklink cards accept 2, 8 or 16 audio channels.
If obs audio output is setup to n channels ( 8 >= n > 2), and the
decklink card captures n channels, one needs to squash the silent
channels (n+1, .., 8) or sampling issues occur.
This had been done on windows but is required also on macOs and linux.
The commit adds the fix for macOS and linux.
Some code factoring has also been done.

Closes obsproject/obs-studio#1350
2018-09-15 13:21:21 -07:00
Tom Peeters 6bbeaae02e win-capture: Add option to adjust hook rate for game capture
This option slows down or speeds up the rate at which
the game capture plugin checks for a valid window.
2018-09-13 19:35:37 +02:00
Philip Haynes 5fe6feb59a linux-capture: Improve XComposite capture robustness
Adds support for windows with alpha channels as well as swapping red
and blue when using GS_BGRX. glXFBConfig now attempts to inherit
its format from the captured window when possible.

Change log message
2018-09-13 10:53:20 -05:00
Jim 272925049e
Merge pull request #1484 from abedinpour/update-lahzenegar-rtmp
rtmp-services: Update Lahzenegar settings
2018-09-13 06:11:58 -07:00
mhabedinpour 032a8d09d1 rtmp-services: Update Lahzenegar settings 2018-09-13 14:35:25 +04:30
Philip Loche 7cfbdcf184 obs-filters: Add "Invert Polarity" audio filter
Allows inverting the polarity of the audio data, which can be useful for
ether purposefully canceling out audio or preventing audio cancellation.

Amends pull request obsproject/obs-studio#1404
2018-09-13 02:51:07 -07:00
Alex Anderson 72cf77102c obs-filters: Avoid skewing chroma key's box filter average
Passes the sample directly to the box filter before it is multiplied by color.
2018-09-12 23:52:22 -07:00
Alex Anderson 73d8220f16 obs-filters: Optimize chroma key's box filter
Reduces number of samples taken for same effect.
2018-09-12 23:52:13 -07:00
jp9000 b3ef46d986 cmake: Make static VC runtime libraries consistent
Makes Visual C runtime libraries consistent across
Debug/MinSizeRel/Release/RelWithDebInfo, rather than just changing those
flags for RelWithDebInfo.  Also adds /Zl for statically linked
libraries.

Closes obsproject/obs-studio#1421
2018-09-12 07:49:13 -07:00
Kurt Kartaltepe d86c8121ed Plugins: Add descriptions to modules 2018-09-11 18:28:58 -07:00
jp9000 2c0f65c3ea obs-browser: Fix local macOS build issues
(This also modifies the CI scripts accordingly)

It was difficult to build local obs-browser builds on macOS due to the
way the frameworks work and libraries are linked.  This solves that
issue so that local builds of obs-browser should always work fine.
2018-09-11 01:29:13 -07:00
Bird, Christopher 99b8c8390f obs-qsv: enable High Profile for QSV h264
- New QSV Default -> H264 High profile.  Previous Default -> H264 Main profile
2018-09-10 10:23:43 -07:00
Colin Edwards f8e628ac36 Update decklink SDK to version 10.11 2018-09-07 20:33:12 -05:00
Alex Anderson f8f23a36e7 obs-filters: Add base canvas resolution option
Add a variable resolution to scale to. Requires first commit of #1390.
2018-09-07 18:23:10 -07:00
Jim ef6a83666a
Merge pull request #1392 from Andersama/decklink-deactivate-when-not-shown
decklink: Add deactivate when not showing option to decklink
2018-09-07 18:22:50 -07:00
Alex Anderson a65b369716 decklink: Add deactivate when not showing option to decklink
Adds a deactivate when not showing checkbox to decklink sources.
2018-09-07 03:03:49 -07:00
Jim 06488a55ce
Merge pull request #1416 from admshao/cleanup-macro-declaration
Cleanup Compilation warnings
2018-09-07 00:51:58 -07:00
Shaolin bf72435db8 obs-outputs: Fix unused variable compiler warning
Some security layer libraries code path used by the rtmp output had a
not used variable and not used param on HMAC_finish macro that was
triggering warnings during compilation.
2018-09-06 22:10:29 -03:00
Shaolin d500ef3bb5 obs-outputs: Make rtmp packet alloc code path clearer
On 64bit systems, this check will always evaluate to false due to
SIZE_MAX type and triggers a compiler warning.

This both makes it clearer that its only needed on 32bit system and
clear the compiler warning.
2018-09-06 22:10:24 -03:00
Jim 4e90b61210
Merge pull request #1364 from kkartaltepe/patch-5
[win-capture] Modify log for sharedmem
2018-09-05 23:59:03 -07:00
Jim 15577f8b5f
Merge pull request #1363 from pkviet/img
image-source: Add psd and *.* to file filter.
2018-09-05 23:57:57 -07:00
Jim 3be5e414bc
Merge pull request #1362 from Chiitoo/automagic
cmake: Use less automagic during configure
2018-09-05 23:57:07 -07:00
Dmitry-Me ecf508269d win-ivcam: Remove and prohibit useless member functions 2018-09-04 17:40:54 +03:00
Dmitry-Me 6455b39cde linux-jack: Fix snprintf format specifier 2018-09-04 11:10:46 +03:00
jp9000 3630a70387 obs-browser: Fix macOS crash 2018-09-02 15:35:29 -07:00
Jim d1ee417a80
Merge pull request #1438 from WizardCM/gamecap-block-lockapp
UI: Blacklist LockApp and Text Input from Game Capture
2018-09-02 00:02:19 -07:00
Matt Gajownik d2538690b5 UI: Blacklist LockApp and Text Input from Game Capture
Occasionally users accidentally select the following applications built
into Windows 10 using game capture, which cannot be captured.
This PR simply hides them from the game capture list.
The latter takes up 6 entries in the dropdown.

LockApp.exe - the lock screen which doesn't run in user space
WindowsInternal.ComposableShell.Experiences.TextInput.InputApp
2018-09-02 15:21:10 +10:00
Jim 03ef29aa8c
Merge pull request #1449 from tmatth/rtmp-services/stageten
rtmp-services: add STAGE TEN
2018-09-01 21:19:17 -07:00
Jim 83594c79b5
Merge pull request #1453 from derrod/purge-services
rtmp-services: Remove offline/unavailable servers/services
2018-09-01 21:16:22 -07:00
jp9000 c415a66709 obs-browser: Update version to 2.1.5 2018-08-29 13:48:58 -07:00
jp9000 33feb36e2f obs-browser: Update version to 2.1.4 2018-08-29 09:44:46 -07:00
derrod 2d32d4fabf rtmp-services: Remove offline/unavailable servers/services
* Hitbox/Smashcast NBG/VIE servers are unavailable
* Dailymotion seems to have removed public live streaming
* Watchpeoplecode removed their live streaming functionality
* All gameplank servers are unavailable
* Afreeca KR en-ko server is unavailable
* Afreeca TW servers are unavailable
* Afreeca JP servers are unavailable
2018-08-27 16:00:46 +02:00
Richard Stanway c68d022f9c
obs-outputs: Revert f1f49bc1 to fix RTMP authentication
This reverts commit f1f49bc197, which
breaks RTMP authentication as these parameters are intended to "leak"
into the next use of the RTMP context.
2018-08-27 15:04:39 +02:00
jp9000 664695a6ab obs-browser: Update browser version to 2.1.3 2018-08-26 16:03:12 -07:00
jp9000 47d0423384 rtmp-services: Only do URL check for Facebook
Prevents services with special exception services from unintentionally
using the wrong server.  There's no real reason to be doing this on
anything but Facebook at the moment anyway.
2018-08-26 12:26:17 -07:00
Tristan Matthews 85a3059088 rtmp-services: add STAGE TEN
Reported by Colin Biggin
2018-08-24 16:53:19 -04:00
Tristan Matthews 8e62a77c37 rtmp-services: update Periscope settings 2018-08-24 11:42:42 -04:00
jp9000 92d7c81077 obs-browser: Update translations 2018-08-20 09:13:28 -07:00
jp9000 89182457fc obs-browser: Fix local files not being processed correctly
Local files are normally prefixed with `http://absolute/` before
loading.  The refactor unintentionally removed that -- this fixes that
issue.
2018-08-20 09:04:34 -07:00
jp9000 07216bc173 obs-browser: Blacklist certain hwaccel adapter combos 2018-08-19 15:06:21 -07:00
pkviet c1e01b2b22 image-source: Add psd and *.* to file filter
Add psd (photoshop) to file filter and more generally enable display
of all files (*.*).
2018-08-19 00:09:34 +02:00
jp9000 940a6dfabe obs-browser: Update version number to 2.1.0 2018-08-18 06:24:01 -07:00
Gol-D-Ace a79aaa28ab Update translations from Crowdin 2018-08-18 04:16:35 +02:00
Jim e1956500f1
Merge pull request #1419 from gluneau/helo-dtube
rtmp-services: Add DTube
2018-08-17 15:06:21 -07:00
Jim 57675513b7
Merge pull request #1409 from Dmitry-Me/initMemberVar01
obs-qsv11: Initialize member variable
2018-08-17 15:04:36 -07:00
Jim c18fc3b672
Merge pull request #1417 from sorayuki/master
win-capture: Avoid segfault when retrieve size
2018-08-17 14:58:39 -07:00
jp9000 7bc443b31f obs-browser: Fix "shutdown when invisible" issue
The browser source would always create the source on first start
regardless of whether "shutdown when not showing" was set or not and the
source wasn't visible.  This fixes the issue by checking whether the
source is actually showing or not in that case.
2018-08-16 14:25:16 -07:00
Gregory Luneau bc2598929d rtmp-services: Add DTube 2018-08-16 07:44:45 -04:00
jp9000 a69f72654e rtmp-services: Do not check for valid URL if using "auto"
"Auto" is sort of a special use-case for certain services
(Twitch/Mixer), and the code recently added in be8ddc06a would
unintentionally override it.  This would for example cause the "Auto"
setting on Twitch to set the user to use an Asia server unintentionally
because "auto" is not in the json file.
2018-08-14 13:12:39 -07:00
jp9000 1c3f87ca7b obs-browser: Fix a number of bugs 2018-08-14 13:02:38 -07:00
Richard Stanway 144d23a9cc
obs-qsv11: Protect context variable in clear_data 2018-08-11 02:57:23 +02:00
Richard Stanway 8fdbf60228
rtmp-services: Remove unnecessary null check 2018-08-11 02:54:50 +02:00
jp9000 4d38e054e3 UI: Add adv. settings checkbox for browser HW accel
Adds a checkbox to advanced settings that allows the user to
enable/disable browser source hardware acceleration on windows.
2018-08-10 06:33:41 -07:00
Bird, Christopher 58812bc0b3 obs-qsv: Expose additional QSV encoder settings through GUI
- Allow user to change # of B frames. New Default -> 1
- Allow user to enable Content Adaptive Quantization (MBBRC) if CPU is Skylake or newer.
- Allow user to choose LA_CBR as a rate control.
- LA depth: New Default -> 15, only when LA rate control is used.
2018-08-08 10:39:57 -07:00
sorayuki b3ed50aa08
win-capture: Avoid segfault when retrieve size
When changing size of a game-capture scene item in preview window, 
if the capture target window closed, it may crash.
2018-08-08 16:28:40 +08:00
sorayuki ce53c5cc70
win-capture: Avoid tex size mismatch for cursor
Re-fetch texture when cursor's either width or height changed.

When the cursor icon changed and the new one has the same width or height,
it may not recreate the texture and thus cause memory access violation.
2018-08-07 17:15:07 +08:00
Dmitry-Me ddb239faa1 obs-qsv11: Initialize member variable 2018-08-06 17:18:59 +03:00
Jim 4dc57ef24f
Merge pull request #1373 from Xaymar/plugins_enc-amf
enc-amf:  Version 2.4.2
2018-08-05 20:02:06 -07:00
jp9000 be8ddc06a2 rtmp-services: Ensure set URL exists within server list
If the user had a valid service selected, but the server that the user
originally was using is now (for whatever reason) no longer listed, the
rtmp-common service would still use that server rather than any of the
newer servers, and the user would have to physically go in to their
settings to reconfigure to get it to use that new server.

Instead, make sure that the server the user has selected exists within
the server list, and if it doesn't, use the first server in the list
instead by default.
2018-08-05 18:50:13 -07:00
Michael Goulet a17c28223c rtmp-services: Change Facebook stream URL to use RTMPS 2018-08-05 18:50:13 -07:00
Michael Goulet e67e2e12e6 obs-outputs: Add support for and use mbedTLS for SSL
This diff adds mbedTLS support to the obs-outputs plugin.  PolarSSL and
mbedTLS have grown so different between 2015-or-so when libRTMP was
written, and now it's no longer feasible to just use the USE_POLARSSL
flag.

This commit adds a WITH_RTMPS tri-state CMake variable (auto/on/off),
set to "Auto" by default.  "Auto" will use RTMPS if mbedTLS is found,
otherwise will disable RTMPS.  "On" will make it require mbedTLS,
otherwise fails configuration, and "Off" disables RTMPS support
altogether.

Closes obsproject/obs-studio#1360
2018-08-05 18:40:49 -07:00
Shaolin d5fb5edd93 obs-filters: Fix segfault in Compressor Filter
obs_audio_data* sent to compressor_filter_audio had audio->frames == 0.
The analyze_envelope was trying to access an array at index -1 in result
of that. Just return if no samples are provided.

This fixes Mantis issue: 1261
2018-08-02 15:32:54 -03:00
Dmitry-Me d3863e837c win-mf: Add missing va_end() call 2018-08-01 18:12:08 +03:00
jp9000 7faad4b467 obs-browser: Add hardware acceleration option (win32) 2018-08-01 02:03:17 -07:00
jp9000 a032bcc798 UI: Add intro startup page (windows)
Allows the ability to show a web page via CEF to the users on startup to
present and announce new features.
2018-07-29 23:32:23 -07:00
Garrett 90c5603f4d rtmp-services: Add Piczel.TV server
Piczel.TV is a streaming and art gallery website - https://piczel.tv
2018-07-24 14:26:37 -04:00
Michael Fabian 'Xaymar' Dirks 4de7bb15f6 enc-amf: Version 2.4.2
* Updated AMF SDK to 1.4.7.0.
* Fixed a crash in api::base if Direct3D 9 or Direct3D 11 was not found.
* Changed how the capability testing reports supported devices to the log file.
* Fixed the order that codec properties are applied. (Thanks to Qiang Wen, see commit c292f6de41f22a0521300e8ce0b74bbe5e4d0edf)
* Fixed a crash caused by very old drivers that predate H265 support.
2018-07-24 19:39:55 +02:00
Richard Stanway cc69ec16ec
obs-outputs: Update librtmp with upstream patches
Mostly security / reliability related, fixing various access to
uninitialized data, integer overflows, etc from
https://git.ffmpeg.org/rtmpdump
2018-07-23 23:22:37 +02:00
Jim 8b6d437a97
Merge pull request #1374 from mixer/ftl-update
obs-output: Update ftl-sdk version
2018-07-20 23:19:33 -07:00
jp9000 2f49bf0463 obs-browser: Fix error and warning
Fixes an error and a warning when compiling with experimental shared
texture support.
2018-07-20 00:45:08 -07:00
jp9000 730764d557 obs-browser: Update to latest version 2018-07-20 00:33:27 -07:00
Bird, Christopher 3a08e858a6 obs-qsv: Allow for multiple QSV encoders
Allow multiple QSV encoders, usefull for live + recorded parallel
sessions.  The first QSV encoder will create a DirectX device and return
a handle / pointer.  Any additional QSV encoder will use that same
pointer to the DirectX device.  We keep track of the number of open
QSV encoders so that we wait to close the DirectX resources after all
encoders are closed.

Closes obsproject/obs-studio#1341
2018-07-18 17:16:01 -07:00
Quinn Damerell b5fb4d8673 obs-output: Update ftl-sdk version 2018-07-18 10:42:27 -07:00
Andrew Surzhynskyi bfbe9de5b5 rtmp-services: Update ingest list for Restream.io
Closes obsproject/obs-studio#1347
2018-07-17 22:50:11 -07:00
Jim 4af10547bf
Merge pull request #1359 from eastkiki/master
rtmp-services: Add KakaoTV
2018-07-17 20:57:13 -07:00
Joshua Rowe 849f25f910 rtmp-services: Update ingest list for GamePlank 2018-07-17 07:37:03 -06:00
Kurt Kartaltepe f90a052b5e win-capture: Modify log for sharedmem
Distinguish in the log that this is for shared-mem/mutli-adapter
not anti-cheat.
2018-07-13 23:14:30 -07:00
Jimi Huotari 79006adaf2
obs-filters: Use less automagic for SpeexDSP detection
This adds a build-time option for disabling the SpeexDSP-based
Noise Suppression filter support in cases where users do not
wish to build it, but have the required library installed.
2018-07-11 05:09:03 +03:00
eastkiki 4b7c64ef7e rtmp-services: Add KakaoTV 2018-07-09 17:14:02 +09:00
Jim b00272210b
Merge pull request #1356 from TheMuso/fix-vlc-plugin-on-mac
vlc-video: Dlopen libvlccore.dylib on mac OS
2018-07-07 11:50:00 -07:00
Wahaj Dar 2b0a728722 rtmp-services: Adding Castr.io ingests to service list 2018-07-04 10:29:18 +05:00
Luke Yelavich ec366cfa3d vlc-video: Load libvlccore.dylib on macOS
As of version 3, libvlc on macOS is linked against libvlccore
differently. Previously libvlccore was referred to via the @loader_path
macro, now @rpath is used. As such, dlopen is no longer able to find
libvlccore. Explicitly load libvlccore so that the symbols that
libvlc needs can be found.

Tested against VLC versions 2.2.8 and 3.0.3.
2018-07-03 20:08:40 +10:00
jp9000 3caf5d04d3 Revert "obs-x264: Specify x264 color space for BT.601"
This reverts commit 958167c4f7.

This caused certain transcoders (specifically Twitch's transcoders) to
misinterpret the data and transcode the video incorrectly.
2018-06-24 15:42:53 -07:00
Jim cd70c2e037
Merge pull request #1292 from pkviet/leaks
Fix several mem leaks
2018-06-17 20:54:10 -07:00
jp9000 0bd2e23d14 obs-transitions: Fix potential stinger divide by 0
If the transition point was above or equal to 1.0, it would cause a
divide by 0 error a few lines down.  This could cause audio data to
become corrupted with NAN audio data when mixing, which can cause
certain audio encoders (namely the FFmpeg AAC encoder) to fail.

It was possible for the transition point to be above or equal to 1.0 if
the stinger media file was no longer loadable for whatever reason.
2018-06-11 19:34:07 -07:00
Bjorn 958167c4f7 obs-x264: Specify x264 color space for BT.601
Back in an older commit, the default YUV colorspace was changed to 601
in order to ensure correct playback in video players that ignore the
contents of the H264 header.
x264's "undef" is unfortunately not what players that don't ignore the
header expect for BT.601, resulting in incorrect colors when played
back. Setting it to "bt470bg", similar to what is specified in ffmpeg
outputs, remedies this issue.
2018-06-08 14:40:13 +02:00
Jim d8a1398466
Merge pull request #1308 from RytoEX/fix-mkv-fps
obs-ffmpeg: Set average framerate in video stream
2018-06-06 15:52:12 -07:00
pkviet f1f49bc197 librtmp: Fix memory leak
A leak was introduced by commit 1682d77 (July 11 2015).
This is a fix.
2018-06-07 00:44:29 +02:00
Zachary Lund 698e6418ba obs-filters: Use double-precision where viable
We're expecting a variable with double precision. Since we don't read
the value of these doubles with a particular precision, it can often
lead to unpredictable results where the value set isn't the one
intended due to the loss of precision from float->double conversion.
2018-05-30 14:52:39 -07:00
Ryan Foster 1f592d12aa obs-ffmpeg: Set average framerate in video stream
This commit fixes an issue where videos created with OBS will appear as
having 1000 FPS in some media players.
2018-05-27 00:45:05 -04:00
jp9000 e5f1a93f87 text-freetype2: Remove trailing whitespace 2018-05-08 09:39:04 -07:00
Yvo 43713098d6 text-freetype2: Add chat line count property
Allows the ability to choose the number of chat lines when using the
"Chat log mode" feature.

Closes obsproject/obs-studio#1280
2018-05-08 09:37:39 -07:00
SuslikV a75724d8a5 win-capture: Fix cursor draw size with certain cursors
When drawing cursor to window capture area - use actual resource width
and height instead of system metric values for icons.  Fixes an issue
where under rare circumstances, certain cursors would not draw at the
correct size.

Closes obsproject/obs-studio#1284
2018-05-06 11:38:49 -07:00
Ilya Melamed db06a1c12a win-dshow: Allow synchronous create/update
Allows the ability to (optionally) synchronously create/update a
directshow device source rather than always asynchronously update the
device.  This is useful if creating/destroying scenes/sources very
quickly, and helps minimize the risk of creating new directshow sources
that use the same device, yet may not activate because an existing
source may already exist.  To use, set "synchronous_activate" to true in
its settings when updating or creating.  Note that this setting will be
erased after it's used, and will not be saved to user settings, so it
must be set each time in order to be used.

Closes obsproject/obs-studio#1228
2018-05-05 11:44:14 -07:00
Richard Stanway 4df7914767
win-capture: Update D3D9 signature for Win10 April 2018 Update 2018-05-02 14:00:44 +02:00
jp9000 cf35f15042 obs-browser: Use BGRA textures instead of RGBA 2018-05-01 12:08:46 -07:00
Jim dcbad4af89
Merge pull request #1278 from computerquip-streamlabs/win-capture-shutdown-fix2
win-capture: Avoid obs functions in init_hooks
2018-04-26 15:46:11 -07:00
Andrew Surzhynskyi 174ad29466 rtmp-services: Update ingest list for Restream.io 2018-04-26 19:28:25 +03:00
Jim 273482dbe9
Merge pull request #1265 from comex/aframe
obs-ffmpeg: fill in more fields on audio frames
2018-04-25 05:57:44 -07:00
Zachary Lund 6475a1c000 win-capture: Avoid obs functions in init_hooks 2018-04-24 14:17:28 -07:00
Jim 2ebcd49b08
Merge pull request #1246 from pkviet/onMeta
obs-outputs/flv: Fix ECMA array size
2018-04-20 22:27:37 -07:00
Jim 14b7b4790c
Merge pull request #1213 from TheMuso/vth264-fixes
Vth264 fixes
2018-04-19 22:24:35 -07:00
comex c54cc0bf5b obs-ffmpeg: fill in more fields on audio frames
After you call av_frame_alloc(), ffmpeg expects you to fill in certain
fields on the frame, depending on whether it's an audio or video frame.
obs-ffmpeg did this in the two places where it allocates video frames,
but not where it allocates audio frames.  On my system, using trunk
ffmpeg and the Opus codec, this causes OBS to crash while calling
avcodec_send_frame, ultimately because av_frame_copy fails due to
'dst->format < 0' (as 'format' stays at the default of -1), causing a
null pointer to be added to a buffer queue, which later gets
dereferenced.

Oddly, the fields in question can just be copied directly from
corresponding fields in the AVCodecContext, but I don't see any ffmpeg
API to automatically copy all relevant fields, and all the examples I've
seen do it by hand.  So this patch does the same.
2018-04-18 13:13:48 -07:00
jp9000 30d967eafa obs-browser: Update to browser source refactor 2018-04-14 03:45:07 -07:00
Kilian von Pflugk 531d4cd2a4 rtmp-services: Update recommended parameters for Nood.tv 2018-03-28 20:43:32 +02:00
pkviet ce339ce613 obs-outputs/flv: Fix ECMA array size
Fixes the size of the ECMA array storing onMetadata in flv.
(from 14 to 20).
Fixes ticket 1204.
2018-03-23 19:43:48 +01:00
Colin Edwards 483be6e57c obs-browser: Update submodule to latest version 2018-03-18 14:40:01 -05:00
jp9000 a0cb1f256c obs-browser: Update submodule to latest version 2018-03-17 21:16:30 -07:00
Jim 6eae0b284e
Merge pull request #1236 from subzerobo/rtmp-services-aparat-com
rtmp-services: Update ingest list for Aparat.com
2018-03-17 17:07:51 -07:00
Michael Fabian 'Xaymar' Dirks 7f0576bac6 enc-amf: Version 2.3.3 2018-03-17 19:31:00 +01:00
Ali Kaviani 643c35aa1b rtmp-services: Update ingest list for Aparat.com 2018-03-17 11:43:52 +03:30
jp9000 215589755c mac-capture: Fix bug where audio device couldn't be changed
If the user selected the "default" device for audio capture on mac, it
would no longer be able to be switched to another device due to the
"default_device" variable being set.
2018-03-16 21:13:40 -07:00
Jim 55e1865a73
Merge pull request #1183 from Xaymar/plugin-enc-amf
enc-amf: Version 2.3.2
2018-03-16 19:13:43 -07:00
Kilian von Pflugk 66f3fa2f74 rtmp-services: Update ingest list for Nood.tv
Closes obsproject/obs-studio#1211
2018-03-15 19:02:41 -07:00
Jim 68a51b87e9
Merge pull request #1208 from Dead133/master
rtmp-services: Update ingest list for Restream.io
2018-03-15 18:05:30 -07:00
Jim 47043b2566
Merge pull request #1220 from admshao/opengl-color-info
Opengl color info
2018-03-15 16:36:31 -07:00
Gol-D-Ace 88282c168c Update translations from Crowdin 2018-03-15 09:00:28 +01:00
Shaolin b452338f62 linux-capture: Request at least 8 bits for alpha
10bpc support is under active development all over the linux stack
so while we wait for it to mature, request an alpha size of 8.
2018-03-12 22:36:50 -03:00
jp9000 4b54bde426 cmake, libobs, win-capture: Fix VS2017 warnings 2018-03-12 16:16:38 -07:00
Luke Yelavich 2667ae3fc5 mac-vth264: Fix video info set logic
In the vt_h264_video_info function, the format of the video to be encoded is
always being set to VIDEO_FORMAT_NV12, dispite the presence of code to set
the video format to VIDEO_FORMAT_I420 or VIDEO_FORMAT_I444. This commit fixes
that function to respect the video format choice of the user.

In addition, whilst testing this fix initially, I also discovered that the
4:4:4 colour format is not supported by the VideoToolbox H264 encoder.
Looking at the VideoToolbox code in ffmpeg as a reference, the ffmpeg code
errors out if a color format other than NV12 or I420 is set. Therefore, this
commit also logs a warning about I444 not being supported, and uses the NV12
default.
2018-03-07 14:20:14 +11:00
Luke Yelavich 24d2346a1c mac-vth264: Set the fullrange variable before calling vt_h264_video_info
The fullrange variable is used to set appropriate video format information in
vt_h264_video_info. Set fullrange first so the video format data is correct in
all cases.
2018-03-07 11:59:40 +11:00
Gol-D-Ace 7337b7ffb8 obs-ffmpeg: Fix locale typo 2018-03-01 22:44:43 +01:00
Andrew Surzhynskyi f971e5bf55 rtmp-services: Update ingest list for Restream.io 2018-02-28 11:07:07 +02:00
Jim f3551ff5fa
Merge pull request #1199 from mixer/ftl-update
obs-output: Update ftl-sdk version and ftl logging values
2018-02-27 06:11:00 -08:00
sorayuki e00e081111 image-source: Fade to transparency if slideshow list is cleared
Fixes a bug where the last image would be permanently shown if the user
clears the file list of a slideshow source.

Closes jp9000/obs-studio#1206
2018-02-27 05:51:31 -08:00
Ben Stahl b8402daa2f rtmp-services: Add Vimeo to services list
This commit adds Vimeo RTMP ingest to services.json.

Closes jp9000/obs-studio#1178
2018-02-27 05:41:10 -08:00
jp9000 aa58b9cf5f obs-ffmpeg: Use FFmpeg's "fast" AAC encoder by default
FFmpeg has recently made their "fast" AAC encoder the default, which
uses less CPU and sounds better at common bitrates.
2018-02-26 00:11:30 -08:00
jp9000 a89470d2ea obs-ffmpeg: Remove cutoff hack for AAC encoder
The cutoff hack was added many, many years ago as recommended by
Konverter.  Since then, there has been much work on the AAC encoder, so
this hack should no longer be necessary.
2018-02-25 23:50:09 -08:00
jp9000 26595b58b9 win-mf: Deprecate plugin
The windows media foundation H264 encoders have been deprecated for over
a year, and microsoft's media foundation AAC encoder has had a continued
issue with occasional random audio glitches.  The FFmpeg AAC encoder has
had recent development, and is more than sufficient to be able to handle
the task of encoding in terms of both quality and performance, so it's
better just to use the FFmpeg encoder from here on out.

As this plugin is no longer needed, for the next year or two it'll still
be compiled and included, but as a blank plugin that does nothing.  The
reason why it's still being included as a blank no-operation plugin is
to overwrite older versions of the plugin.  That way if a user installs
a newer OBS version over an older one, it won't load up the older win-mf
plugin where the encoders still were enabled.

This also fixes some rarely reported media foundation crashes that can
happen on startup.
2018-02-25 22:37:56 -08:00
jp9000 8a16fa8341 win-capture/graphics-hook: Fix memory offset calculation
Fixes an issue where align_pos could be smaller than
sizeof(struct shmem_data), potentially overwriting memory of the header.

References jp9000/obs-studio#1202
2018-02-24 21:48:50 -08:00
Shaolin 7f3a6844b5 obs-filters: Clear unused parameter warning
Closes jp9000/obs-studio#1188
2018-02-20 01:33:19 -08:00
astudios123 ef7a64228f rtmp-services: Add SermonAudio to services list
This commit adds SermonAudio RTMP ingest to services.json

Closes jp9000/obs-studio#1190
2018-02-19 20:03:25 -08:00
Quinn Damerell 90d3732247 obs-output: Update ftl-sdk version and ftl logging values 2018-02-15 16:11:23 -08:00
Exeldro 277b664001 obs-ffmpeg: Add speed percentage option
(Note: This commit also modifies the deps/media-playback module.)

Allows modifying the speed of local file playback.

Closes jp9000/obs-studio#1091
2018-02-15 15:18:13 -08:00
jp9000 dc0363d3e8 deps/media-playback: Use a struct for media init data
Instead of using countless parameters for the media initialization data,
use a structure.
2018-02-15 13:32:35 -08:00
Colin Edwards 7b6da2c430 obs-vst: Add layout to QMacCocoaViewContainer (update submodule) 2018-02-06 20:54:46 -06:00
Colin Edwards 4109be4511 obs-vst: Link Qt5::MacExtras (update submodule) 2018-02-06 18:52:38 -06:00
pkviet 645d6ae8dd libobs/media-io: Change speaker layout to match FFmpeg aac.
(This commit also modifies the obs-ffmpeg module)

The default channel layouts from aac spec are implemented in FFmpeg
native aac encoder as follows:

    AV_CH_LAYOUT_MONO,
    AV_CH_LAYOUT_STEREO,
    AV_CH_LAYOUT_SURROUND,
    AV_CH_LAYOUT_4POINT0,
    AV_CH_LAYOUT_5POINT0_BACK,
    AV_CH_LAYOUT_5POINT1_BACK,
    AV_CH_LAYOUT_7POINT1,

The correspondence of speaker layouts to AV_CH_LAYOUT from FFmpeg is
changed to reflect the previous table.

Although FFmpeg native aac encoder can now encode all the layouts listed
in avutil channel_layout.h (on master), there might be issues with older
FFmpeg binaries.

Note that 2.1 speaker layout will be encoded as AV_CH_LAYOUT_SURROUND
(FL FR FC) because it is not listed as the default layout for three
channels.

This just means some optimizations for LFE channel will not be used by
the encoder which will treat it as an SCE (single channel element).

Closes jp9000/obs-studio#1182
2018-02-06 06:14:24 -08:00
Michael Fabian 'Xaymar' Dirks 2129448dee enc-amf: Version 2.3.2 2018-02-06 01:59:43 +01:00
jp9000 4eb5be4903 obs-filters: Fix hard cross-lock when using ducking 2018-01-22 16:44:22 -08:00
jp9000 bd30a0874d win-dshow: Fix decoding issues from encoded devices 2018-01-22 14:41:00 -08:00
jp9000 cee790a5c6 enc-amf: Prevent detect-amf from showing fail dialogs
Prevents the user when detect-amf piped program crashes due to driver
crash.
2018-01-22 07:29:55 -08:00
jp9000 cb47c61e42 Revert "obs-outputs: Fix FMS auth with query string"
This reverts commit 5cf11d6726.
2018-01-22 05:40:26 -08:00
Gol-D-Ace ae22886f67 Update translations from Crowdin 2018-01-22 04:55:52 +01:00
jp9000 d976bc94db enc-amf: Test for AMF support in separate process first
Adjusts the enc-amf submodule remote to the jp9000 fork, which tests AMF
support in a separate process before attempting to initialize AMF
in-process.  Reduces the possibility of driver crashes caused by AMF
initialization.
2018-01-20 11:20:24 -08:00
Jim b183b49b5e
Merge pull request #1077 from Xaymar/plugins-enc-amf
enc-amf: Version 2.3.1
2018-01-20 10:50:25 -08:00
jp9000 6774bbdb83 obs-ffmpeg: Remove NVENC detection code for now
The reason this code is being reverted/removed is because this code is a
risk to startup stability.  This check will be added again in the
future, however this code needs to be executed from a secondary piped
process instead of directly in the process to reduce risk of
driver/hardware issues impacting program startup.  The same needs to be
accomplished for the AMF plugin as well.
2018-01-20 05:31:58 -08:00
jp9000 f5c3af1bda obs-ffmpeg: Fix signed mismatch warning 2018-01-19 16:19:10 -08:00
Jim 77643cce1e
Merge pull request #1139 from takev/pulseaudio-surround-selection
linux-pulseaudio: Surround speaker map
2018-01-19 16:14:04 -08:00
jp9000 655288baec obs-ffmpeg: Do not return last replay path if currently muxing 2018-01-18 08:54:43 -08:00
jp9000 8fc486339c obs-ffmpeg: Add proc to get last replay buffer
Allows getting the path of the last replay buffer saved via the
procedure handler of the FFmpeg muxer output.
2018-01-18 05:34:26 -08:00
Lucian Poston ff45b7b119 obs-ffmpeg: Call av_register_all before nvenc check
Closes jp9000/obs-studio#1157
2018-01-18 01:36:46 -08:00
jp9000 653d3ceb33 obs-ffmpeg: Don't try to detect NVENC on mac 2018-01-18 01:36:46 -08:00
Michel 054d607c2d obs-ffmpeg: Improve NVENC detection
This improves detection by performing an actual check on encoder
capability directly with the NVENC/CUDA libraries.
2018-01-18 01:35:45 -08:00
Tjienta Vara 48a8e750bb linux-pulseaudio: Surround speaker map
When using more than two channels, the channel map of pulse-audio is incorrect.

Add an API for getting a speaker map based on OBS speaker layout. Then use the
speaker map when connecting to a pulse-audio device, for both source and
monitor output.
2018-01-17 13:05:04 +01:00
jp9000 ae259bf8d8 win-capture: Make minor clarification to locale string 2018-01-13 18:30:23 -08:00
jp9000 17560bf86a Revert "obs-ffmpeg: Improve NVENC detection"
This reverts commit 94b5982216.

Reverting this commit because it had some negative side effects, such as
adding 500 milliseconds to the startup time.  NVENC detection should
really be done through its proper API, and not via creating an encoder
on startup.
2018-01-12 05:35:01 -08:00
jp9000 7764848070 decklink: Default to 5.1 if invalid channel value 7
Value 7 was actually 5.1 surround mode, not 7.1.
2018-01-08 19:17:10 -08:00
jp9000 ed5ee5aae2 decklink: Fix bug with old channel formats
There were cases where the channel format could be set to 7, which used
to be a valid format but now no longer is.  If that format is set, just
use SPEAKERS_7POINT1 instead.
2018-01-08 19:04:40 -08:00
Joel Bethke 10b27723a3 win-capture: Change string for memory capture option
Makes it a bit more clear this option shouldn't be used unless you're on
SLI/crossfire.

In the future, something should be put in to the program that detects
laptops and warns on how to set up their adapter for efficient capture.

Closes jp9000/obs-studio#1138
2018-01-08 15:44:05 -08:00
Tjienta Vara 8f6d048817 linux-pulseaudio: Default sample format float32le
This pull request changes the fallback sample format for pulse-audio
to from PA_SAMPLE_S16LE to PA_SAMPLE_FLOAT32LE.

The pulseaudio plugin can handle the following sample format:
* PA_SAMPlE_U8
* PA_SAMPLE_S16LE
* PA_SAMPLE_S32LE
* PA_SAMPLE_FLOAT32LE

When an audio device advertises itself as another format, the pulseaudio-plugin
will ask pulse audio to convert to the fallback sample format.

The fallback PA_SAMPLE_S16LE is not ideal when your audio interface advertises
as PA_SAMPLE_S24LE since the conversion will lose precision.
With PA_SAMPLE_FLOAT32LE there is no precision loss and it is also equals OBS's
internal format.
2018-01-08 19:31:09 +01:00
derrod 9c8acf127b rtmp-services: Add Twitch Helsinki ingest 2018-01-06 22:16:32 +01:00
Jim 93a96a0603
Merge pull request #1117 from takev/v4l2-add-resolutions
linux-v4l2: Add 4k and 21:9 resolutions
2018-01-06 12:33:22 -08:00