0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
Commit Graph

7136 Commits

Author SHA1 Message Date
jp9000
b7d094a532 libobs-d3d11: Don't set GPU priority on Intel adapters 2019-10-10 03:03:38 -07:00
jp9000
254947eaa0 libobs/audio-monitoring: Add error logging
Helps diagnose issues if the user is unable to initialize audio
monitoring for whatever reason.
2019-10-10 02:04:59 -07:00
jp9000
22aa66a6eb libobs/audio-monitoring: Don't init until used
This prevents audio monitoring from actually initializing unless audio
is actually played back through the source.  This prevents many browser
sources from initializing audio monitoring all at once needlessly if
audio is not being rerouted to OBS.
2019-10-10 02:04:58 -07:00
jp9000
8743b00f84 obs-browser: Use older chromium network implementation
This uses the older network implementation rather than the new
NetworkService chromium has implemented until a later version of CEF is
used.  The newer NetworkService implementation has caused some lag with
playback when hardware acceleration is not available for whatever
reason.  This doesn't fix media playback issues with software rendering
on windows, but it does on macOS.  All playback issues with software
rendering appear to be fixed in later version of CEF, however those
versions do not currently have hardware accelerated OSR or audio capture
support, so we must deal with 3770 until we can upgrade CEF again (which
hopefully won't be too long).
2019-10-10 02:00:57 -07:00
jp9000
ec769ef008 libobs-d3d11: Set maximum GPU priority
(This commit also modifies the UI)

This solves the issue where OBS would be deprioritized by Windows over
fullscreen games, causing OBS to lag out whereas the games would still
run fine.
2019-10-10 00:51:47 -07:00
jp9000
cda7f3e3fd Revert "UI: Remove FFZ from twitch integration"
This reverts commit c22d539a7b.
2019-10-07 18:24:38 -07:00
jp9000
c22d539a7b UI: Remove FFZ from twitch integration
Unfortunately, due to some conflicts between FFZ and BTTV (particularly
the fact that having FFZ enabled removes the BTTV settings menu items),
one of them needs to be removed.  For the time being, we'll remove FFZ,
because BTTV shows FFZ emojis anyway.
2019-10-07 13:36:56 -07:00
Jim
e582a60899
Merge pull request #2098 from jpark37/disable-warp-nv12
libobs-d3d11: Disable NV12 format support for WARP
2019-10-07 00:12:26 -07:00
jpark37
84d0fdc576 libobs-d3d11: Disable NV12 format support for WARP
Speculative fix. Don't have easy ability to reproduce this locally.
2019-10-06 20:30:49 -07:00
jp9000
89586ef441 obs-ffmpeg: Remove unbuffered mode from media source
Unbuffered mode is causing the frames of media sources to potentially
have some slight jitter in playback, so instead of using unbuffered mode
with media sources, just leave buffering on.  There may be a frame or so
of latency, but it shouldn't be noticeable to most users.
2019-10-05 15:40:12 -07:00
jp9000
e023060afa obs-transitions: Fix stingers sometimes getting cut off
The file duration is a bit of an estimate.  This adds 500ms to the
estimated stinger media file duration to help ensure stinger videos
play back in full without getting cut off prematurely.
2019-10-05 12:51:01 -07:00
jp9000
c6f48b9107 obs-browser: Update version to 2.7.12 2019-10-05 02:16:27 -07:00
jp9000
eabebd1774 obs-ffmpeg: Fix deadlock with nvenc lookahead
Lookahead requires examining frame data over a large number of frames,
so when pkv added the change to fully reset the encoder when the bitrate
changes, nvenc will invalidate all buffers and basically starts over
from a completely clean slate.

It's possible to make lookahead work when changing the bitrate, but due
to how lookahead seems to works internally in nvenc, it will cause
continually increasing latency every time the bitrate is updated, which
is unideal.

Additionally, when lookahead is enabled, deadlocks can occur when
changing the bitrate in a thread other than the graphics thread.
Currently we allow it to be reset outside of the graphics thread.  From
limited investigating, it would appear this deadlock occurs because
nvenc is locking and releasing old textures.

So instead of dealing with all these potential issues, disable the
ability to adjust bitrate when the user has lookahead enabled on nvenc.
It's not really worth implementing dynamic bitrate support when
lookahead is enabled if the latency is just going to continually
increase for every bitrate adjustment anyway.
2019-10-04 04:39:15 -07:00
Jim
50c9e99b43
Merge pull request #2087 from notr1ch/diskspace-check-fix
UI: Fix path calculation for disk space check
2019-10-02 13:12:19 -07:00
jp9000
6929c6a9f1 Revert "Revert "UI: Stop recording when disk space is low""
This reverts commit 8a48a1ba8e.

I have regrets.
2019-10-02 13:10:29 -07:00
jp9000
8a48a1ba8e Revert "UI: Stop recording when disk space is low"
This reverts commit d9a4842604.

Some people have been reporting that this is being triggered despite
having plenty of disk space.  So revert this until this issue is
investigated in more detail.
2019-10-02 12:41:46 -07:00
Richard Stanway
27b7f45fd7 UI: Fix path calculation for disk space check
When using custom FFmpeg output mode, the check would instead use the
standard recording path which is no longer visible in the settings. This
commit also simplifies the checks by moving the duplicated code to a new
function.
2019-09-27 15:04:07 +02:00
jp9000
66967b7a55 obs-ffmpeg: Do not enable hardware decoding by default
If a user has a tremendous amount of media files, this can cause
instability.  Instead, make hardware decoding something the user has to
explicitly enable.

Although hardware decoding was technically enabled by default even
before we fixed it, fixing it was essentially a change to defaults for
users because it was just not even available before version 24.
2019-09-24 03:04:18 -07:00
jp9000
94570478b7 obs-browser: Fix a deadlock
This fixes a freeze that can occur if you try to destroy browser while
another browser is being created.  The CEF UI thread has to wait on a
window message to the main application UI thread, meanwhile the destroy
call in the main application UI thread is waiting on the CEF UI thread,
thus causes a deadlock.

Now that we have the SetParent(hwnd, nullptr) code that detaches the CEF
window from the Qt window, we no longer have to worry about
synchronously shutting down the browser, so instead of waiting for that
operation to finish, just allow it to occur asynchronously.
2019-09-20 08:14:16 -07:00
jp9000
54f4b67843 libobs: Update version to 24.0.1 2019-09-20 00:23:36 -07:00
jp9000
65c7e2d19d libobs: Add API to get last OBS version of a source
Allows the ability to change the behavior of a source depending on the
previous OBS version.
2019-09-20 00:13:51 -07:00
jp9000
e200a8a8a9 obs-browser: Signal whether audio active/inactive
Uses the new obs_source_set_audio_active function to signal to the UI
whether audio is active or inactive depending upon whether the user is
currently allowing OBS to control the audio or whether the user is
allowing CEF to control the audio.  Ensures that the browser does not
show up in the mixer if CEF is playing back the audio itself.
2019-09-19 23:43:36 -07:00
jp9000
94cab1e536 UI: Hide mixer sources if audio deactivated
If audio is determined to be deactivated via the audio source (via the
new "audio_activate" and "audio_deactivate" signals), hide the audio
source in the mixer.
2019-09-19 23:38:53 -07:00
jp9000
33c09d91c2 libobs: Add funcs to determine whether audio active
Adds functions to allow sources to inform the UI whether the audio is
currently active or not.  Allows the ability to turn on/off the items in
the mixer.
2019-09-19 23:37:29 -07:00
jp9000
3baa75c7ca obs-browser: Turn rerouting audio off by default
It was determined that rerouting audio through OBS currently isn't the
best idea even with monitoring enabled, primarily due to the fact that
audio monitoring has never had this wide of testing before, and that
many users complained that they were not getting audio for (as of yet)
unknown reasons from audio monitoring.  It would appear that we need to
address the issues with audio monitoring first before attempting to use
audio monitoring with any sources by default.  For now, audio will
reroute through CEF by default, and then the user must explicitly use
the option "Control audio via OBS", (renamed from "reroute audio", and
now disabled by default), to enable browser audio control through OBS.

There are other issues that need to be resolved as well, and once all
the various issues are addressed, the setting default can be allowed to
change back.
2019-09-19 19:14:21 -07:00
jp9000
6464d5f853 UI: Check for null pointer
This was actually the line of code that the mixer dock widget crash was
triggered by.  This technically shouldn't ever be null, but better to be
safe than sorry.
2019-09-19 05:39:25 -07:00
jp9000
9730578230 UI: Fix crash closing mixer dock panels
The function added to the BrowserDock class is SetWidget, not setWidget.

I realize now that using the same exact function name but with an
uppercase starting letter rather than a lowercase starting letter wasn't
smart.
2019-09-19 05:29:02 -07:00
jp9000
eee40ec6d6 win-dshow: Do not allow H264 to have same priority as MJPEG
This prevents VideoFormat::Any from unintentionally selecting H264 when
MJPEG is the only other format available.

This fixes a bug where certain devices (Logitech C920 with latest
drivers) will only have H264 and MJPEG available, and using
VideoFormat::Any will then select H264 over MJPEG because it's the first
format value and has the same priority as MJPEG.  So now, MJPEG will be
prioritized over H264 instead.
2019-09-19 00:12:07 -07:00
jp9000
6f1cb5a8f8 win-dshow: Disable HW decode in DirectShow for now
This did not get enough testing, so disable it for now until more
devices can be tested (especially the live gamer portable).
2019-09-18 18:14:22 -07:00
Gol-D-Ace
add59d5253 UI: Adjust locale name for zh-TW 2019-09-18 13:28:27 +02:00
Gol-D-Ace
5d95cfc361 obs-browser: Update translations from crowdin 2019-09-17 23:29:34 +02:00
Gol-D-Ace
03b5be75e4 Update translations from Crowdin 2019-09-17 23:21:00 +02:00
jp9000
0048b74ed9 libobs: Update version to 24.0.0 2019-09-17 13:51:40 -07:00
jp9000
abaed69627 libobs: Check to swap BGRX/BGRA in async filters
If for whatever reason the format is swapped between BGRA/BGRX in an
async filter, swap the texture to compensate for that.  This allows
plugins to change the format if necessary.
2019-09-17 13:51:40 -07:00
Jim
888a7ad3fb
Merge pull request #2071 from jpark37/mjpeg-default-range
win-dshow: Fix color range when using FFmpeg decode
2019-09-16 15:21:22 -07:00
jp9000
4ff1195768 obs-browser: Map absolute to file URLs
Fixes a bug where where if http://absolute/ are used directly by the
user, the local files used with it would not function correctly.
2019-09-15 18:53:51 -07:00
jp9000
3f28d44d00 UI: Fix extra browser panels always creating on startup
The extra browser panels would always create on startup due to the
visibility change.  This fixes that by ensuring that this call blocks
signals, and ensures that the call only happens on first creation by the
user and not when the user is loading on startup.
2019-09-15 13:18:13 -07:00
jp9000
e61984c2cf obs-browser: Fix panels not remembering last URL set 2019-09-15 13:17:45 -07:00
jp9000
5d19786e04 UI: Fix browser docks being unchecked when created
In the view -> Docks menu, when a user first creates a custom browser
dock, the menu item associated with them used to hide/show them will be
unchecked in the menu by mistake.  This ensures they're checked when
first created.
2019-09-14 19:37:37 -07:00
jpark37
f60b820fee win-dshow: Fix color range when using FFmpeg decode
Full color range seems to be active when decoding video with FFMmpeg
even when partial is explicitly selected. This should keep the range
synchronized.
2019-09-14 17:12:29 -07:00
jp9000
3064887ae2 Revert "UI: Various screen reader fixes"
This reverts commit b5843caa48.

This breaks some hotkeys because the signals are tied to a signal which
is now triggered because "toggled" is used instead of "clicked", so just
revert it for now for the release and look at it later post-patch.
2019-09-12 13:55:31 -07:00
jp9000
5287518044 UI: Fix pause hotkey not working properly
Setting the check state cause the toggle signal to trigger, so it would
pause and immediately unpause.
2019-09-12 12:06:09 -07:00
jp9000
656873ab94 obs-browser: Fix portable mode not saving cookies
Request contexts don't appear to work with relative paths, only absolute
paths.  This fixes the bug where when using portable mode,
cookies/session wouldn't save because obs_module_config_path() was
returning a relative path rather than an absolute path.
2019-09-10 17:42:59 -07:00
jp9000
333fcb3664 obs-browser: Fix minor bug when using older CEF versions
Fixes duplicate visibility notifications when using 3440.
2019-09-10 12:05:15 -07:00
jp9000
b486cc6f9e UI: Disable NVENC lookahead if dynamic bitrate on
Lookahead causes playback issues when bitrate changes mid-stream.
Bitrate can suddenly drop to 0, and other issues such as audio
stuttering on Twitch have been observed.  Turning off lookahead fixed
the issue.  Lookahead is normally off by default anyway.
2019-09-10 12:01:10 -07:00
jp9000
70c9688e99 obs-browser: Fix browser panel visibility bug
Browser panels were having their initial visibility state always being
set to false.  This fixes that by only setting visibility state on
browser objects which explicitly call the visibility message (i.e. only
browser sources).
2019-09-07 21:27:41 -07:00
Colin Edwards
977f0397ab
Merge pull request #2065 from DDRBoxman/cefupdate
CI: Update CEF on osx to 3770
2019-09-07 18:22:03 -05:00
Colin Edwards
1507db7b1b CI: Update CEF on osx to 3770 2019-09-07 17:44:12 -05:00
jp9000
91825f236f obs-browser: Fix large local media file access
In newer CEF builds the http://absolute/ scheme handler factory seems to
never complete when accessing large media files due to an apparent bug
in the Chromium media player (XHR requests complete fine).  At the same
time, file:// URLs are working just fine.

file:// URLs will be used where available (CEF 3440+) falling back to
BrowserSchemeHandlerFactory on older CEF versions.
2019-09-07 10:54:15 -07:00
Jim
05e29d1679
Merge pull request #2062 from VodBox/screen-reader-fixes
UI: Various screen reader fixes
2019-09-06 17:50:05 -07:00