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

2136 Commits

Author SHA1 Message Date
JohannMG
a19fc7227c rtmp-services: Increase FB max bitrate to 6Mbps
Facebook Live now recommends 6000kbps for most streamers and the auto
capping is clamping users to 4000kpbs. This fixes the new suggested
setting.
2019-12-16 11:55:37 -08:00
jp9000
226f54cf06 obs-browser: Disable system flash 2019-12-13 07:35:17 -08:00
Jim
22bddd0270 Merge pull request #2010 from wanhongqing123/master
win-dshow: fix H264 to mjpeg issue
2019-12-06 03:02:02 -08:00
Jim
cc3c70ba00 Merge pull request #2152 from Rosuav/fix-cursor-position
libobs: Fix cursor draw position bug when cropping a window capture.
2019-12-06 03:01:36 -08:00
Jim
743ac0f4cb Merge pull request #1914 from YouNow/master
rtmp-services: Add YouNow service and implement ingest lookup
2019-12-06 03:01:22 -08:00
Jim
e89af8ff0a Merge pull request #2140 from DevWolk/avn-obs
rtmp-services: Add Stars.AVN.com streaming service
2019-12-06 03:01:22 -08:00
Jim
6dc81d9439 Merge pull request #2045 from wolf247/master
rtmp-services: Add ChathostessModels
2019-12-06 03:01:22 -08:00
Jim
19d140b50a Merge pull request #2168 from kkartaltepe/vaapi-profile-fix
rtmp-services: Type check apply_encoder_settings
2019-12-06 03:01:21 -08:00
Jim
49f9d05af9 Merge pull request #2134 from WizardCM/wasapi-samplerate
Log Sample Rate for WASAPI devices
2019-12-06 03:01:05 -08:00
Jim
6b9302db8f Merge pull request #2129 from Fenrirthviti/win-blacklist-update
win-capture: Add additional exe to window capture blacklist
2019-12-06 03:01:05 -08:00
Jim
596019e682 Merge pull request #2121 from cg2121/fix-warning
rtmp-stream: Fix comparison between signed and unsigned ints
2019-12-06 03:01:05 -08:00
Jim
4182bd5bd7 Merge pull request #2110 from derrod/ffmpeg-output-fix
obs-ffmpeg: Use av_opt_set on context instead of priv_data
2019-12-06 03:01:05 -08:00
Jim
26312486cf Merge pull request #2091 from Programatic/xshm_wrong_windows
linux-capture: Fix bug where multiple 0x0 windows would appear
2019-12-06 03:01:04 -08:00
jp9000
d88a5a5a60 obs-browser: Remove "monitor by default" flag
The reasoning behind removing this flag is because the whole point of
having it in was so we could replace chromium's audio output.  But there
are too many obstacles in our path from doing that for now, so it's
better to not have this flag because it just causes a lot of browser
sources to initialize audio monitoring unnecessarily.  We can change
this in the future, but for now, it's best to let the user choose to
turn on audio monitoring for the source if they choose to turn on audio
rerouting to OBS.

Note that this only changes default behavior for newly created sources;
it will not change settings of existing sources the user had before this
change.
2019-10-11 23:42:35 -07:00
jp9000
80a1fee70f obs-browser: Only disable NetworkService on macOS
Apparently, using the old chromium network implementation changes the
way cookies are handled, causing cookies to reset.  So instead of doing
that, continue to use the new network implementation on Windows, and
only use the old network implementation on macOS for the time being.
2019-10-11 12:45:42 -07:00
Jim
29ca28418f
Merge pull request #2115 from jpark37/duplicator-ref-count
Fix duplicator ref count
2019-10-10 21:01:16 -07:00
jpark37
1ce61c57c0 win-capture: Fix extra duplicator refs
Make duplicator_capture_tick the sole creater, and reference adder of
IDXGIOutputDuplication objects. This prevents a situation where
duplicator_capture::showing cause be false while
duplicator_capture::duplicator was not null at startup on background
scenes, preventing IDXGIOutputDuplication from being recreated when
DXGI_ERROR_ACCESS_LOST.
2019-10-10 19:03:18 -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
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
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
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
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
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
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
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
e61984c2cf obs-browser: Fix panels not remembering last URL set 2019-09-15 13:17:45 -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
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