Commit Graph

6811 Commits (ad85a9fa2501a5913538e80b43e9ea8e9d551af4)

Author SHA1 Message Date
jp9000 0d4d7f617c libobs: Update version to 23.2.0 2019-06-10 22:10:21 -07:00
Gol-D-Ace 973bc481ce Update translations from Crowdin 2019-06-11 01:42:42 +02:00
James Park bbef13166b libobs-d3d11: Clean up device_projection_pop
Simplify STL usage as requested by function comment.
2019-06-08 09:52:20 -07:00
James Park 9f66b90d99 libobs: Area-resampling shader optimizations
Switch for loop to do/while because we know the condition is always
true for the first loop.

Replace int math with float math to play nicely with more GPUs.

Add variables imagesize/targetsize to avoid redundant reciprocals.

Intel GPA results: 1166 -> 836 us
2019-06-03 23:11:23 -07:00
jp9000 8cfe219abf UI: Make two-auth message a bit friendlier 2019-06-03 09:24:28 -07:00
jp9000 16edcd991a UI: Use better link for Twitch two-factor warning 2019-06-03 09:16:33 -07:00
jp9000 1f39259bc5 win-capture: Add discord to game capture blacklist 2019-06-01 20:07:39 -07:00
Jim 5f7be60947
Merge pull request #1907 from notr1ch/updater-updates
UI/updater: Various updates
2019-06-01 18:09:10 -07:00
Jim f14856a8d0
Merge pull request #1909 from SCG82/fix-settings-list
UI: Fix output icon size. Add padding to settings list items
2019-06-01 17:54:24 -07:00
Jim 9b545ebc22
Merge pull request #1912 from VodBox/transition-label-fix
UI: Fix transition A/B labels on macOS/Linux
2019-06-01 17:53:24 -07:00
VodBox d2bbe36e64 UI: Fix transition A/B labels on macOS/Linux
Previously, if the video size in OBS was too big, the labels would not
render on macOS/Linux due to the labels not fitting inside the texture
in the freetype plugin. This change makes it so that there is a maximum
size for the label, rather than being solely based on video size.

This change also makes the labels look centered on macOS/Linux, as
unlike the GDI plugin on Windows, the freetype plugin aligns the bottom
of the text with the bottom of the source.
2019-06-01 23:59:35 +00:00
jp9000 6272409c49 UI: Add two-factor authentication warning for Twitch
Twitch will now return a 403 HTTP error code if you attempt to query
your stream key when your Twitch account does not have two-factor
authentication enabled.  This handles it a bit better and displays an
appropriate error message for users so they know where to go to enable
it.
2019-05-31 21:00:48 -07:00
jp9000 3bd99797d9 UI: Add ability to use rich text in warning dialogs
Allows the ability to use things such as links in warning dialogs,
optionally.  Disabled by default.
2019-05-31 20:52:59 -07:00
SCG82 012f24099f UI: Fix output icon size. Add padding to settings list items 2019-05-31 18:51:34 -07:00
Richard Stanway 5a8cad0876 UI/updater: Update some text for clarity 2019-05-31 15:47:47 +02:00
Richard Stanway 02a5d3e5db UI/updater: Add marquee progress bar for existing file check
This can take a while on a hard drive since it hashes the entire OBS
installation, show a undetermined progress marquee to avoid users
thinking that the updater has frozen.
2019-05-31 15:46:06 +02:00
Richard Stanway 5048fe2026 UI/updater: Add manifest file for DPI awareness 2019-05-31 15:39:51 +02: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
Jim 21ce267ad4
Merge pull request #1896 from SCG82/cef-10.11
CI: Build CEF with OS X 10.11 target
2019-05-29 05:01:25 -07:00
Jim c4807ffef5
Merge pull request #1895 from SCG82/fix-travis
CI: Fix travis test on OSX
2019-05-29 05:00:42 -07:00
Jim 1f47a2b3bd
Merge pull request #1903 from WizardCM/revert-scenes-styles
UI: Revert Dark theme Scenes font change
2019-05-29 04:45:07 -07:00
Matt Gajownik e751a7c411 UI: Revert Dark theme Scenes font change
This fixes a pixelated font on high-DPI
2019-05-29 09:32:07 +10:00
SCG82 839e74f522 CI: Fix travis test on OSX 2019-05-24 20:38:27 -07:00
SCG82 85012d5a39 CI: Build CEF with OS X 10.11 target 2019-05-24 20:31:30 -07:00
James Park 8d6ed988e6 libobs: Remove unnecessary frame pipelining
Remove three instances of unnecessary double-buffering. They are not
needed to avoid stalls, and cause increased memory traffic when
measured on Intel HD 530, presumably because texture data will remain
in cache if sampled immediately after write.

(Note: GPU timings from Intel GPA are volatile.)

NV12, 3 Draws:
RGBA -> UYVX: 628 us -> 543 us
UYVX -> Y: 522 us -> 507 us
UYVX -> UV: 315 us -> 187 us
Total, Duration: 1594 us -> 1153 us
Total, GTI Read Throughput: 25.2 MB -> 15.9 MB
2019-05-24 01:03:21 -07:00
jp9000 f130e8755b UI: Ensure frontend event is removed on object deletion 2019-05-23 23:53:36 -07:00
Jim 82afc219f9
Merge pull request #1893 from jpark37/fix-win-speaker-macros
win-wasapi: Speaker enum fixes
2019-05-23 22:20:56 -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
jp9000 44d4df31e1 UI: Fix "Toggle Preview" hotkeys duplicating
Fixes "Toggle Preview" hotkeys from duplicating when profiles are
switched.  The hotkeys were not being unregistered.
2019-05-23 04:16:24 -07:00
Jim d495afc30f
Merge pull request #1891 from jpark37/d3d-log-indices
libobs-d3d11: Bad indices in log output
2019-05-23 04:01:43 -07:00
Jim fa142ee6bc
Merge pull request #1892 from WizardCM/patch-1
GitHub: Add funding buttons
2019-05-23 02:05:14 -07:00
Matt Gajownik b13b7f101a
GitHub: Add funding buttons 2019-05-23 18:58:20 +10:00
James Park 6ac21c4bc5 libobs-d3d11: Bad indices in log output
Fix bad logging for LogAdapterMonitors and LogD3DAdapters. Update
EnumD3DAdapters for consistency.
2019-05-22 23:06:00 -07:00
jp9000 3699209ce4 libobs: Pair encoders only when output actually starts
Normally, paired encoders are unpaired when they stop.  However, if the
pairing occurs before the encoders actually start, and the encoders
never actually end up starting, they are never unpaired, and that
pairing stays with them until the next time an output is started up
again.  That in turn can cause an output that uses one of the encoders
but not the other to not function correctly, and neither properly
"start" nor stop because the data is queued continually in the
interleaved packet array.

For example, let's say there are two outputs, two video encoders, and
one audio encoder.  This can be reproduced by using advanced output mode
and making the two outputs use separate video encoders while sharing
track 1's audio encoder.  If you start up the stream output first and it
fails to fully connect for whatever reason (bad server, bad stream key,
etc), then you start up the recording output, the recording output will
appear to be running, but will not stop when you hit "stop recording".
It will stay perpetually on "stopping recording" and will get stuck that
way.  This is because when the streaming output started, the streaming
output would initially pair video encoder A with audio encoder A before
the encoders actually fully started up (as the encoders do not fully
start up until a connection is successfully made), and when the
recording output starts up after that disconnection, audio encoder A
will wait for video encoder A rather than video encoder B because that
pairing was never actually cleared.

So, instead of pairing encoders when the output starts, wait until the
encoders themselves are being started and then pair the encoders at that
point in time.  This ensures that the encoders start up and will clear
their pairing when no longer in use.
2019-05-22 00:37:12 -07:00
Jim 40a206326b
Merge pull request #1888 from cg2121/fix-rec-time-left-bug
UI: Fix issue where rec time left would show negative time
2019-05-21 03:45:36 -07:00
Clayton Groeneveld 1282a5a3dc UI: Fix issue where rec time left would show negative time
The recording time left timer was being called an unnecessary time,
in the stats constructor, when it should have only been started
when the recording starts.
2019-05-21 01:45:38 -05:00
Jim 83493e3563
Merge pull request #1887 from jpark37/dead-yuv-code
libobs: Remove unreachable YUV decode paths
2019-05-19 22:10:31 -07:00
James Park ab8e895b12 libobs: Remove unreachable YUV decode paths
A previous refactoring to make DrawMatrix unnecessary has left behind
unreachable YUV conversions. Even if this code was somehow reachable,
DrawMatrix for YUV -> RGB doesn't exist anymore, so they would render
incorrectly anyway.
2019-05-19 21:27:18 -07:00
Jim 2d1d916695
Merge pull request #1885 from jpark37/minor-cleanup
Minor cleanup
2019-05-18 23:19:48 -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
James Park 0c5cb83bf4 libobs: Remove saturate from RGB -> YUV conversion
Incoming texture is UNORM, so the value must already be saturated.
2019-05-18 22:10:42 -07:00
James Park 37bf66b9dc UI: Remove unused helper function renderVB
Lambda replacement was added, but old function was left behind.
2019-05-18 22:09: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
Jim 5b539dcf11
Merge pull request #1884 from Xaymar/patch-1
UI: Remove 5 file limit for drag & drop
2019-05-17 12:28:01 -07:00
Michael Fabian Dirks c280e620e3
UI: Remove 5 file limit for drag & drop 2019-05-17 16:56:27 +02: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
Jim 19aca12025
Merge pull request #1883 from WizardCM/dark-fixes
UI: Dark theme consistency for Scenes vs Sources
2019-05-16 20:35:07 -07:00
Matt Gajownik 8fa404a186 UI: Dark theme consistency for Scenes vs Sources
- Selected but unfocused Source colour
- Scenes font
- Padding when editing Source name
2019-05-16 22:50:08 +10:00
Jim eac7cb5cda
Merge pull request #1882 from cg2121/hotkey-theme-issues
UI: Fix hotkey theme issues
2019-05-14 02:30:04 -07:00