0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
Commit Graph

4789 Commits

Author SHA1 Message Date
sorayuki
be2dc31ad1 obs-qsv11: change re-enter locker implementation
Change re-enter lock from mutex to atomic variable.
2017-06-29 12:10:14 +08:00
jp9000
1e7e50114e UI: Fix lock/visibility sub-widget sizes on OSX 2017-06-28 15:19:36 -07:00
jp9000
0d84561dc4 UI: Make lock/unlock icons slightly smaller
Makes them a bit more equal in size to the eye icon in the main window.
2017-06-28 09:20:52 -07:00
jp9000
14e41dc0c1 UI: Make sure "Defaults" buttons aren't default buttons 2017-06-28 09:20:52 -07:00
Jim
aedb85f5d3 Merge pull request #946 from c3r1c3/EditorConfig
.editorconfig: Add file to speed up editor configuration
2017-06-27 22:21:24 -07:00
Shaolin
e5756a922a libobs/plugins/UI: Suppress unused variables warnings
Closes jp9000/obs-studio#937
2017-06-27 21:55:37 -07:00
adocilesloth
4c61ae9513 libobs: Add <> or \| on RT 102-key as hotkey
Closes jp9000/obs-studio#948
2017-06-27 21:35:52 -07:00
jp9000
8770453c09 libobs/util: Make minor optimization to circlebuf pops
If size is 0 after popping data from the front or back, set the
start/end points to 0 as well to ensure that any subsequent buffer
pushes start from the beginning of the buffer rather than the middle of
the buffer.  Reduces potential unnecessary operations in that case.

Additionally, this fixes a bug with circulebuf_pop_back where if start
position was 0, and all the data was popped off the buffer (equal to the
capacity), the end position would be equal to the original size.  As an
example to replicate the bug, push 5, pop 5, then push 10.  The
start/end points will be invalid.

Closes jp9000/obs-studio#954
2017-06-27 21:25:00 -07:00
Jim
27bb2f836d Merge pull request #899 from Palakis/preview-api
UI: Add functions and events for Studio Mode into the Frontend API
2017-06-27 19:39:53 -07:00
Jim
8f71a79640 Merge pull request #919 from craftwar/curl
CI: Download deps if they are outdated
2017-06-27 18:58:16 -07:00
notmark
43885111cd rtmp-services: Update servers for Vaughn Live/Breakers.tv
Removed LAX server, added new NYC server for Vaughn Live & Breakers.TV

Closes jp9000/obs-studio#933
2017-06-27 18:54:46 -07:00
mntone
a6938c11b0 UI, libobs: Add Japanese shortcut keys for Windows
Add Japanese shortcut keys, non-convert (無変換) and convert (変換) and
disable IME for OBSHotkeyEdit.

Closes jp9000/obs-studio#930
2017-06-27 18:14:48 -07:00
cg2121
fce078d997 UI, libobs: Add ability to lock individual scene items
Adds a lock checkbox to allow the user to lock a specific scene item.

Closes jp9000/obs-studio#949
2017-06-27 10:27:57 -07:00
jp9000
5c2328cca2 cmake: Add _CRT_NONSTDC_NO_WARNINGS def to all projects 2017-06-27 09:55:51 -07:00
cg2121
2d84da2f7e UI: Add "Defaults" button to filters/properties windows
This adds a "Defaults" button in the source and filter properties, which
will clear and reset all settings.

Closes jp9000/obs-studio#875
2017-06-26 17:44:34 -07:00
jp9000
9ab0f26214 libobs: Fix bug where obs_data default might not be set
If a source is created with settings, default values would not be set on
data items that already had values set.  The check here was supposed to
be a not equal rather than an equal because you're not supposed to be
able to set a default value of one type on an item that already exists
but is of a different type.

This bug would make it so that if a particular setting was removed,
there would be no default value to fall back on, and it would always be
0 or NULL for all values.

It's likely this bug wasn't encountered until now because before now
there had been no reason to clear or remove settings on most things.
2017-06-26 17:10:20 -07:00
cg2121
b8d907f399 UI: Add fullscreen UI option to view menu
(Edit by Jim: Removed "Fullscreen Preview" because that's already sort
of served by the normal fullscreen projector option via the preview
context menu)

Closes jp9000/obs-studio#846
2017-06-26 09:49:43 -07:00
cg2121
50103825c0 UI: Add fullscreen projector to systray menu
(Edit by Jim: Changed it to just add the fullscreen projector sub-menu
like when right-clicking the preview, that way it doesn't have to add
new locale text for translators, and allows the users to specify which
monitor to use)

Closes jp9000/obs-studio#845
2017-06-26 08:35:52 -07:00
Shaolin
14f734f631 deps/jansson: Update jansson to version 2.9
Closes jp9000/obs-studio#797
2017-06-26 07:28:59 -07:00
jp9000
5026d26b85 vlc-video: Fix integer conversion warning 2017-06-26 07:28:59 -07:00
Gol-D-Ace
6028b63487 rtmp-services: Rename beam.pro to Mixer.com 2017-06-26 16:15:03 +02:00
Jim
076d25bca9 Merge pull request #951 from chaturbatecom/addchaturbatesources
rtmp-services: Add Chaturbate Streaming Service
2017-06-26 07:03:23 -07:00
Richard Stanway
58e2e69f81
libobs-d3d11: Better error message for missing D3DCompiler 2017-06-25 22:27:59 +02:00
John Cheng
31c67d83a6 vlc-video: Add network caching property
Allows having a bit more buffering for network-based video to prevent
things such as artifacting.

Closes jp9000/obs-studio#786
2017-06-24 16:11:39 -07:00
jp9000
36394ab08d UI: Fix potential crash with unsupported video cards
If a video card is unsupported, it will attempt to initialize the stats
window, querying values from a video subsystem that doesn't exist, and
crash instead of alerting the user that their hardware is unsupported.
2017-06-24 09:14:46 -07:00
jp9000
aafe08db5c libobs-d3d11: Fix potential issue rebuilding shared texture
Sometimes when rebuilding a texture, it often has to fall back and
create a temporary texture, but it'll fail when trying to create a
shader resource for it.  The suspicion is because it's due to not having
the proper shader binding flag when creating that temporary texture, so
this fixes that possible loophole.
2017-06-24 05:44:32 -07:00
Chaturbate
807e21da07 rtmp-services: Add Chaturbate Streaming Service 2017-06-22 14:05:25 -07:00
jp9000
d295ad3ed3 obs-ffmpeg: Remove "Buffering (MS)" property
There's no need to display this property at the moment, the default
amount is more than sufficient for most cases.  That and most people
wouldn't know what to do with it anyway.
2017-06-22 00:58:45 -07:00
Jim
71e3cce377 Merge pull request #928 from Xaymar/feature-enc-amf
enc-amf: Version 2.1.6
2017-06-21 20:26:39 -07:00
Michael Fabian Dirks
e4e1145135 enc-amf: Version 2.1.6
This version fixes the code applying the streaming services settings, which would incorrectly always be applied due to left over obs_data_set_* lines. It also adds a safety check into SetIDRPeriod for H264 that fixes being able to set an IDR Period of 0 which is simply not supported (we would never be able to stop streaming or recording).
2017-06-21 19:31:53 +02:00
Richard Stanway
20cc8e6ab7
inject-helper: Set error mode to SEM_FAILCRITICALERRORS
This prevents spurious dialog boxes appearing, such as "No disk is in the
drive" if the application attempts to access an invalid drive.
2017-06-21 17:42:05 +02:00
Richard Stanway
8ad8e18d04
get-graphics-offsets: Set error mode to SEM_FAILCRITICALERRORS
This prevents spurious dialog boxes appearing, such as "No disk is in the
drive" if the application attempts to access an invalid drive.
2017-06-21 17:41:26 +02:00
Richard Stanway
cef0689a36
ffmpeg-mux: Set error mode to SEM_FAILCRITICALERRORS
This prevents spurious dialog boxes appearing, such as "No disk is in the
drive" if the application attempts to access an invalid drive.
2017-06-21 17:41:08 +02:00
Richard Stanway
ac90d863cb
UI: Set error mode to SEM_FAILCRITICALERRORS
This prevents spurious dialog boxes appearing, such as "No disk is in the
drive" if the application attempts to access an invalid drive.
2017-06-21 17:39:20 +02:00
jp9000
1b62287109 libobs: Update version to 19.0.3 2017-06-21 00:13:33 -07:00
jp9000
1d2def766f UI: Preserve source if audio settings device changed
If the user changes one of the devices in audio settings, it would reset
all of its data, including settings, filters, flags, and all that.  This
changes the handling so that the source and all of its other settings
are preserved if the user just changes the device.  (Note that if the
user disables the device, settings will be lost; this only applies to
when the user changes the device to a different device for whatever
reason)
2017-06-21 00:03:14 -07:00
jp9000
b775e579cb libobs-d3d11: Fix shader const array size miscalculation
When a shader constant was an array, the size of the array wouldn't be
factored in to the actual constant size and constant buffer size.
2017-06-20 18:20:15 -07:00
jp9000
bd9706c8ac UI: Use QT_TO_UTF8 with name dialog
Could potentially use the wrong locale otherwise.
2017-06-20 18:19:30 -07:00
jp9000
b787c796cd obs-ffmpeg: Do not precache if set to close when inactive
In the media source, do not pre-cache frames if the source is set to
close the file when inactive because that setting is designed to allow
the file to be replaced by the user.  If it's replaced, it can
unintentionally keep the old precache frame, playing the frame from the
older video when it starts up.
2017-06-19 22:58:01 -07:00
jp9000
603825ee39 win-capture: Use PROCESS_QUERY_INFORMATION for game capture
PROCESS_QUERY_LIMITED_INFORMATION might be a bit insufficient for what
we need to do.
2017-06-19 16:02:02 -07:00
jp9000
1ca9f8872e win-capture: Add IDXGISwapChain1::Present1 hook support
Allows capturing games/programs that may be using Present1 instead of
the regular Present call for rendering.
2017-06-19 15:45:00 -07:00
jp9000
96f746ce41 UI: Initialize Stats window values after OBSInit/reset
When the statistics window starts up for the first time, it reset values
at that very moment so that stray lagged frames due to OBS' startup
wouldn't be displayed.  However, that's really a bad place to reset
those values because the user could want to view the stats window after
a long stream, and having those values reset when he/she views the
window for the first time would sort of make the point of viewing your
stats moot.

Instead, reset the values only when applicable, such as after OBSInit or
when video is reset.
2017-06-19 15:38:13 -07:00
jp9000
bc30c39a03 UI: Ignore first 2.5 seconds of bandwidth test
System network buffers need to be given some time to fill before
starting a bandwidth test.  This prevents the buffers from skewing with
the results.
2017-06-15 20:00:01 -07:00
jp9000
c4036b18bb win-capture/graphics-hook: Fix D3D10/D3D11 detection
When hooking DXGI-based graphics programs in the hook, the first hook
point is IDXGISwapChain::Present.  To be able to initiate a capture, a
pointer to the device context that created the swap chain is required,
which can be retrieved via IDXGISwapChain::GetDevice.  Determining
whether the device context was D3D10 or D3D11 has always been somewhat
of an issue due to D3D10 and D3D11 being nearly identical, as well as
their interoperability/interchangeability.  The GetDevice function would
first be called with the UUID of ID3D10Device, then if that failed,
the UUID of ID3D11Device.

However, with certain specific D3D11 games, GetDevice would for some
unknown reason succeed with the UUID of ID3D10Device, which would cause
capture to fail.  (Conversely, attempting to call GetDevice with the
UUID of ID3D11Device on a device that's actually ID3D10Device would
always succeed, so reversing the order of the test was not an option).
There were originally three known D3D11 games that would erroneously
succeed when querying a D3D10 device interface:  Call of Duty: Ghosts,
Just Cause 3, and theHunter: Call of the Wild.  All other known D3D11
games would work correctly.  Because it was only these three games, a
hack was originally implemented in the form of an executable exception
list that would force them to capture D3D11.

Unfortunately, Oculus games are now failing under the same circumstance
as well, so a simple hack will no longer work.  To fix this, a more
reliable method of detecting which context it is had to be discovered:
simply check the feature level using ID3D11Device::GetFeatureLevel.  If
the feature level is D3D_FEATURE_LEVEL_11_0 or D3D_FEATURE_LEVEL_11_1,
the device is definitely a D3D11 device.  Otherwise, continue the tests
as they were before.  Successfully tested with many D3D10 games, many
D3D11 games, and especially those three D3D11 games that previously were
detected as D3D10 erroneously.
2017-06-15 03:48:43 -07:00
Cephas Reis
33fc279da8 .editorconfig: Add file to speed up editor configuration
VS2017 supports this natively.
VS2015 and earlier can use this with the editorconfig extension.
Most other popular IDEs support this natively or via a plug-in.

For more details please visit: http://editorconfig.org/
2017-06-14 21:35:09 -05:00
jp9000
054148a0af obs-ffmpeg: Don't preload media frames if set to pause on end
Preloading is designed to overwrite the current internal render texture
of the source so it'll be ready to play the first frame right when the
source is first displayed.

However, When the media source is set to pause on the last frame, it
keeps that current render texture visible, so preloading it with the
first frame will essentially overwrite the current render, causing it to
inadvertently show and pause on the first frame rather than the last
frame.  So instead, just disable preloading when the user has it set to
pause on the last frame.
2017-06-14 08:30:44 -07:00
jp9000
d5adfff978 deps/media-playback: Fix playback reset fail after stop
The recent changes in 88ae9af causes av_read_frame to check for
m->stopping, and fail with AVERROR_EXIT if true, which would happen
after each reset.  Moving mp_media_prepare_frames to a line after
m->stopping is reset to false fixes the issue.
2017-06-14 08:20:30 -07:00
jp9000
3f5920ae5d deps/media-playback: Fix AV_NOPTS_VALUE being used as timestamp
With certain media files (wmv in particular), the very last frame will
have a timestamp of AV_NOPTS_VALUE.  This could cause the media to stick
on that frame indefinitely.  Instead, use the estimated next timestamp
that was calculated in the previous frame.
2017-06-14 00:43:31 -07:00
jp9000
c1cf44fd91 deps/media-playback: Add timeout when waiting for frames
Media files that have a very low framerate or very long interval between
frames would cause the media playback to stall indefinitely until the
next frame is played.  This adds a 200ms timeout to ensure that the
media can be destroyed without being forced to wait indefinitely for the
next frame.
2017-06-14 00:39:10 -07:00
Richard Stanway
da9e247964
UI/updater: Fix incorrect path in portable mode 2017-06-12 16:45:16 +02:00