Commit Graph

2102 Commits (9799a99238601b643ba3d27204f6905e546eaf5a)

Author SHA1 Message Date
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 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
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
jp9000 e981c15749 Revert "image-source: Set default size of color source to canvas size"
This reverts commit 46c5780a77.

This needs to be reverted for now because users who did not set a size
on it (left it at default and just stretched it) will now suddenly have
the source's size change out of nowhere.  There needs to be backward
compatibility implementation for this.
2019-09-05 17:02:33 -07:00
jp9000 1b1a431c86 obs-browser: Fix build error on macOS 2019-09-05 11:28:18 -07:00
jp9000 fe1a3718ea obs-browser: Fix browser panel crash
Reverts the container widget, then decouples the browser's window handle
from its parent instead.  This allows calling DestroyBrowser() safely.
2019-09-04 21:19:15 -07:00
jp9000 65eac02cda UI: Shut down browsers when browser docks hidden
Shuts down the actual browsers internally when the browser docks are
hidden by user.
2019-09-03 19:12:36 -07:00
Jim 04d1f04bd3
Merge pull request #2060 from craftwar/format
Fix Variable type and format specifier
2019-09-03 13:09:32 -07:00
jp9000 93aa528d2b obs-browser: Allow users to use CEF audio instead of OBS
Allows the ability for users to use audio through CEF (previous
behavior) by unchecking the "Reroute audio through OBS" checkbox if they
so choose.
2019-09-02 17:46:25 -07:00
craftwar e004ce8064 graphics-hook: Fix format specifier 2019-09-02 21:12:27 +08:00
jp9000 297f9fb0fd obs-browser: Do not use WasHidden() for visibility on 3507+
Using WasHidden() for the purposes of visibility no longer can be relied
upon due to some sort of bug with OSR in Chromium.  This issue does not
happen when using 3440.  The browser works fine without WasHidden()
calls, so we must remove its usage or be forced to use 3440.  For those
who need the visibility handling, an alternative will have to be used
once it's available.

Additionally, this reverts the failed workaround to use OBS FPS in place
of SignalBeginFrame() because that code is no longer needed due to the
WasHidden() removal.
2019-09-01 10:40:26 -07:00
Jim e4594f00bd
Merge pull request #2056 from jpark37/qsv-warning
obs-qsv11: Remove leftover stack variable
2019-08-31 21:16:40 -07:00
Jim 1523acd726
Merge pull request #2055 from jpark37/video-warnings
Fix video format warnings
2019-08-31 21:16:23 -07:00
jp9000 dc6a0bf8e9 obs-browser: Fix browser panel crash
Before, we were calling DestroyWindow on the browser panel HWND from the
CEF UI thread, which meant that the main program thread had to process
window messages in order for that message to successfully through as
DestroyWindow blocks on the WM_DESTROY/WM_NCDESTROY window messages.
Unfortunately, this also had the side-effect of processing all queued Qt
events, which, when called in the destructor of a window like this, can
result in undefined behavior; specifically crashes, which were occurring
due to this.  Especially when browser panels were in docks and docked to
the main window.

So, instead of calling DestroyWindow in another thread and then
processing events in the main thread, call DestroyWindow directly in the
main thread to get WM_DESTROY/WM_NCDESTROY and only those processed on
the spot.  This appears to fix the crashes due to the undefined
behavior when closing browser panels.
2019-08-31 21:10:26 -07:00
jpark37 fcca1c4476 obs-qsv11: Remove leftover stack variable 2019-08-30 23:45:14 -07:00
jpark37 4a81df759d obs-ffmpeg: Fix video warnings 2019-08-30 22:13:11 -07:00
jp9000 1a83f3c287 obs-browser: Do not process Qt events for browser source
This fixes crashes that could occur while processing Qt events during a
source's destruction.

Originally the processEvents code was added to make sure that any window
messages being sent to the browsers were being processed by Qt.
However, that was only necessary for browser panels as they are actually
associated with windows/views.  Browser sources are OCR, thus they do
not need this.
2019-08-29 20:46:18 -07:00
Hosein 2222d23e31 rtmp-services: Update GameTips.TV 2019-08-28 08:32:14 -07:00
jp9000 4f2c8ad4a1 obs-browser: Ensure FPS always matches OBS
When "custom FPS" is disabled, ensures that OBS and the browser always
use the same FPS even if the user changes it in settings.
2019-08-27 22:46:24 -07:00
jp9000 f7c285a749 obs-browser: Don't signal frame begin if feature disabled 2019-08-26 21:51:09 -07:00
jp9000 3f12b5e846 obs-browser: Actually fix browsers sometimes not rendering
Fixes same issue as 5c04876de1, but reverts that and changes it so that
external_begin_frame_enabled is not used instead, which seems to fix
that issue.
2019-08-26 19:41:56 -07:00
jp9000 c5178a5d1e obs-qsv11: Do not enable b-frames on sandy/ivy bridge
B-frames on sandy/ivy bridge do not work, so disable for those
platforms.
2019-08-26 08:13:24 -07:00
jp9000 5c04876de1 obs-browser: Fix browser source sometimes not rendering
On 3770, when many (5+) browser sources/panels are active at once,
browsers started freezing.  It is apparently due to this particular
issue:

https://bitbucket.org/chromiumembedded/cef/issues/2483/osr-invalidate-does-not-generate-frame

The solution is to remove the "WasHidden(true)" call.
2019-08-26 06:43:00 -07:00
pkv adedd967d5 obs-ffmpeg: Use NV_FAILED() instead of FAILED()
The FAILED() macro is for HRESULT values; NV_FAILED() is what should be
used for NVENCSTATUS.
2019-08-24 18:24:28 -07:00
pkv 1a11e15a30 obs-ffmpeg: Force I-Frame when reconfiguring jim-nvenc
This forces an I-Frame when reconfiguring encoding parameters so that
the changes apply immediately.
2019-08-24 18:19:59 -07:00
jp9000 6863140381 obs-x264: Do not display log messages every update
Prevents log spam when dynamic bitrate is used
2019-08-22 16:21:59 -07:00
jp9000 f0140cbb74 obs-browser: Fix audio cutting out
CEF outputs multiple audio streams at once, and OBS was only able to
handle one at a time.  This fixes it by using audio lines for each CEF
audio stream, and mixes them together itself.
2019-08-21 16:07:31 -07:00
jp9000 aa4d1d0cd1 obs-outputs: Add dynamic bitrate to RTMP output
The dynamic bitrate operates based upon estimating the current bitrate
output, and then adjusting the bitrate on the fly as necessary when
congestion is detected as a replacement for dropping frames.

This may still need adjustment, as it is difficult to accurately emulate
real-world frame drop scenarios.  This does not currently drop frames at
all, and because of that, very high congestion may cause additional
stream delay to viewers (because data will be buffered), but from
limited testing, most congestion will not cause that and it can safely
recover pretty quickly without adding significant delay.
2019-08-18 03:14:38 -07:00
jp9000 806ab5a022 libobs: Mark encoders that support dynamic bitrate
(This commit also modifies mac-vth264, obs-ffmpeg, obs-qsv11, and
obs-x264)
2019-08-18 03:14:38 -07:00
jp9000 91ce2349db obs-outputs: Allow changing bitrate test limit on the fly
When doing the bitrate limit test, it can be useful to have the ability
to change the current maximum bitrate limit.  This adds the ability to
press keys on windows (numpad 0-6) to change between bitrates.  Numpad 0
being no limit, 1 being 1000, 2 being 2000, etc.
2019-08-18 03:14:38 -07:00
jp9000 15ade1e2c4 obs-x264: Do not show reconfigure details in log
Prevents the x264 plugin from spamming the log when dynamic bitrate is
active.
2019-08-18 03:14:38 -07:00
jp9000 ed43de5c75 obs-ffmpeg: Allow FFmpeg NVENC to be reconfigured
Adds the ability to reconfigure FFmpeg's NVENC implementation on the
fly.
2019-08-18 03:14:38 -07:00
Kurt Kartaltepe e39e13e7b8 linux-capture: Texture unbound after GS_GL_DUMMYTEX changes 2019-08-17 22:47:32 -07:00
jp9000 d981c10906 Revert "win-capture: Don't leak dynamic library references"
This reverts commit c5928bff4a.

This breaks game capture.
2019-08-17 12:23:44 -07:00
Jim 5f7ff6fbcc
Merge pull request #1970 from cg2121/fix-warnings
various: Fix compiler/theme warnings
2019-08-17 08:22:03 -07:00
Jim ce51fa092c
Merge pull request #1992 from Xaymar/patch-tidy-up-1
Fix various clang-tidy and CppCheck warnings.
2019-08-17 08:16:46 -07:00
Jim e747584692
Merge pull request #2027 from cg2121/fix-typos
win-wasapi: Fix typo with description
2019-08-16 13:08:48 -07:00
jp9000 d6b551c9d3 obs-text: Fix formatting 2019-08-15 21:38:23 -07:00
Jim da6a3e3ce0
Merge pull request #1931 from exeldro/text_transform
obs-text: fix text transform on updated file
2019-08-15 21:19:12 -07:00
Clayton Groeneveld e8ad89fc75 libobs, obs-scripting, vlc-video: Fix compiler warnings 2019-08-15 03:00:06 -05:00
Clayton Groeneveld 48f22d9b91 win-wasapi: Fix typo with description 2019-08-15 02:32:57 -05:00
jp9000 ae83c857d7 obs-browser: Update to 2.6.1 2019-08-12 20:07:10 -07:00
Jim 444991ba21
Merge pull request #2021 from jpark37/yuva-format
Add support for YUV alpha formats
2019-08-11 20:38:17 -07:00
Kurt Kartaltepe 1402a80583 linux-capture: Revert GS_RGBX usage 2019-08-11 18:30:23 -07:00
jpark37 90c545b52c obs-ffmpeg: Add YUV alpha formats for completeness 2019-08-11 11:26:32 -07:00
Jim 0546d18855
Merge pull request #1934 from kkartaltepe/alpha-linux
linux-capture: Correct XCompCap glxFBConfigs alpha check
2019-08-11 05:00:35 -07:00
Jim fe56046a38
Merge pull request #1988 from cg2121/fix-suffix
obs-transitions: Fix suffix with stinger transition
2019-08-10 23:28:37 -07:00
jp9000 a2e8741449 obs-browser: Fix a few panel issues 2019-08-08 03:23:53 -07:00
jp9000 deaeb5e632 win-dshow: Use unbuffered by default for MJPEG
Due to the recent change of using FFmpeg to decode MJPEG, MJPEG was
getting included in the delayed device check.  This fixes that so that
it doesn't.  MJPEG can decode in real time.
2019-07-29 20:34:13 -07:00